diff --git a/pydev-plone4/README.txt b/pydev-plone4/README.txt new file mode 100644 index 0000000..54bf603 --- /dev/null +++ b/pydev-plone4/README.txt @@ -0,0 +1,12 @@ +=================================================== +PyDev Development Buildout for plone.app.discussion +=================================================== + +This is the development buildout for plone.app.discussion. This +buildout is for development with the PyDev Eclipse plugin. +You have to manually link plone.app.discussion (checked out +seperately) into the src directory of this buildout to make it +work:: + + $ cd pydev-plone4-buildout/src + $ ln -s ../../plone.app.discussion diff --git a/pydev-plone4/bootstrap.py b/pydev-plone4/bootstrap.py new file mode 100644 index 0000000..1980d6c --- /dev/null +++ b/pydev-plone4/bootstrap.py @@ -0,0 +1,121 @@ +############################################################################## +# +# Copyright (c) 2006 Zope Corporation 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, urllib2 +from optparse import OptionParser + +tmpeggs = tempfile.mkdtemp() + +is_jython = sys.platform.startswith('java') + +# parsing arguments +parser = OptionParser() +parser.add_option("-v", "--version", dest="version", + help="use a specific zc.buildout version") +parser.add_option("-d", "--distribute", + action="store_true", dest="distribute", default=False, + help="Use Disribute rather than Setuptools.") + +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 -c was provided, we push it back into args for buildout' main function +if options.config_file is not None: + args += ['-c', options.config_file] + +if options.version is not None: + VERSION = '==%s' % options.version +else: + VERSION = '' + +# We decided to always use distribute, make sure this is the default for us +# USE_DISTRIBUTE = options.distribute +USE_DISTRIBUTE = True +args = args + ['bootstrap'] + +to_reload = False +try: + import pkg_resources + if not hasattr(pkg_resources, '_distribute'): + to_reload = True + raise ImportError +except ImportError: + ez = {} + if USE_DISTRIBUTE: + exec urllib2.urlopen('http://python-distribute.org/distribute_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0, no_fake=True) + else: + exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) + + if to_reload: + reload(pkg_resources) + else: + import pkg_resources + +if sys.platform == 'win32': + def quote(c): + if ' ' in c: + return '"%s"' % c # work around spawn lamosity on windows + else: + return c +else: + def quote (c): + return c + +cmd = 'from setuptools.command.easy_install import main; main()' +ws = pkg_resources.working_set + +if USE_DISTRIBUTE: + requirement = 'distribute' +else: + requirement = 'setuptools' + +if is_jython: + import subprocess + + assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', + quote(tmpeggs), 'zc.buildout' + VERSION], + env=dict(os.environ, + PYTHONPATH= + ws.find(pkg_resources.Requirement.parse(requirement)).location + ), + ).wait() == 0 + +else: + assert os.spawnle( + os.P_WAIT, sys.executable, quote (sys.executable), + '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout' + VERSION, + dict(os.environ, + PYTHONPATH= + ws.find(pkg_resources.Requirement.parse(requirement)).location + ), + ) == 0 + +ws.add_entry(tmpeggs) +ws.require('zc.buildout' + VERSION) +import zc.buildout.buildout +zc.buildout.buildout.main(args) +shutil.rmtree(tmpeggs) diff --git a/pydev-plone4/buildout.cfg b/pydev-plone4/buildout.cfg new file mode 100644 index 0000000..dab484c --- /dev/null +++ b/pydev-plone4/buildout.cfg @@ -0,0 +1,118 @@ +[buildout] +parts = + productdistros + instance + zopepy + omelette + test + coverage-test + coverage-report + +extensions = + buildout.dumppickedversions + buildout.eggtractor + +dump-picked-versions-file = versions.cfg +overwrite-picked-versions-file = True + +tractor-src-directory = src +packages-under-test = plone.app.discussion + +# Change the number here to change the version of Plone being used +extends = + http://download.zope.org/Zope2/index/2.12.1/versions.cfg + http://dist.plone.org/release/4.0a2/versions.cfg +versions = versions + +# Add additional egg download sources here. dist.plone.org contains archives +# of Plone packages. +find-links = + http://dist.plone.org/release/4.0a2 + http://dist.plone.org/thirdparty + +# Add additional eggs here +eggs = + Products.PdbDebugMode + plone.reload + +# Reference any eggs you are developing here, one per line +# e.g.: develop = src/my.package +develop = + +[versions] +plone.theme = 1.2 +plone.app.z3cform = 0.4.6 +plone.z3cform = 0.5.5 + +# Use this section to download additional old-style products. +# List any number of URLs for product tarballs under URLs (separate +# with whitespace, or break over several lines, with subsequent lines +# indented). If any archives contain several products inside a top-level +# directory, list the archive file name (i.e. the last part of the URL, +# normally with a .tar.gz suffix or similar) under 'nested-packages'. +# If any archives extract to a product directory with a version suffix, list +# the archive name under 'version-suffix-packages'. +[productdistros] +# For more information on this step and configuration options see: +# http://pypi.python.org/pypi/plone.recipe.distros +recipe = plone.recipe.distros +urls = +nested-packages = +version-suffix-packages = + +[instance] +# For more information on this step and configuration options see: +# http://pypi.python.org/pypi/plone.recipe.zope2instance +recipe = plone.recipe.zope2instance +user = admin:admin +http-address = 8080 +#debug-mode = on +#verbose-security = on +blob-storage = var/blobstorage +# If you want Zope to know about any additional eggs, list them here. +# This should include any development eggs you listed in develop-eggs above, +# e.g. eggs = Plone my.package +eggs = + Zope2 + Plone + ${buildout:eggs} + +# If you want to register ZCML slugs for any packages, list them here. +# e.g. zcml = my.package my.other.package +zcml = + +products = + ${buildout:directory}/products + ${productdistros:location} + +[zopepy] +# For more information on this step and configuration options see: +# http://pypi.python.org/pypi/zc.recipe.egg +recipe = zc.recipe.egg +eggs = ${instance:eggs} +interpreter = zopepy +scripts = zopepy + +[omelette] +recipe = collective.recipe.omelette +eggs = ${instance:eggs} +products = ${instance:products} +packages = ${instance:location}/lib/python ./ + +[test] +recipe = zc.recipe.testrunner +eggs = + plone.app.discussion +defaults = ['-v', '--exit-with-status', '--auto-color', '--auto-progress'] + +[coverage-test] +recipe = zc.recipe.testrunner +eggs = ${test:eggs} +defaults = ['--coverage', '../../coverage', '-v', '--auto-progress'] + +[coverage-report] +recipe = zc.recipe.egg +eggs = z3c.coverage +scripts = coverage=coverage-report +arguments = ('coverage', 'report') + diff --git a/pydev-plone4/products/README.txt b/pydev-plone4/products/README.txt new file mode 100644 index 0000000..5a8ccfd --- /dev/null +++ b/pydev-plone4/products/README.txt @@ -0,0 +1 @@ +Old-style Zope products you are developing can be added here diff --git a/pydev-plone4/src/README.txt b/pydev-plone4/src/README.txt new file mode 100644 index 0000000..0014180 --- /dev/null +++ b/pydev-plone4/src/README.txt @@ -0,0 +1 @@ +Packages in eggs that you develop should go in this directory diff --git a/pydev-plone4/versions.cfg b/pydev-plone4/versions.cfg new file mode 100644 index 0000000..76aa703 --- /dev/null +++ b/pydev-plone4/versions.cfg @@ -0,0 +1,32 @@ +[versions] +Products.PDBDebugMode = 1.1 +collective.recipe.omelette = 0.9 +collective.z3cform.datetimewidget = 0.1a9 +plone.autoform = 1.0b2 +plone.recipe.distros = 1.5 +plone.supermodel = 1.0b4 +z3c.coverage = 1.1.3 + +#Required by: +#plone.app.discussion 1.0a2 +collective.autopermission = 1.0b1 + +#Required by: +#plone.app.discussion 1.0a2 +plone.app.registry = 1.0b1 + +#Required by: +#plone.app.discussion 1.0a2 +plone.registry = 1.0b1 + +#Required by: +#plone.z3cform 0.5.5 +z3c.batching = 1.1.0 + +#Required by: +#plone.z3cform 0.5.5 +z3c.form = 2.2.0 + +#Required by: +#plone.app.z3cform 0.4.6 +z3c.formwidget.query = 0.5