diff --git a/dev/bootstrap.py b/dev/bootstrap.py new file mode 100644 index 0000000..ad6fdc6 --- /dev/null +++ b/dev/bootstrap.py @@ -0,0 +1,62 @@ +############################################################################## +# +# 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. + +$Id: bootstrap.py 85041 2008-03-31 15:57:30Z andreasjung $ +""" + +import os, shutil, sys, tempfile, urllib2 + +tmpeggs = tempfile.mkdtemp() + +try: + import pkg_resources +except ImportError: + ez = {} + exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' + ).read() in ez + ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) + + 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 +assert os.spawnle( + os.P_WAIT, sys.executable, quote (sys.executable), + '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout', + dict(os.environ, + PYTHONPATH= + ws.find(pkg_resources.Requirement.parse('setuptools')).location + ), + ) == 0 + +ws.add_entry(tmpeggs) +ws.require('zc.buildout') +import zc.buildout.buildout +zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap']) +shutil.rmtree(tmpeggs) diff --git a/dev/buildout.cfg b/dev/buildout.cfg new file mode 100644 index 0000000..68ff21c --- /dev/null +++ b/dev/buildout.cfg @@ -0,0 +1,52 @@ +[buildout] +extensions = mr.developer buildout.dumppickedversions +unzip = true +parts = instance omelette zopepy +extends = + http://dist.plone.org/release/3.3rc2/versions.cfg + http://good-py.appspot.com/release/plone.app.discussion/1.0a1 +versions = versions +sources = sources + +auto-checkout = + plone.app.discussion + +[versions] +zc.buildout = 1.2.1 + +[zope2] +recipe = plone.recipe.zope2install +fake-zope-eggs = true +additional-fake-eggs = ZODB3 +url = ${versions:zope2-url} + +[instance] +recipe = plone.recipe.zope2instance +zope2-location = ${zope2:location} +user = admin:admin +http-address = 8080 +debug-mode = on +verbose-security = on +eggs = + Plone + plone.reload + Products.PdbDebugMode + plone.app.discussion + +zcml = + plone.reload + +[omelette] +recipe = collective.recipe.omelette +eggs = ${instance:eggs} +packages = ${zope2:location}/lib/python ./ + +[zopepy] +recipe = zc.recipe.egg +eggs = ${instance:eggs} +interpreter = zopepy +extra-paths = ${zope2:location}/lib/python +scripts = zopepy + +[sources] +plone.app.discussion = svn https://svn.plone.org/svn/plone/plone.app.discussion/trunk