[Checkins] SVN: zope.wineggbuilder/trunk/ Moved to GitHub.
Stephen Richter
cvs-admin at zope.org
Tue Mar 5 14:43:10 UTC 2013
Log message for revision 130031:
Moved to GitHub.
Changed:
D zope.wineggbuilder/trunk/CHANGES.txt
D zope.wineggbuilder/trunk/COPYRIGHT.txt
D zope.wineggbuilder/trunk/LICENSE.txt
A zope.wineggbuilder/trunk/MOVED_TO_GITHUB
D zope.wineggbuilder/trunk/README.txt
D zope.wineggbuilder/trunk/TODO.txt
D zope.wineggbuilder/trunk/bootstrap.py
D zope.wineggbuilder/trunk/buildout.cfg
D zope.wineggbuilder/trunk/image.py
D zope.wineggbuilder/trunk/master.cfg
D zope.wineggbuilder/trunk/project-list.cfg
D zope.wineggbuilder/trunk/rackspace.ini
D zope.wineggbuilder/trunk/setup.py
D zope.wineggbuilder/trunk/src/
D zope.wineggbuilder/trunk/status_image_exception.png
D zope.wineggbuilder/trunk/status_image_failure.png
D zope.wineggbuilder/trunk/status_image_skipped.png
D zope.wineggbuilder/trunk/status_image_success.png
D zope.wineggbuilder/trunk/status_image_warnings.png
-=-
Deleted: zope.wineggbuilder/trunk/CHANGES.txt
===================================================================
--- zope.wineggbuilder/trunk/CHANGES.txt 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/CHANGES.txt 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,7 +0,0 @@
-CHANGES
-=======
-
-0.1.0 (unreleased)
-------------------
-
-- Initial release.
Deleted: zope.wineggbuilder/trunk/COPYRIGHT.txt
===================================================================
--- zope.wineggbuilder/trunk/COPYRIGHT.txt 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/COPYRIGHT.txt 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1 +0,0 @@
-Zope Foundation and Contributors
\ No newline at end of file
Deleted: zope.wineggbuilder/trunk/LICENSE.txt
===================================================================
--- zope.wineggbuilder/trunk/LICENSE.txt 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/LICENSE.txt 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,44 +0,0 @@
-Zope Public License (ZPL) Version 2.1
-
-A copyright notice accompanies this license document that identifies the
-copyright holders.
-
-This license has been certified as open source. It has also been designated as
-GPL compatible by the Free Software Foundation (FSF).
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions in source code must retain the accompanying copyright
-notice, this list of conditions, and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the accompanying copyright
-notice, this list of conditions, and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-3. Names of the copyright holders must not be used to endorse or promote
-products derived from this software without prior written permission from the
-copyright holders.
-
-4. The right to distribute this software or to use it for any purpose does not
-give you the right to use Servicemarks (sm) or Trademarks (tm) of the
-copyright
-holders. Use of them is covered by separate agreement with the copyright
-holders.
-
-5. If any files are modified, you must cause the modified files to carry
-prominent notices stating that you changed the files and the date of any
-change.
-
-Disclaimer
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED
-OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Added: zope.wineggbuilder/trunk/MOVED_TO_GITHUB
===================================================================
--- zope.wineggbuilder/trunk/MOVED_TO_GITHUB (rev 0)
+++ zope.wineggbuilder/trunk/MOVED_TO_GITHUB 2013-03-05 14:43:09 UTC (rev 130031)
@@ -0,0 +1 @@
+See https://github.com/zopefoundation/zope.wineggbuilder
\ No newline at end of file
Deleted: zope.wineggbuilder/trunk/README.txt
===================================================================
--- zope.wineggbuilder/trunk/README.txt 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/README.txt 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,4 +0,0 @@
-A set of tools for managing windows binary egg building.
-
-Detailed documentation at:
-http://docs.zope.org/zopetoolkit/process/winbotsetup.html
\ No newline at end of file
Deleted: zope.wineggbuilder/trunk/TODO.txt
===================================================================
--- zope.wineggbuilder/trunk/TODO.txt 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/TODO.txt 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,2 +0,0 @@
-TODOs:
-
Deleted: zope.wineggbuilder/trunk/bootstrap.py
===================================================================
--- zope.wineggbuilder/trunk/bootstrap.py 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/bootstrap.py 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,277 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2006 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Bootstrap a buildout-based project
-
-Simply run this script in a directory containing a buildout.cfg.
-The script accepts buildout command-line options, so you can
-use the -c option to specify an alternate configuration file.
-"""
-
-import os, shutil, sys, tempfile, urllib, urllib2, subprocess
-from optparse import OptionParser
-
-if sys.platform == 'win32':
- def quote(c):
- if ' ' in c:
- return '"%s"' % c # work around spawn lamosity on windows
- else:
- return c
-else:
- quote = str
-
-# See zc.buildout.easy_install._has_broken_dash_S for motivation and comments.
-stdout, stderr = subprocess.Popen(
- [sys.executable, '-Sc',
- 'try:\n'
- ' import ConfigParser\n'
- 'except ImportError:\n'
- ' print 1\n'
- 'else:\n'
- ' print 0\n'],
- stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
-has_broken_dash_S = bool(int(stdout.strip()))
-
-# In order to be more robust in the face of system Pythons, we want to
-# run without site-packages loaded. This is somewhat tricky, in
-# particular because Python 2.6's distutils imports site, so starting
-# with the -S flag is not sufficient. However, we'll start with that:
-if not has_broken_dash_S and 'site' in sys.modules:
- # We will restart with python -S.
- args = sys.argv[:]
- args[0:0] = [sys.executable, '-S']
- args = map(quote, args)
- os.execv(sys.executable, args)
-# Now we are running with -S. We'll get the clean sys.path, import site
-# because distutils will do it later, and then reset the path and clean
-# out any namespace packages from site-packages that might have been
-# loaded by .pth files.
-clean_path = sys.path[:]
-import site # imported because of its side effects
-sys.path[:] = clean_path
-for k, v in sys.modules.items():
- if k in ('setuptools', 'pkg_resources') or (
- hasattr(v, '__path__') and
- len(v.__path__) == 1 and
- not os.path.exists(os.path.join(v.__path__[0], '__init__.py'))):
- # This is a namespace package. Remove it.
- sys.modules.pop(k)
-
-is_jython = sys.platform.startswith('java')
-
-setuptools_source = 'http://peak.telecommunity.com/dist/ez_setup.py'
-distribute_source = 'http://python-distribute.org/distribute_setup.py'
-
-
-# parsing arguments
-def normalize_to_url(option, opt_str, value, parser):
- if value:
- if '://' not in value: # It doesn't smell like a URL.
- value = 'file://%s' % (
- urllib.pathname2url(
- os.path.abspath(os.path.expanduser(value))),)
- if opt_str == '--download-base' and not value.endswith('/'):
- # Download base needs a trailing slash to make the world happy.
- value += '/'
- else:
- value = None
- name = opt_str[2:].replace('-', '_')
- setattr(parser.values, name, value)
-
-usage = '''\
-[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options]
-
-Bootstraps a buildout-based project.
-
-Simply run this script in a directory containing a buildout.cfg, using the
-Python that you want bin/buildout to use.
-
-Note that by using --setup-source and --download-base to point to
-local resources, you can keep this script from going over the network.
-'''
-
-parser = OptionParser(usage=usage)
-parser.add_option("-v", "--version", dest="version",
- help="use a specific zc.buildout version")
-parser.add_option("-d", "--distribute",
- action="store_true", dest="use_distribute", default=False,
- help="Use Distribute rather than Setuptools.")
-parser.add_option("--setup-source", action="callback", dest="setup_source",
- callback=normalize_to_url, nargs=1, type="string",
- help=("Specify a URL or file location for the setup file. "
- "If you use Setuptools, this will default to " +
- setuptools_source + "; if you use Distribute, this "
- "will default to " + distribute_source + "."))
-parser.add_option("--download-base", action="callback", dest="download_base",
- callback=normalize_to_url, nargs=1, type="string",
- help=("Specify a URL or directory for downloading "
- "zc.buildout and either Setuptools or Distribute. "
- "Defaults to PyPI."))
-parser.add_option("--eggs",
- help=("Specify a directory for storing eggs. Defaults to "
- "a temporary directory that is deleted when the "
- "bootstrap script completes."))
-parser.add_option("-t", "--accept-buildout-test-releases",
- dest='accept_buildout_test_releases',
- action="store_true", default=False,
- help=("Normally, if you do not specify a --version, the "
- "bootstrap script and buildout gets the newest "
- "*final* versions of zc.buildout and its recipes and "
- "extensions for you. If you use this flag, "
- "bootstrap and buildout will get the newest releases "
- "even if they are alphas or betas."))
-parser.add_option("-c", None, action="store", dest="config_file",
- help=("Specify the path to the buildout configuration "
- "file to be used."))
-
-options, args = parser.parse_args()
-
-if options.eggs:
- eggs_dir = os.path.abspath(os.path.expanduser(options.eggs))
-else:
- eggs_dir = tempfile.mkdtemp()
-
-if options.setup_source is None:
- if options.use_distribute:
- options.setup_source = distribute_source
- else:
- options.setup_source = setuptools_source
-
-if options.accept_buildout_test_releases:
- args.insert(0, 'buildout:accept-buildout-test-releases=true')
-
-try:
- import pkg_resources
- import setuptools # A flag. Sometimes pkg_resources is installed alone.
- if not hasattr(pkg_resources, '_distribute'):
- raise ImportError
-except ImportError:
- ez_code = urllib2.urlopen(
- options.setup_source).read().replace('\r\n', '\n')
- ez = {}
- exec ez_code in ez
- setup_args = dict(to_dir=eggs_dir, download_delay=0)
- if options.download_base:
- setup_args['download_base'] = options.download_base
- if options.use_distribute:
- setup_args['no_fake'] = True
- if sys.version_info[:2] == (2, 4):
- setup_args['version'] = '0.6.32'
- ez['use_setuptools'](**setup_args)
- if 'pkg_resources' in sys.modules:
- reload(sys.modules['pkg_resources'])
- import pkg_resources
- # This does not (always?) update the default working set. We will
- # do it.
- for path in sys.path:
- if path not in pkg_resources.working_set.entries:
- pkg_resources.working_set.add_entry(path)
-
-cmd = [quote(sys.executable),
- '-c',
- quote('from setuptools.command.easy_install import main; main()'),
- '-mqNxd',
- quote(eggs_dir)]
-
-if not has_broken_dash_S:
- cmd.insert(1, '-S')
-
-find_links = options.download_base
-if not find_links:
- find_links = os.environ.get('bootstrap-testing-find-links')
-if not find_links and options.accept_buildout_test_releases:
- find_links = 'http://downloads.buildout.org/'
-if find_links:
- cmd.extend(['-f', quote(find_links)])
-
-if options.use_distribute:
- setup_requirement = 'distribute'
-else:
- setup_requirement = 'setuptools'
-ws = pkg_resources.working_set
-setup_requirement_path = ws.find(
- pkg_resources.Requirement.parse(setup_requirement)).location
-env = dict(
- os.environ,
- PYTHONPATH=setup_requirement_path)
-
-requirement = 'zc.buildout'
-version = options.version
-if version is None and not options.accept_buildout_test_releases:
- # Figure out the most recent final version of zc.buildout.
- import setuptools.package_index
- _final_parts = '*final-', '*final'
-
- def _final_version(parsed_version):
- for part in parsed_version:
- if (part[:1] == '*') and (part not in _final_parts):
- return False
- return True
- index = setuptools.package_index.PackageIndex(
- search_path=[setup_requirement_path])
- if find_links:
- index.add_find_links((find_links,))
- req = pkg_resources.Requirement.parse(requirement)
- if index.obtain(req) is not None:
- best = []
- bestv = None
- for dist in index[req.project_name]:
- distv = dist.parsed_version
- if distv >= pkg_resources.parse_version('2dev'):
- continue
- if _final_version(distv):
- if bestv is None or distv > bestv:
- best = [dist]
- bestv = distv
- elif distv == bestv:
- best.append(dist)
- if best:
- best.sort()
- version = best[-1].version
-
-if version:
- requirement += '=='+version
-else:
- requirement += '<2dev'
-
-cmd.append(requirement)
-
-if is_jython:
- import subprocess
- exitcode = subprocess.Popen(cmd, env=env).wait()
-else: # Windows prefers this, apparently; otherwise we would prefer subprocess
- exitcode = os.spawnle(*([os.P_WAIT, sys.executable] + cmd + [env]))
-if exitcode != 0:
- sys.stdout.flush()
- sys.stderr.flush()
- print ("An error occurred when trying to install zc.buildout. "
- "Look above this message for any errors that "
- "were output by easy_install.")
- sys.exit(exitcode)
-
-ws.add_entry(eggs_dir)
-ws.require(requirement)
-import zc.buildout.buildout
-
-# If there isn't already a command in the args, add bootstrap
-if not [a for a in args if '=' not in a]:
- args.append('bootstrap')
-
-
-# if -c was provided, we push it back into args for buildout's main function
-if options.config_file is not None:
- args[0:0] = ['-c', options.config_file]
-
-zc.buildout.buildout.main(args)
-if not options.eggs: # clean up temporary egg directory
- shutil.rmtree(eggs_dir)
Deleted: zope.wineggbuilder/trunk/buildout.cfg
===================================================================
--- zope.wineggbuilder/trunk/buildout.cfg 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/buildout.cfg 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,34 +0,0 @@
-[buildout]
-extends = http://download.zope.org/zope3.4/3.4.0/versions.cfg
-develop = .
-parts = scripts python test coverage-test coverage-report
-versions = versions
-
-[versions]
-setuptools = 0.6c11
-BeautifulSoup = 3.2.0
-zc.buildout = 1.3.1
-
-[test]
-recipe = zc.recipe.testrunner
-eggs = zope.wineggbuilder [test]
-
-[coverage-test]
-recipe = zc.recipe.testrunner
-eggs = zope.wineggbuilder [test]
-defaults = ['--coverage', '../../coverage']
-
-[coverage-report]
-recipe = zc.recipe.egg
-eggs = z3c.coverage
-scripts = coverage=coverage-report
-arguments = ('coverage', 'coverage/report')
-
-[python]
-recipe = zc.recipe.egg
-interpreter = python
-eggs = zope.wineggbuilder
-
-[scripts]
-recipe = zc.recipe.egg
-eggs = zope.wineggbuilder
Deleted: zope.wineggbuilder/trunk/image.py
===================================================================
--- zope.wineggbuilder/trunk/image.py 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/image.py 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,66 +0,0 @@
-# this is a snippet ready to be pasted into master.cfg
-# then you can get the image by:
-# http://localhost:8010/buildstatusimage?builder=runtests&number=-1
-
-import os
-from buildbot.status import html
-try:
- # buildbot 0.8.7p1
- from buildbot.status.results import SUCCESS, WARNINGS, FAILURE, SKIPPED, EXCEPTION
- from buildbot.status.results import Results
-except ImportError:
- # buildbot 0.8.0
- from buildbot.status.builder import SUCCESS, WARNINGS, FAILURE, EXCEPTION, RETRY
- from buildbot.status.builder import Results
-from buildbot.status.web.base import HtmlResource
-
-class BuildStatusImageResource(HtmlResource):
- contentType = "image/png"
-
- def __init__(self, categories=None):
- HtmlResource.__init__(self)
-
- def content(self, request, ctx):
- """Display a build status image like Travis does."""
-
- status = self.getStatus(request)
- request.setHeader('Cache-Control', 'no-cache')
-
- # Get the parameters.
- name = request.args.get("builder", [None])[0]
- number = request.args.get("number", [None])[0]
- if not name or not number:
- return "builder and number parameter missing"
- number = int(number)
-
- # Check if the builder in parameter exists.
- try:
- builder = status.getBuilder(name)
- except:
- return "unknown builder"
-
- # Check if the build in parameter exists.
- build = builder.getBuild(int(number))
- if not build:
- return "unknown build %s" % number
-
- #SUCCESS, WARNINGS, FAILURE, SKIPPED or EXCEPTION
- res = build.getResults()
- resname = Results[res]
-
- img = 'status_image_%s.png' % resname
- here = os.path.dirname(__file__)
- imgfile = os.path.join(here, img)
-
- imgcontent = open(imgfile, 'rb').read()
-
- return imgcontent
-
-class WebStatus(html.WebStatus):
- def setupUsualPages(self, numbuilds, num_events, num_events_max):
- html.WebStatus.setupUsualPages(self, numbuilds, num_events, num_events_max)
- self.putChild("buildstatusimage", BuildStatusImageResource())
-
-
-# and use the WebStatus defined above instead of buildbot's
-#c['status'].append(WebStatus(http_port=8010))
Deleted: zope.wineggbuilder/trunk/master.cfg
===================================================================
--- zope.wineggbuilder/trunk/master.cfg 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/master.cfg 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,1371 +0,0 @@
-# -*- python -*-
-# ex: set syntax=python:
-
-import re
-import time
-import sys
-import os.path
-import subprocess
-from twisted.python import log
-from twisted.internet import reactor
-
-from buildbot import locks
-
-from buildbot.changes.svnpoller import SVNPoller, split_file_branches
-from buildbot.steps import source
-from buildbot.steps import shell
-from buildbot.process import factory
-
-from buildbot.process.base import Build
-from buildbot.status import html
-from buildbot.scheduler import Scheduler, Nightly, Triggerable, Periodic
-from buildbot.steps.trigger import Trigger
-
-import image
-
-is_win32 = sys.platform == 'win32'
-
-# This is a sample buildmaster config file. It must be installed as
-# 'master.cfg' in your buildmaster's base directory (although the filename
-# can be changed with the --basedir option to 'mktap buildbot master').
-
-# It has one job: define a dictionary named BuildmasterConfig. This
-# dictionary has a variety of keys to control different aspects of the
-# buildmaster. They are documented in docs/config.xhtml .
-
-
-# This is the dictionary that the buildmaster pays attention to. We also use
-# a shorter alias to save typing.
-c = BuildmasterConfig = {}
-
-####### DB URL
-
-# This specifies what database buildbot uses to store change and scheduler
-# state
-c['db_url'] = "sqlite:///state.sqlite"
-
-####### BUILDSLAVES
-
-# the 'slaves' list defines the set of allowable buildslaves. Each element is
-# a BuildSlave object, which is created with bot-name, bot-password. These
-# correspond to values given to the buildslave's mktap invocation.
-from buildbot.buildslave import BuildSlave
-c['slaves'] = [BuildSlave("local", "localpwd", max_builds=2)]
-
-# to limit to two concurrent builds on a slave, use
-# c['slaves'] = [BuildSlave("bot1name", "bot1passwd", max_builds=2)]
-
-FROMADDR = 'buildbot at winbot.zope.org'
-
-######################################
-# Custom helper classes
-
-class SVN(source.SVN):
-
- show_revno = False # the LastChange step does it better
-
- def createSummary(self, log):
- log_text = log.getText()
- if self.show_revno:
- revno = self.extractRevno(log_text)
- if revno:
- self.descriptionDone = self.descriptionDone + ['r%s' % revno]
-
- def extractRevno(self, log_text):
- try:
- start_idx = log_text.rindex('At revision')
- end_idx = log_text.find('\n', start_idx)
- except ValueError:
- return None
- line = log_text[start_idx:end_idx]
- try:
- return re.findall('([0-9]+)', line)[0]
- except IndexError:
- return None
-
-
-class Git(source.Git):
- show_revno = False # the LastChange step does it better
-
-
-class Mercurial(source.Mercurial):
- pass
- #show_revno = False # the LastChange step does it better
-
-
-class LastChange(shell.ShellCommand):
-
- command = ['svn', 'log', '--limit', '1']
- name = 'svn-last-change'
- description = ['svn log --limit 1']
- descriptionDone = ['last change']
-
- # xxx hardcoded
- url_template = 'http://zope3.pov.lt/trac/log/zope.release?rev=%s'
-
- def createSummary(self, log):
- log_text = log.getText()
- revno = self.extractRevno(log_text)
- if revno:
- text = self.formatRevno(revno)
- self.descriptionDone = self.descriptionDone + [text]
-
- def formatRevno(self, revno):
- text = 'r%s' % revno
- if self.url_template:
- url = self.url_template % revno
- text = '<a class="revlink" href="%s">%s</a>' % (url, text)
- return text
-
- def extractRevno(self, log_text):
- for line in log_text.splitlines():
- if line.startswith('r'):
- return line.split()[0][1:]
- return None
-
-
-class LastChangeGit(shell.ShellCommand):
-
- command = ['git', 'log', '-1']
- name = 'git-last-change'
- description = ['git log -1']
- descriptionDone = ['last change']
-
- # xxx hardcoded
- url_template = 'https://github.com/buildout/buildout/commit/%s'
-
- def createSummary(self, log):
- log_text = log.getText()
- revno = self.extractRevno(log_text)
- if revno:
- text = self.formatRevno(revno)
- self.descriptionDone = self.descriptionDone + [text]
-
- def formatRevno(self, revno):
- text = revno
- if self.url_template:
- url = self.url_template % revno
- text = '<a class="revlink" href="%s">%s</a>' % (url, text)
- return text
-
- def extractRevno(self, log_text):
- for line in log_text.splitlines():
- if line.startswith('commit '):
- return line.split()[1]
- return None
-
-
-class SVNInfo(shell.ShellCommand):
-
- command = ['svn', 'info']
- name = 'svn-info'
- description = ['svn info']
- descriptionDone = ['svn info']
-
-
-class Test(shell.Test):
-
- started = None
- stopped = None
-
- tick_every = 10 # seconds
-
- def __init__(self, *args, **kw):
- shell.Test.__init__(self, *args, **kw)
- if 'name' in args:
- self.name = args['name']
-
- def start(self):
- shell.Test.start(self)
- self.started = time.time()
- reactor.callLater(self.tick_every, self.tick)
-
- def finished(self, results):
- if not self.stopped:
- self.stopped = time.time()
- shell.Test.finished(self, results)
-
- def tick(self):
- if not self.stopped:
- self.step_status.setText(self.describe(False))
- reactor.callLater(self.tick_every, self.tick)
-
- def describe(self, done=False):
- description = [self.name]
- if not done and self.started:
- running = time.time() - self.started
- description = [self.name, self.formatTime(running)]
- return description
-
- def createSummary(self, log):
- if not self.started:
- # just in case something async happens
- self.started = time.time()
- self.stopped = time.time()
- log_text = log.getText()
- totals = self.extractTotals(log_text)
- if totals:
- self.descriptionDone = self.descriptionDone + [totals]
- # the test runner lies about the time
- ## time_info = self.extractTime(log_text)
- time_info = self.formatTime(self.stopped - self.started)
- if time_info:
- self.descriptionDone = self.descriptionDone + [time_info]
- summary = self.extractSummary(log_text)
- if summary:
- self.addCompleteLog('summary', summary)
-
- def formatTime(self, seconds):
- return '%dm%02ds' % divmod(seconds, 60)
-
- def extractTotalsLine(self, log_text):
- try:
- start_idx = log_text.rindex('Total:')
- end_idx = log_text.find('\n', start_idx)
- except ValueError:
- return None
- return log_text[start_idx:end_idx]
-
- def extractTotals(self, log_text):
- totals_line = self.extractTotalsLine(log_text)
- if not totals_line:
- return None
- # Total: X tests, X failures, X errors in X minutes X.Y seconds.
- ntests, nfail, nerr = re.findall('([0-9.]+)', totals_line)[:3]
- return '%s/%s/%s' % (ntests, nfail, nerr)
-
- def extractTime(self, log_text):
- totals_line = self.extractTotalsLine(log_text)
- if not totals_line:
- return None
- # Total: X tests, X failures, X errors in [X minutes] X.Y seconds.
- time = totals_line.split(' in ')[-1]
- time = time.replace(' minutes ', 'm')
- time = time.replace(' seconds.', 's')
- time = re.sub('[.][0-9]+s', 's', time)
- return time
-
- def extractSummary(self, log_text):
- summary_idx = len(log_text)
- for interesting in ['Tests with errors:',
- 'Tests with failures:',
- 'Total:']:
- try:
- summary_idx = min(summary_idx,
- log_text.rindex('Tests with errors:'))
- except ValueError:
- pass
- return log_text[summary_idx:]
-
-# Custom helper classes
-######################################
-
-######################################
-# cleanup
-
-def makeCleanfactory():
-
- f = factory.BuildFactory()
-
- f.addStep(shell.ShellCommand(
- command=r'python c:\buildmaster\cleanfolder.py c:\temp',
- haltOnFailure=True,
- name="clean temp",
- description="clean temp"))
-
- f.treeStableTimer = 300
- return f
-
-def setupCleanupBuild(slow_lock, hour=01, minute=01):
- c['builders'].append({
- 'name': 'cleanup',
- 'slavename': 'local',
- 'builddir': 'cleanup',
- 'factory': makeCleanfactory(),
- 'locks': [slow_lock],
- })
-
- c['schedulers'].append(Nightly(
- "Nightly cleanup", ['cleanup'], hour=hour, minute=minute,
- branch="trunk"))
-
-# cleanup
-######################################
-
-######################################
-# egg building
-
-def makeEGGfactory():
- svn_url = 'svn://svn.zope.org/repos/main/zope.wineggbuilder/trunk'
-
- f = factory.BuildFactory()
- f.addStep(source.SVN(svnurl=svn_url, mode='clobber'))
-
-
- f.addStep(shell.Compile(name='bootstrap',
- command='python bootstrap.py',
- description=['bootstrapping'],
- descriptionDone=['bootstrap']))
-
- f.addStep(shell.Compile(name="buildout",
- command="bin\\buildout.exe",
- description=['buildout'],
- descriptionDone=['buildout']))
-
- f.addStep(shell.Compile(name="release eggs",
- command="bin\\build.exe -s rackspace.ini",
- description=['releasing eggs'],
- descriptionDone=['release eggs'],
- timeout=12000))
-
- f.treeStableTimer = 300
- return f
-
-def setupEggBuild(slow_lock):
- c['builders'].append({
- 'name': 'wineggbuilder',
- 'slavename': 'local',
- 'builddir': 'wineggbuilder',
- 'factory': makeEGGfactory(),
- 'locks': [slow_lock],
- })
-
- #c['schedulers'].append(Nightly(
- # "Nightly egg build", ['wineggbuilder'], hour=01, minute=10,
- # branch="trunk"))
-
- c['schedulers'].append(Periodic(
- "Periodic egg build", ['wineggbuilder'], periodicBuildTimer=1800,
- branch="trunk"))
-
-# egg building
-######################################
-
-
-######################################
-# platform definitions
-class Platform(object):
- python = ''
- name = ''
- title = ''
- withcompiler = ''
-
- def __init__(self, **kw):
- for k, v in kw.items():
- setattr(self, k, v)
-
- self.bits = int(self.name[-2:])
- self.majorVersion = self.title[7:10]
-
-PLATFORMS = dict(
- py_244_win32=Platform(
- name='py_244_win32',
- title='Python 2.4.4 win32',
- python=r'c:\Python24_32\python.exe',
- withcompiler=r'cmd /c c:\Python24_32\setupcompilerandexecute.bat %s'),
- py_254_win32=Platform(
- name='py_254_win32',
- title='Python 2.5.4 win32',
- python=r'c:\Python25_32\python.exe',
- withcompiler=r'cmd /c c:\Python25_32\setupcompilerandexecute.bat %s'),
- py_265_win32=Platform(
- name='py_265_win32',
- title='Python 2.6.5 win32',
- python=r'c:\Python26_32\python.exe',
- withcompiler=r'cmd /c c:\Python26_32\setupcompilerandexecute.bat %s'),
- py_265_win64=Platform(
- name='py_265_win64',
- title='Python 2.6.5 win64',
- python=r'c:\Python26_64\python.exe',
- withcompiler=r'cmd /c c:\Python26_64\setupcompilerandexecute.bat %s'),
- py_270_win32=Platform(
- name='py_270_win32',
- title='Python 2.7.0 win32',
- python=r'c:\Python27_32\python.exe',
- withcompiler=r'cmd /c c:\Python27_32\setupcompilerandexecute.bat %s'),
- py_270_win64=Platform(
- name='py_270_win64',
- title='Python 2.7.0 win64',
- python=r'c:\Python27_64\python.exe',
- withcompiler=r'cmd /c c:\Python27_64\setupcompilerandexecute.bat %s'),
-)
-
-PLATFORMS_3 = dict(
- py_323_win32=Platform(
- name='py_323_win32',
- title='Python 3.2.3 win32',
- python=r'c:\Python32_32\python.exe',
- withcompiler=r'cmd /c c:\Python32_32\setupcompilerandexecute.bat %s'),
- py_323_win64=Platform(
- name='py_323_win64',
- title='Python 3.2.3 win64',
- python=r'c:\Python32_64\python.exe',
- withcompiler=r'cmd /c c:\Python32_64\setupcompilerandexecute.bat %s'),
- py_330_win32=Platform(
- name='py_330_win32',
- title='Python 3.3.0 win32',
- python=r'c:\Python33_32\python.exe',
- withcompiler=r'cmd /c c:\Python33_32\setupcompilerandexecute.bat %s'),
- py_330_win64=Platform(
- name='py_330_win64',
- title='Python 3.3.0 win64',
- python=r'c:\Python33_64\python.exe',
- withcompiler=r'cmd /c c:\Python33_64\setupcompilerandexecute.bat %s'),
-)
-
-CLEAN_PLATFORMS = dict(
- py_244_win32=Platform(
- name='py_244_win32',
- title='Python 2.4.4 win32',
- python=r'c:\Python24_32_clean\python.exe',
- withcompiler=r'cmd /c c:\Python24_32_clean\setupcompilerandexecute.bat %s'),
- py_254_win32=Platform(
- name='py_254_win32',
- title='Python 2.5.4 win32',
- python=r'c:\Python25_32_clean\python.exe',
- withcompiler=r'cmd /c c:\Python25_32_clean\setupcompilerandexecute.bat %s'),
- py_265_win32=Platform(
- name='py_265_win32',
- title='Python 2.6.5 win32',
- python=r'c:\Python26_32_clean\python.exe',
- withcompiler=r'cmd /c c:\Python26_32_clean\setupcompilerandexecute.bat %s'),
- py_265_win64=Platform(
- name='py_265_win64',
- title='Python 2.6.5 win64',
- python=r'c:\Python26_64_clean\python.exe',
- withcompiler=r'cmd /c c:\Python26_64_clean\setupcompilerandexecute.bat %s'),
- py_270_win32=Platform(
- name='py_270_win32',
- title='Python 2.7.0 win32',
- python=r'c:\Python27_32_clean\python.exe',
- withcompiler=r'cmd /c c:\Python27_32_clean\setupcompilerandexecute.bat %s'),
- py_270_win64=Platform(
- name='py_270_win64',
- title='Python 2.7.0 win64',
- python=r'c:\Python27_64_clean\python.exe',
- withcompiler=r'cmd /c c:\Python27_64_clean\setupcompilerandexecute.bat %s'),
-)
-
-CLEAN_PLATFORMS_3 = dict(
- py_323_win32=Platform(
- name='py_323_win32',
- title='Python 3.2.3 win32',
- python=r'c:\Python32_32_clean\python.exe',
- withcompiler=r'cmd /c c:\Python32_32_clean\setupcompilerandexecute.bat %s'),
- py_323_win64=Platform(
- name='py_323_win64',
- title='Python 3.2.3 win64',
- python=r'c:\Python32_64_clean\python.exe',
- withcompiler=r'cmd /c c:\Python32_64_clean\setupcompilerandexecute.bat %s'),
- py_330_win32=Platform(
- name='py_330_win32',
- title='Python 3.3.0 win32',
- python=r'c:\Python33_33_clean\python.exe',
- withcompiler=r'cmd /c c:\Python33_33_clean\setupcompilerandexecute.bat %s'),
- py_330_win64=Platform(
- name='py_330_win64',
- title='Python 3.3.0 win64',
- python=r'c:\Python33_64_clean\python.exe',
- withcompiler=r'cmd /c c:\Python33_64_clean\setupcompilerandexecute.bat %s'),
-)
-
-# platform definitions
-######################################
-
-######################################
-# ZTK dev/trunk tests
-
-ZTK_DEV_PLATFORMS = PLATFORMS.copy()
-
-del ZTK_DEV_PLATFORMS['py_244_win32']
-del ZTK_DEV_PLATFORMS['py_254_win32']
-del ZTK_DEV_PLATFORMS['py_265_win32']
-del ZTK_DEV_PLATFORMS['py_265_win64']
-del ZTK_DEV_PLATFORMS['py_270_win32']
-del ZTK_DEV_PLATFORMS['py_270_win64']
-
-
-def ztk_dev_builder(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(SVN(
- svnurl="svn://svn.zope.org/repos/main/zopetoolkit/trunk",
- haltOnFailure=True,
- mode="copy"))
-
- lc = LastChange()
- lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
- f.addStep(lc)
-
- f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
- f.addStep(shell.ShellCommand(
- command=[platform.python, "bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=["sed", "-i", "s/svn+ssh/svn/", "ztk.cfg"],
- haltOnFailure=True,
- name="disable ssh for svn",
- description="disable ssh for svn"))
- f.addStep(shell.ShellCommand(
- command=platform.withcompiler % r"bin\buildout.exe -c development.cfg",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(shell.ShellCommand(
- command=["svn", "revert", "ztk.cfg"],
- haltOnFailure=True,
- name="revert ztk.cfg",
- description="revert ztk.cfg"))
- f.addStep(Test(
- command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test ztk",
- description="test ztk trunks"))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def setupZTK_dev_tests(slow_lock, hour=02, minute=01):
- #hour = 02
- #minute = 01
- builders = []
- for pname in sorted(ZTK_DEV_PLATFORMS.keys()):
- platform = ZTK_DEV_PLATFORMS[pname]
- name = "ztk_dev %s" % platform.name
- builders.append(name)
- c['builders'].append(
- ztk_dev_builder(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-# ZTK tests
-######################################
-
-######################################
-# ZTK 1.0 tests
-
-ZTK_10_PLATFORMS = PLATFORMS.copy()
-del ZTK_10_PLATFORMS['py_244_win32']
-del ZTK_10_PLATFORMS['py_270_win32']
-del ZTK_10_PLATFORMS['py_270_win64']
-
-def ztk_10_builder(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(SVN(
- svnurl="svn://svn.zope.org/repos/main/zopetoolkit/branches/1.0",
- haltOnFailure=True,
- mode="copy"))
-
- lc = LastChange()
- lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
- f.addStep(lc)
-
- f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
- f.addStep(shell.ShellCommand(
- command=[platform.python, "bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test ztk",
- description="test ztk trunks",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test-zopeapp.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test zopeapp trunks",
- description="test zopeapp",
- timeout=3600))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-def setupZTK_10_tests(slow_lock, hour=02, minute=10):
- #hour = 02
- #minute = 10
- builders = []
- for pname in sorted(ZTK_10_PLATFORMS.keys()):
- platform = ZTK_10_PLATFORMS[pname]
- name = "ztk_10 %s" % platform.name
- builders.append(name)
- c['builders'].append(
- ztk_10_builder(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
-# ZTK 1.0 tests
-######################################
-
-######################################
-# ZTK 1.1 tests
-
-ZTK_11_PLATFORMS = PLATFORMS.copy()
-del ZTK_11_PLATFORMS['py_244_win32']
-
-def ztk_11_builder(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(SVN(
- svnurl="svn://svn.zope.org/repos/main/zopetoolkit/branches/1.1",
- haltOnFailure=True,
- mode="copy"))
-
- lc = LastChange()
- lc.url_template = 'http://zope3.pov.lt/trac/log/zopetoolkit?rev=%s'
- f.addStep(lc)
-
- f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
- f.addStep(shell.ShellCommand(
- command=[platform.python, "bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test-ztk.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test ztk",
- description="test ztk trunks",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test-zopeapp.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test zopeapp trunks",
- description="test zopeapp",
- timeout=3600))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-def setupZTK_11_tests(slow_lock, hour=02, minute=10):
- #hour = 02
- #minute = 10
- builders = []
- for pname in sorted(ZTK_11_PLATFORMS.keys()):
- platform = ZTK_11_PLATFORMS[pname]
- name = "ztk_11 %s" % platform.name
- builders.append(name)
- c['builders'].append(
- ztk_11_builder(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
-# ZTK 1.1 tests
-######################################
-
-######################################
-# zc.buildout
-
-ZC_BUILDOUT_PLATFORMS = CLEAN_PLATFORMS.copy()
-del ZC_BUILDOUT_PLATFORMS['py_244_win32']
-del ZC_BUILDOUT_PLATFORMS['py_254_win32']
-ZC_BUILDOUT_PLATFORMS.update(CLEAN_PLATFORMS_3)
-
-ZC_BUILDOUT_PLATFORMS_1 = CLEAN_PLATFORMS.copy()
-del ZC_BUILDOUT_PLATFORMS_1['py_244_win32']
-
-
-def zc_buildout_dev_builder(name, slavename, platform, locks, branch='HEAD'):
- # XXX: leave spaces later
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(Git(
- repourl="git://github.com/buildout/buildout.git",
- haltOnFailure=True,
- mode="copy",
- branch=branch))
-
- lc = LastChangeGit()
- #lc.url_template = 'http://zope3.pov.lt/trac/log/zc.buildout?rev=%s'
- f.addStep(lc)
-
- #f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
-
- #actually bootstrap and buildout in one step
- cmd = platform.python + " dev.py"
- f.addStep(shell.ShellCommand(
- command=cmd,
- haltOnFailure=True,
- name="dev.py",
- description="dev.py"))
-
- cmd = r"bin\test.exe --exit-with-status -1"
- cmd = platform.withcompiler % cmd
- f.addStep(Test(
- #command=[r"bin\test.exe", "--exit-with-status", "-1"],
- command=cmd,
- haltOnFailure=False,
- name="test",
- description="test " + branch))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def setup_zc_buildout_dev_tests(slow_lock, hour=02, minute=20, branch='HEAD',
- platforms=ZC_BUILDOUT_PLATFORMS):
- #hour = 02
- #minute = 20
- builders = []
- for pname in sorted(platforms.keys()):
- platform = platforms[pname]
- name = "zc_buildout_dev %s %s" % (platform.name, branch)
- builders.append(name)
- c['builders'].append(
- zc_buildout_dev_builder(name, 'local', platform, [slow_lock], branch))
-
- c['schedulers'].append(
- Nightly("%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="failing",
- fromaddr=FROMADDR,
- extraRecipients=["agroszer at gmail.com"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
- #c['status'].append(
- # MailNotifier(mode="all",
- # fromaddr=FROMADDR,
- # extraRecipients=["zope-tests at zope.org"],
- # sendToInterestedUsers=False,
- # builders=builders,
- # messageFormatter=message_formatter)
- # )
-
-
-# zc.buildout
-######################################
-
-######################################
-# distribute
-
-DISTRIBUTE_PLATFORMS = CLEAN_PLATFORMS.copy()
-DISTRIBUTE_PLATFORMS.update(CLEAN_PLATFORMS_3)
-
-
-def distribute_dev_builder(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(Mercurial(
- repourl="https://bitbucket.org/tarek/distribute",
- haltOnFailure=True,
- mode="copy"))
-
- # XXX: LastChangeMercurial ???
- #lc = LastChangeGit()
- #f.addStep(lc)
-
- cmd = platform.python + " setup.py test"
- cmd = platform.withcompiler % cmd
- f.addStep(Test(
- #command=[r"bin\test.exe", "--exit-with-status", "-1"],
- command=cmd,
- haltOnFailure=False,
- name="test",
- description="test"))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def setup_distribute_dev_tests(slow_lock, hour=02, minute=20,
- platforms=DISTRIBUTE_PLATFORMS):
- #hour = 02
- #minute = 20
- builders = []
- for pname in sorted(platforms.keys()):
- platform = platforms[pname]
- name = "distribute_dev %s" % (platform.name, )
- builders.append(name)
- c['builders'].append(
- distribute_dev_builder(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly("%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["agroszer at gmail.com"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
-
-# distribute
-######################################
-
-######################################
-# BlueBream
-
-def bb_builder(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(SVN(
- svnurl="svn://svn.zope.org/repos/main/bluebream/trunk",
- haltOnFailure=True,
- mode="copy"))
-
- lc = LastChange()
- lc.url_template = 'http://zope3.pov.lt/trac/log/bluebream?rev=%s'
- f.addStep(lc)
-
- f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
-
- f.addStep(shell.ShellCommand(
- command=[platform.python, r"bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test.exe", "-1", "--exit-with-status"]))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def setup_BB_dev_tests(slow_lock, hour=02, minute=30):
- #hour = 02
- #minute = 30
- builders = []
- for pname in sorted(PLATFORMS.keys()):
- platform = PLATFORMS[pname]
- name = "BlueBream_dev %s" % platform.name
- c['builders'].append(
- bb_builder(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
-# BlueBream
-######################################
-
-
-######################################
-# ZODB
-
-ZODB_DEV_PLATFORMS = PLATFORMS.copy()
-if 'py_244_win32' in ZODB_DEV_PLATFORMS:
- del ZODB_DEV_PLATFORMS['py_244_win32']
-if 'py_254_win32' in ZODB_DEV_PLATFORMS:
- del ZODB_DEV_PLATFORMS['py_254_win32']
-
-
-def ZODB_dev_builder_svn(name, slavename, platform, locks):
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(SVN(
- svnurl="svn://svn.zope.org/repos/main/ZODB/trunk",
- haltOnFailure=True,
- mode="copy"))
-
- lc = LastChange()
- lc.url_template = 'http://zope3.pov.lt/trac/log/ZODB?rev=%s'
- f.addStep(lc)
-
- f.addStep(SVNInfo())
-
- #f.addStep(shell.ShellCommand(
- # command=["/usr/bin/virtualenv", "--distribute", "-p", python, "--no-site-packages", "sandbox"],
- # haltOnFailure=True,
- # name="virtualenv",
- # description="virtualenv"))
- f.addStep(shell.ShellCommand(
- command=[platform.python, r"c:\buildmaster\bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=platform.withcompiler % r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test",
- description="test trunk"))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def ZODB_dev_builder_git(name, slavename, platform, locks):
- branch = 'HEAD'
- builddir = name.replace(' ', '_')
- f = factory.BuildFactory()
- f.addStep(Git(
- repourl="git://github.com/zopefoundation/ZODB.git",
- haltOnFailure=True,
- mode="copy",
- branch=branch))
-
- lc = LastChangeGit()
- #lc.url_template = 'http://zope3.pov.lt/trac/log/zc.buildout?rev=%s'
- f.addStep(lc)
-
- f.addStep(shell.ShellCommand(
- command=[platform.python, r"c:\buildmaster\bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
- f.addStep(shell.ShellCommand(
- command=platform.withcompiler % r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
- f.addStep(Test(
- command=[r"bin\test.exe", "--exit-with-status", "-1"],
- haltOnFailure=False,
- name="test",
- description="test trunk"))
- return dict(name=name,
- slavename=slavename,
- builddir=builddir,
- factory=f,
- locks=locks)
-
-
-def setup_ZODB_dev_tests(slow_lock, hour=02, minute=40):
- #hour = 02
- #minute = 40
- builders = []
- for pname in sorted(ZODB_DEV_PLATFORMS.keys()):
- platform = ZODB_DEV_PLATFORMS[pname]
- name = "ZODB_dev %s" % platform.name
- builders.append(name)
- c['builders'].append(
- ZODB_dev_builder_git(name, 'local', platform, [slow_lock]))
-
- c['schedulers'].append(
- Nightly( "%s_nightly" % name, [name], hour=hour, minute=minute))
- minute += 1
-
- c['status'].append(
- MailNotifier(mode="failing",
- fromaddr=FROMADDR,
- extraRecipients=["jim at zope.com", "agroszer at gmail.com"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
- c['status'].append(
- MailNotifier(mode="all",
- fromaddr=FROMADDR,
- extraRecipients=["zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=builders,
- messageFormatter=message_formatter)
- )
-
-# ZODB
-######################################
-
-######################################
-# mail status
-from buildbot.status.html import WebStatus
-from buildbot.status.mail import MailNotifier
-from buildbot.status.builder import Results
-
-
-def message_formatter(mode, name, build, results, master_status):
- """Provide a customized message to BuildBot's MailNotifier.
- The last 80 lines of the log are provided as well as the changes
- relevant to the build.
- """
- result = Results[results]
-
- limit_lines = 80
- text = list()
-
- # status required by zope-tests list
- # http://docs.zope.org/zopetoolkit/process/buildbots.html
- status = 'UNKNOWN'
- if result == 'success':
- status = 'OK'
- if result == 'failure':
- status = 'FAILED'
-
- #subject = '%s : %s / %s' % (status, master_status.getProjectName(), name)
- subject = '%s : %s / %s' % (status, "winbot", name)
- text.append(subject)
- text.append("Build: %s" % master_status.getURLForThing(build))
- text.append('\n')
- text.append("Build Reason: %s" % build.getReason())
- text.append('\n')
-
- source = ""
- ss = build.getSourceStamp()
- if ss.branch:
- source += "[branch %s] " % ss.branch
- if ss.revision:
- source += ss.revision
- else:
- source += "HEAD"
- if ss.patch:
- source += " (plus patch)"
- text.append("Build Source Stamp: %s" % source)
- text.append('\n')
- text.append("Blamelist: %s" % ", ".join(build.getResponsibleUsers()))
- text.append('\n')
- text.append("Buildbot: %s" % master_status.getBuildbotURL())
- return {
- 'body': "\n".join(text),
- 'type': 'plain',
- 'subject': subject,
- }
-
-# mail status
-######################################
-
-######################################
-# stuff taken from gocept.bsquare
-# but heavily modified now
-
-def bsquare_split_file(path):
- pieces = path.split("/")
- if len(pieces) < 2:
- return None
- project, branch = pieces[0], pieces[1]
- if branch != "trunk":
- return None
- return ("%s/%s" % (project, branch), "/".join(pieces[2:]))
-
-
-def bsquare_make_factory_svn(svn_url, platform):
- f = factory.BuildFactory()
- f.addStep(SVN(baseURL=svn_url, mode='copy'))
-
- f.addStep(shell.ShellCommand(
- command=[platform.python, r"c:\buildmaster\bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
-
- f.addStep(shell.ShellCommand(
- command=platform.withcompiler % r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
-
- f.addStep(Test(name="test",
- command="bin\\test.exe --exit-with-status -1",
- description=['testing'],
- descriptionDone=['tests']))
-
- f.treeStableTimer = 300
- return f
-
-
-def bsquare_make_factory_git(git_url, platform):
- f = factory.BuildFactory()
- f.addStep(Git(
- repourl=git_url,
- haltOnFailure=True,
- mode="copy"))
-
- f.addStep(shell.ShellCommand(
- command=[platform.python, r"c:\buildmaster\bootstrap.py"],
- haltOnFailure=True,
- name="bootstrap",
- description="bootstrap"))
-
- f.addStep(shell.ShellCommand(
- command=platform.withcompiler % r"bin\buildout.exe",
- haltOnFailure=True,
- name="buildout",
- description="buildout",
- timeout=3600))
-
- f.addStep(Test(name="test",
- command="bin\\test.exe --exit-with-status -1",
- description=['testing'],
- descriptionDone=['tests']))
-
- f.treeStableTimer = 300
- return f
-
-
-# XXX:
-# XXX: needs a total cleanup!
-def bsquare_configure(c,
- svn_url=None, http_port=8010, allowForce=False,
- svnuser=None, svnpasswd=None,
- pollinterval=30, nightlyhour=None,
- poller=None, makefactory=bsquare_make_factory_svn,
- maxConcurrent=2,
- svnbin='svn',
- slow_lock=None):
- """Creates a buildout master configuration.
-
- The configuration returned is almost functional. You just need to add
- slaves.
-
- Options are as follows:
- * svn_url: URL of the SVN repository
- * http_port: where buildbot will listen as an HTTP server
- * allowForce: allow force builds (True/False)
- * svnuser: username to be passed to svn
- * svnpasswd: password to be passed to svn
- * pollinterval: interval in seconds to poll the svn repo for changes
- * nightlyhour: run nightly builds at this hour
- * poller: custom poller object instance to be used instead of SVNPoller
- * makefactory:
- * can a simple callable factory that gets the svn_url
- * can be a dict of factories getting svn_url keyed by project name
- * ``__default__`` is a special key, bsquare reverts to this factory
- first when there is none for a project
- * bsquare reverts to make_factory as last
- * maxConcurrent: maximum number of concurrent builds
- * svnbin: passed directly to SVNPoller (win32 seems to be picky about
- svn location)
-
- """
- if poller is None:
- if svn_url:
- c['change_source'] = SVNPoller(svn_url,
- split_file=bsquare_split_file,
- svnuser=svnuser,
- svnpasswd=svnpasswd,
- pollinterval=pollinterval,
- svnbin=svnbin)
- else:
- c['change_source'] = poller
-
- if slow_lock is None:
- slow_lock = locks.SlaveLock("cpu", maxCount=maxConcurrent)
-
- projects = open("project-list.cfg", "rb").readlines()
- projects = [x.strip() for x in projects]
-
- platforms = {'py_265_32': PLATFORMS['py_265_win32']}
-
- for project in projects:
- if not project or project.startswith('#'):
- continue # comment or empty line
-
- project, repourl = project.split(',')
- project = project.strip()
- repourl = repourl.strip()
-
- for bsquare_platname, bsquare_platform in platforms.items():
- #if isinstance(makefactory, dict):
- # f = makefactory.get(project,
- # makefactory.get('__default__', makefactory))
- # f = f(repourl, platform=bsquare_platform)
- #else:
- # f = makefactory(repourl, platform=bsquare_platform)
- isgit = repourl.lower().startswith('git')
- if isgit:
- makefactory = bsquare_make_factory_git
- else:
- makefactory = bsquare_make_factory_svn
- f = makefactory(repourl, platform=bsquare_platform)
-
- bname = '%s_%s' % (project, bsquare_platname)
-
- c['builders'].append({
- 'name': bname,
- 'slavename': 'local',
- 'builddir': project,
- 'factory': f,
- 'locks': [slow_lock],
- })
- del f
-
- c['schedulers'].append(Scheduler(
- name=bname,
- branch="%s/trunk" % project,
- treeStableTimer=pollinterval * 2 + 10,
- builderNames=[bname]))
-
- if nightlyhour is not None:
- if isgit:
- c['schedulers'].append(Nightly(
- "%s nightly" % project, [bname], hour=[nightlyhour]))
- else:
- c['schedulers'].append(Nightly(
- "%s nightly" % project, [bname], hour=[nightlyhour],
- branch="%s/trunk" % project))
-
- c['status'].append(
- MailNotifier(mode="failing",
- fromaddr=FROMADDR,
- extraRecipients=["agroszer at gmail.com",
- "zope-tests at zope.org"],
- sendToInterestedUsers=False,
- builders=[bname],
- messageFormatter=message_formatter)
- )
-
- return c
-# stuff taken from gocept.bsquare
-######################################
-
-#let's stick with ONE test
-slow_lock = locks.SlaveLock("cpu", maxCount=1)
-
-c['schedulers'] = []
-c['builders'] = []
-c['status'] = []
-
-setupCleanupBuild(slow_lock, hour=20, minute=01)
-
-setupEggBuild(slow_lock) #every 30 mins
-
-#there are at most 6 builds for each project,
-#every build is setup on the next minute
-#that will never be true, but at least keeps
-#the builds nicely sorted
-setupZTK_dev_tests(slow_lock, hour=20, minute=10)
-setupZTK_10_tests(slow_lock, hour=20, minute=20)
-setupZTK_11_tests(slow_lock, hour=20, minute=30)
-setup_zc_buildout_dev_tests(slow_lock, hour=20, minute=40, branch='master')
-setup_zc_buildout_dev_tests(slow_lock, hour=20, minute=50, branch='1',
- platforms=ZC_BUILDOUT_PLATFORMS_1)
-setup_distribute_dev_tests(slow_lock, hour=21, minute=10)
-setup_ZODB_dev_tests(slow_lock, hour=21, minute=50)
-setup_BB_dev_tests(slow_lock, hour=21, minute=55)
-
-bsquare_configure(c,
- pollinterval = 300,
- nightlyhour=23,
- slow_lock = slow_lock,
- svnbin='c:\\svn\\svn.exe')
-
-#NO proxy via apache, so it can be kicked locally at least
-c['status'].append(html.WebStatus(http_port=8009, allowForce=True, logRotateLength=100000000))
-
-#proxy THIS via apache
-#use the WebStatus that provides status images
-c['status'].append(image.WebStatus(http_port=8010, allowForce=False, logRotateLength=100000000))
-
-
-c['projectName'] = "Zope wineggbuilder and windows buildbot"
-c['projectURL'] = "http://www.zope.org/"
-c['buildbotURL'] = "http://winbot.zope.org/"
-c['slavePortnum'] = "tcp:8989:interface=127.0.0.1"
-c['changeHorizon'] = 100
-c['buildHorizon'] = 100
-c['eventHorizon'] = 100
-c['logHorizon'] = 100
Deleted: zope.wineggbuilder/trunk/project-list.cfg
===================================================================
--- zope.wineggbuilder/trunk/project-list.cfg 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/project-list.cfg 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,157 +0,0 @@
-#ZTK:
-zope.annotation,git://github.com/zopefoundation/zope.annotation.git
-zope.applicationcontrol,git://github.com/zopefoundation/zope.applicationcontrol.git
-zope.authentication,git://github.com/zopefoundation/zope.authentication.git
-zope.browser,git://github.com/zopefoundation/zope.browser.git
-zope.browsermenu,git://github.com/zopefoundation/zope.browsermenu.git
-zope.browserpage,git://github.com/zopefoundation/zope.browserpage.git
-zope.browserresource,git://github.com/zopefoundation/zope.browserresource.git
-zope.cachedescriptors,git://github.com/zopefoundation/zope.cachedescriptors.git
-zope.catalog,git://github.com/zopefoundation/zope.catalog.git
-zope.component,git://github.com/zopefoundation/zope.component.git
-zope.componentvocabulary,git://github.com/zopefoundation/zope.componentvocabulary.git
-zope.configuration,git://github.com/zopefoundation/zope.configuration.git
-zope.container,git://github.com/zopefoundation/zope.container.git
-zope.contentprovider,git://github.com/zopefoundation/zope.contentprovider.git
-zope.contenttype,git://github.com/zopefoundation/zope.contenttype.git
-zope.copy,git://github.com/zopefoundation/zope.copy.git
-zope.copypastemove,git://github.com/zopefoundation/zope.copypastemove.git
-zope.datetime,git://github.com/zopefoundation/zope.datetime.git
-zope.deferredimport,git://github.com/zopefoundation/zope.deferredimport.git
-zope.deprecation,git://github.com/zopefoundation/zope.deprecation.git
-zope.dottedname,git://github.com/zopefoundation/zope.dottedname.git
-zope.dublincore,git://github.com/zopefoundation/zope.dublincore.git
-zope.error,git://github.com/zopefoundation/zope.error.git
-zope.event,git://github.com/zopefoundation/zope.event.git
-zope.exceptions,git://github.com/zopefoundation/zope.exceptions.git
-zope.filerepresentation,git://github.com/zopefoundation/zope.filerepresentation.git
-zope.formlib,git://github.com/zopefoundation/zope.formlib.git
-zope.hookable,git://github.com/zopefoundation/zope.hookable.git
-zope.i18n,git://github.com/zopefoundation/zope.i18n.git
-zope.i18nmessageid,git://github.com/zopefoundation/zope.i18nmessageid.git
-zope.index,git://github.com/zopefoundation/zope.index.git
-zope.interface,git://github.com/zopefoundation/zope.interface.git
-zope.intid,git://github.com/zopefoundation/zope.intid.git
-zope.keyreference,git://github.com/zopefoundation/zope.keyreference.git
-zope.lifecycleevent,git://github.com/zopefoundation/zope.lifecycleevent.git
-zope.location,git://github.com/zopefoundation/zope.location.git
-zope.login,git://github.com/zopefoundation/zope.login.git
-zope.mimetype,git://github.com/zopefoundation/zope.mimetype.git
-zope.minmax,git://github.com/zopefoundation/zope.minmax.git
-zope.pagetemplate,git://github.com/zopefoundation/zope.pagetemplate.git
-zope.password,git://github.com/zopefoundation/zope.password.git
-zope.pluggableauth,git://github.com/zopefoundation/zope.pluggableauth.git
-zope.principalannotation,git://github.com/zopefoundation/zope.principalannotation.git
-zope.principalregistry,git://github.com/zopefoundation/zope.principalregistry.git
-zope.processlifetime,git://github.com/zopefoundation/zope.processlifetime.git
-zope.proxy,git://github.com/zopefoundation/zope.proxy.git
-zope.ptresource,git://github.com/zopefoundation/zope.ptresource.git
-zope.publisher,git://github.com/zopefoundation/zope.publisher.git
-zope.ramcache,git://github.com/zopefoundation/zope.ramcache.git
-zope.schema,git://github.com/zopefoundation/zope.schema.git
-zope.security,git://github.com/zopefoundation/zope.security.git
-zope.securitypolicy,git://github.com/zopefoundation/zope.securitypolicy.git
-zope.sendmail,git://github.com/zopefoundation/zope.sendmail.git
-zope.sequencesort,git://github.com/zopefoundation/zope.sequencesort.git
-zope.server,git://github.com/zopefoundation/zope.server.git
-zope.session,git://github.com/zopefoundation/zope.session.git
-zope.site,git://github.com/zopefoundation/zope.site.git
-zope.size,git://github.com/zopefoundation/zope.size.git
-zope.structuredtext,git://github.com/zopefoundation/zope.structuredtext.git
-zope.tal,git://github.com/zopefoundation/zope.tal.git
-zope.tales,git://github.com/zopefoundation/zope.tales.git
-zope.testing,git://github.com/zopefoundation/zope.testing.git
-zope.testrunner,git://github.com/zopefoundation/zope.testrunner.git
-zope.traversing,git://github.com/zopefoundation/zope.traversing.git
-zope.viewlet,git://github.com/zopefoundation/zope.viewlet.git
-
-#zopeapp:
-zc.sourcefactory,git://github.com/zopefoundation/zc.sourcefactory.git
-zope.app.applicationcontrol,svn://svn.zope.org/repos/main/
-zope.app.appsetup,git://github.com/zopefoundation/zope.app.appsetup.git
-zope.app.authentication,git://github.com/zopefoundation/zope.app.authentication.git
-zope.app.basicskin,svn://svn.zope.org/repos/main/
-zope.app.broken,svn://svn.zope.org/repos/main/
-zope.app.component,svn://svn.zope.org/repos/main/
-zope.app.container,svn://svn.zope.org/repos/main/
-zope.app.content,svn://svn.zope.org/repos/main/
-zope.app.debug,svn://svn.zope.org/repos/main/
-zope.app.dependable,svn://svn.zope.org/repos/main/
-zope.app.error,svn://svn.zope.org/repos/main/
-zope.app.exception,svn://svn.zope.org/repos/main/
-zope.app.folder,svn://svn.zope.org/repos/main/
-zope.app.form,svn://svn.zope.org/repos/main/
-zope.app.generations,svn://svn.zope.org/repos/main/
-zope.app.http,git://github.com/zopefoundation/zope.app.http.git
-zope.app.i18n,svn://svn.zope.org/repos/main/
-zope.app.locales,svn://svn.zope.org/repos/main/
-zope.app.localpermission,svn://svn.zope.org/repos/main/
-zope.app.pagetemplate,svn://svn.zope.org/repos/main/
-zope.app.principalannotation,svn://svn.zope.org/repos/main/
-zope.app.publication,git://github.com/zopefoundation/zope.app.publication.git
-zope.app.publisher,svn://svn.zope.org/repos/main/
-zope.app.renderer,git://github.com/zopefoundation/zope.app.renderer.git
-zope.app.rotterdam,svn://svn.zope.org/repos/main/
-zope.app.schema,svn://svn.zope.org/repos/main/
-zope.app.security,svn://svn.zope.org/repos/main/
-zope.app.testing,svn://svn.zope.org/repos/main/
-#zope.app.twisted tries IPV6
-zope.app.wsgi,git://github.com/zopefoundation/zope.app.wsgi.git
-zope.app.zcmlfiles,svn://svn.zope.org/repos/main/
-zope.app.zopeappgenerations,svn://svn.zope.org/repos/main/
-zope.generations,git://github.com/zopefoundation/zope.generations.git
-zope.testbrowser,git://github.com/zopefoundation/zope.testbrowser.git
-
-#my wild choices:
-persistent,git://github.com/zopefoundation/persistent.git
-transaction,git://github.com/zopefoundation/transaction.git
-BTrees,git://github.com/zopefoundation/BTrees.git
-
-z3c.authenticator,git://github.com/zopefoundation/z3c.authenticator.git
-z3c.baseregistry,svn://svn.zope.org/repos/main/
-z3c.batching,git://github.com/zopefoundation/z3c.batching.git
-z3c.breadcrumb,git://github.com/zopefoundation/z3c.breadcrumb.git
-z3c.configurator,git://github.com/zopefoundation/z3c.configurator.git
-z3c.contents,git://github.com/zopefoundation/z3c.contents.git
-z3c.coverage,git://github.com/zopefoundation/z3c.coverage.git
-z3c.datagenerator,git://github.com/zopefoundation/z3c.datagenerator.git
-z3c.form,git://github.com/zopefoundation/z3c.form.git
-z3c.formui,git://github.com/zopefoundation/z3c.formui.git
-z3c.json,svn://svn.zope.org/repos/main/
-z3c.jsonrpc,svn://svn.zope.org/repos/main/
-z3c.jsonrpcproxy,svn://svn.zope.org/repos/main/
-z3c.jsontree,svn://svn.zope.org/repos/main/
-z3c.language.negotiator,svn://svn.zope.org/repos/main/
-z3c.language.session,svn://svn.zope.org/repos/main/
-z3c.language.switch,svn://svn.zope.org/repos/main/
-z3c.layer.pagelet,git://github.com/zopefoundation/z3c.layer.pagelet.git
-z3c.layer.ready2go,git://github.com/zopefoundation/z3c.layer.ready2go.git
-z3c.macro,git://github.com/zopefoundation/z3c.macro.git
-z3c.menu.ready2go,git://github.com/zopefoundation/z3c.menu.ready2go.git
-z3c.pagelet,git://github.com/zopefoundation/z3c.pagelet.git
-z3c.password,git://github.com/zopefoundation/z3c.password.git
-z3c.pdftemplate,svn://svn.zope.org/repos/main/
-z3c.ptcompat,git://github.com/zopefoundation/z3c.ptcompat.git
-z3c.recipe.paster,svn://svn.zope.org/repos/main/
-#z3c.rml tries ghostscipt via PIL
-z3c.sampledata,git://github.com/zopefoundation/z3c.sampledata.git
-z3c.table,git://github.com/zopefoundation/z3c.table.git
-z3c.tabular,svn://svn.zope.org/repos/main/
-z3c.template,git://github.com/zopefoundation/z3c.template.git
-z3c.testing,git://github.com/zopefoundation/z3c.testing.git
-z3c.viewtemplate,svn://svn.zope.org/repos/main/
-z3c.xmlhttp,svn://svn.zope.org/repos/main/
-z3c.zrtresource,svn://svn.zope.org/repos/main/
-zc.catalog,git://github.com/zopefoundation/zc.catalog.git
-zc.configuration,git://github.com/zopefoundation/zc.configuration.git
-zc.i18n,svn://svn.zope.org/repos/main/
-zc.lockfile,git://github.com/zopefoundation/zc.lockfile.git
-zc.monitor,svn://svn.zope.org/repos/main/
-zc.ngi,svn://svn.zope.org/repos/main/
-zc.queue,git://github.com/zopefoundation/zc.queue.git
-zc.resourcelibrary,svn://svn.zope.org/repos/main/
-zc.table,svn://svn.zope.org/repos/main/
-
-zope.app.interface,svn://svn.zope.org/repos/main/
-zope.app.server,git://github.com/zopefoundation/zope.app.server.git
-zope.app.session,svn://svn.zope.org/repos/main/
Deleted: zope.wineggbuilder/trunk/rackspace.ini
===================================================================
--- zope.wineggbuilder/trunk/rackspace.ini 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/rackspace.ini 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,308 +0,0 @@
-[build]
-compilers = py24_32 py25_32 py26_32 py26_64 py27_32 py27_64
-
-[py24_32]
-command = set PATH=%PATH%;c:\mingw\bin
- c:\Python24_32\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.4-win32.egg
-
-[py25_32]
-command = set PATH=%PATH%;c:\mingw\bin
- c:\Python25_32\python setup.py build_ext --compiler mingw32 bdist_egg upload
-fileEnding = py2.5-win32.egg
-
-[py26_32]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCVARSALL.bat" x86
- set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin"
- c:\Python26_32\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win32.egg
-
-[py26_64]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\VCVARSX86_AMD64.bat"
- set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64"
- c:\Python26_64\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.6-win-amd64.egg
-
-[py27_32]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCVARSALL.bat" x86
- set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin"
- c:\Python27_32\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.7-win32.egg
-
-[py27_64]
-command = call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\VCVARSX86_AMD64.bat"
- set PATH=%PATH%;"C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64"
- c:\Python27_64\python setup.py build_ext --compiler msvc bdist_egg upload
-fileEnding = py2.7-win-amd64.egg
-
-
-#[ZODB3_24]
-#package = ZODB3
-#minVersion =
-#maxVersion = 3.9
-#targets = py24_32
-#tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-#[ZODB3_25]
-#package = ZODB3
-#minVersion =
-#maxVersion =
-#targets = py25_32
-#tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[ZODB3_2664]
-package = ZODB3
-minVersion = 3.9.0
-maxVersion = 3.10.999
-targets = py26_64
-excludeVersions = 3.10.4
-tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[ZODB3_2764]
-package = ZODB3
-minVersion = 3.9.0
-maxVersion = 3.10.999
-targets = py27_64
-excludeVersions = 3.10.4
-tagurl = svn://svn.zope.org/repos/main/ZODB/tags/
-
-[BTrees]
-# versions before 4.0.4 were SVN based
-package = BTrees
-minVersion = 4.0.4
-maxVersion =
-excludeVersions = 4.0.0
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[persistent]
-# versions before 4.0.6 were SVN based
-package = persistent
-minVersion = 4.0.6
-maxVersion =
-excludeVersions =
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[zope.container]
-package = zope.container
-minVersion =
-maxVersion = 3.99.99
-targets = py24_32 py25_32
-
-[zope.container_26]
-package = zope.container
-minVersion = 3.7.0
-maxVersion = 3.99.99
-targets = py26_32 py26_64
-
-[zope.container_27]
-package = zope.container
-minVersion = 3.11.2
-maxVersion = 3.99.99
-targets = py27_32 py27_64
-
-[zope.container_git]
-package = zope.container
-minVersion = 4.0.0
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[zope.hookable]
-package = zope.hookable
-minVersion =
-maxVersion = 3.99.99
-targets = py24_32 py25_32
-
-[zope.hookable_26]
-package = zope.hookable
-minVersion =
-maxVersion =
-targets = py26_32 py26_64
-
-[zope.hookable_27]
-package = zope.hookable
-minVersion = 3.4.1
-maxVersion =
-targets = py27_32 py27_64
-
-[zope.i18nmessageid]
-package = zope.i18nmessageid
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.4dev-r73161
-targets = py24_32 py25_32
-
-[zope.i18nmessageid_26]
-package = zope.i18nmessageid
-minVersion =
-maxVersion =
-excludeVersions = 3.4dev-r73161
-targets = py26_32 py26_64
-
-[zope.i18nmessageid_27]
-package = zope.i18nmessageid
-minVersion = 3.5.3
-maxVersion =
-excludeVersions =
-targets = py27_32 py27_64
-
-[zope.index]
-package = zope.index
-minVersion = 3.5.2
-maxVersion =
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py24_32 py25_32
-
-[zope.index_26]
-package = zope.index
-minVersion = 3.6.0
-maxVersion =
-targets = py26_32 py26_64
-
-[zope.index_27]
-package = zope.index
-minVersion = 3.6.0
-maxVersion =
-targets = py27_32 py27_64
-
-[zope.interface]
-package = zope.interface
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py24_32 py25_32
-
-[zope.interface_26]
-package = zope.interface
-minVersion =
-maxVersion = 4.0.3
-excludeVersions = 3.0.0b1 3.3.0b1 3.3.0b2 3.4.0b1
-targets = py26_32 py26_64
-
-[zope.interface_27]
-package = zope.interface
-minVersion = 3.6.1
-maxVersion = 4.0.3
-targets = py27_32 py27_64
-
-[zope.interface_git]
-package = zope.interface
-minVersion = 4.0.4
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[zope.proxy]
-package = zope.proxy
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.3.0
-targets = py24_32 py25_32
-
-[zope.proxy_26]
-package = zope.proxy
-minVersion =
-maxVersion =
-excludeVersions = 3.3.0
-targets = py26_32 py26_64
-
-[zope.proxy_27]
-package = zope.proxy
-minVersion = 3.6.1
-maxVersion =
-excludeVersions = 3.3.0
-targets = py27_32 py27_64
-
-[zope.security]
-package = zope.security
-minVersion =
-maxVersion = 3.99.99
-excludeVersions = 3.4.0b5 3.8.4
-targets = py24_32 py25_32 py26_32 py26_64
-
-[zope.security_27]
-package = zope.security
-minVersion = 3.7.4
-maxVersion = 3.99.99
-excludeVersions = 3.8.4
-targets = py27_32 py27_64
-
-[zope.security_git]
-package = zope.security
-minVersion = 4.0.0
-maxVersion =
-excludeVersions = 3.8.4
-targets = py26_32 py26_64 py27_32 py27_64
-repotype = git
-
-[initgroups]
-package = initgroups
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[AccessControl]
-package = AccessControl
-minVersion =
-maxVersion =
-excludeVersions = 2.13.5 2.13.6
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Acquisition]
-package = Acquisition
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1 2.12.0a1 4.0a1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[DocumentTemplate]
-package = DocumentTemplate
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[ExtensionClass]
-package = ExtensionClass
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1 4.0a1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Missing]
-package = Missing
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[MultiMapping]
-package = MultiMapping
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Persistence]
-package = Persistence
-minVersion =
-maxVersion =
-excludeVersions = 2.11.0b1
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Products.ZCTextIndex]
-package = Products.ZCTextIndex
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Record]
-package = Record
-minVersion =
-maxVersion =
-targets = py26_32 py26_64 py27_32 py27_64
-
-[Zope2]
-package = Zope2
-tagurl = svn://svn.zope.org/repos/main/Zope/tags/
-minVersion = 2.12.0
-maxVersion = 2.12.99
-targets = py26_32 py26_64
Deleted: zope.wineggbuilder/trunk/setup.py
===================================================================
--- zope.wineggbuilder/trunk/setup.py 2013-03-05 10:52:52 UTC (rev 130030)
+++ zope.wineggbuilder/trunk/setup.py 2013-03-05 14:43:09 UTC (rev 130031)
@@ -1,66 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Package setup.
-
-$Id$
-"""
-import os
-from setuptools import setup, find_packages
-
-def read(*rnames):
- return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-
-setup(
- name='zope.wineggbuilder',
- version='0.1.0dev',
- author = "Adam Groszer and the Zope Community",
- author_email = "zope-dev at zope.org",
- description='An Automated Egg build System',
- long_description=(
- read('README.txt')
- + '\n\n' +
- read('src','zope','wineggbuilder','index.txt')
- + '\n\n' +
- read('CHANGES.txt')
- ),
- license = "ZPL 2.1",
- keywords = "ztk binary egg build",
- classifiers = [
- 'Development Status :: 4 - Beta',
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: Zope Public License',
- 'Programming Language :: Python',
- 'Natural Language :: English',
- 'Operating System :: OS Independent',
- 'Framework :: Buildout'],
- url = 'http://pypi.python.org/pypi/zope.wineggbuilder',
- packages = find_packages('src'),
- include_package_data = True,
- package_dir = {'': 'src'},
- namespace_packages = ['zope'],
- extras_require = dict(
- test = [
- 'zope.testing',
- ],
- ),
- install_requires=[
- 'BeautifulSoup',
- 'setuptools',
- ],
- zip_safe = False,
- entry_points = """
- [console_scripts]
- build = zope.wineggbuilder.build:main
- """,
- )
Deleted: zope.wineggbuilder/trunk/status_image_exception.png
===================================================================
(Binary files differ)
Deleted: zope.wineggbuilder/trunk/status_image_failure.png
===================================================================
(Binary files differ)
Deleted: zope.wineggbuilder/trunk/status_image_skipped.png
===================================================================
(Binary files differ)
Deleted: zope.wineggbuilder/trunk/status_image_success.png
===================================================================
(Binary files differ)
Deleted: zope.wineggbuilder/trunk/status_image_warnings.png
===================================================================
(Binary files differ)
More information about the checkins
mailing list