[Checkins] SVN: z3c.recipe.egg/trunk/ Not buildout not working yet
Ross Patterson
me at rpatterson.net
Mon Oct 1 01:48:42 EDT 2007
Log message for revision 80433:
Not buildout not working yet
Changed:
_U z3c.recipe.egg/trunk/
A z3c.recipe.egg/trunk/.cvsignore
A z3c.recipe.egg/trunk/EXTERNALS.txt
A z3c.recipe.egg/trunk/README.txt
A z3c.recipe.egg/trunk/buildout.cfg
A z3c.recipe.egg/trunk/z3c/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/
A z3c.recipe.egg/trunk/z3c/recipe/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/
A z3c.recipe.egg/trunk/z3c/recipe/egg/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/editable.txt
A z3c.recipe.egg/trunk/z3c/recipe/egg/setup.txt
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/README.txt
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/bar/
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/bar/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/setup.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/README.txt
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/foo/
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/foo/__init__.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/setup.py
A z3c.recipe.egg/trunk/z3c/recipe/egg/tests/tests.py
-=-
Property changes on: z3c.recipe.egg/trunk
___________________________________________________________________
Name: svn:ignore
+ .installed.cfg
bin
develop-eggs
parts
build
dist
Name: svn:externals
+ #
# applied by: svn propset svn:externals -F ./EXTERNALS.txt .
#
bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap
Added: z3c.recipe.egg/trunk/.cvsignore
===================================================================
--- z3c.recipe.egg/trunk/.cvsignore (rev 0)
+++ z3c.recipe.egg/trunk/.cvsignore 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,6 @@
+.installed.cfg
+bin
+develop-eggs
+parts
+build
+dist
\ No newline at end of file
Copied: z3c.recipe.egg/trunk/EXTERNALS.txt (from rev 80198, z3c.repoexternals/trunk/EXTERNALS.txt)
===================================================================
--- z3c.recipe.egg/trunk/EXTERNALS.txt (rev 0)
+++ z3c.recipe.egg/trunk/EXTERNALS.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,4 @@
+#
+# applied by: svn propset svn:externals -F ./EXTERNALS.txt .
+#
+bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap
Added: z3c.recipe.egg/trunk/README.txt
===================================================================
--- z3c.recipe.egg/trunk/README.txt (rev 0)
+++ z3c.recipe.egg/trunk/README.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,22 @@
+==============
+z3c.recipe.egg
+==============
+
+Recipies based on zc.recipe.egg for working with source
+distributions.
+
+Editable Distributions
+----------------------
+
+The z3c.recipe.egg.Editable recipe use the easy_install --editable and
+--build-directory options to download a source distribution.
+
+See z3c/recipe/egg/editable.txt for details.
+
+Running Setup Scripts
+---------------------
+
+The z3c.recipe.egg.Setup recipe calls arbitrary setup.py commands on a
+distribution in a buildout.
+
+See z3c/recipe/egg/setup.txt for details.
Added: z3c.recipe.egg/trunk/buildout.cfg
===================================================================
--- z3c.recipe.egg/trunk/buildout.cfg (rev 0)
+++ z3c.recipe.egg/trunk/buildout.cfg 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,7 @@
+[buildout]
+develop = .
+parts = test
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = z3c.recipe.egg [test]
Added: z3c.recipe.egg/trunk/z3c/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: z3c.recipe.egg/trunk/z3c/recipe/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,6 @@
+# See http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
+try:
+ __import__('pkg_resources').declare_namespace(__name__)
+except ImportError:
+ from pkgutil import extend_path
+ __path__ = extend_path(__path__, __name__)
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,152 @@
+import sys, os, pkg_resources, subprocess
+
+import distutils.core
+import setuptools.command.easy_install
+import zc.buildout.easy_install
+import zc.recipe.egg
+
+ei_logger = zc.buildout.easy_install.logger
+
+class Setup(object):
+
+ def __init__(self, buildout, name, options):
+ self.buildout = buildout
+ self.name = name
+ self.options = options
+
+ def install(self):
+ setups = [os.path.join(self.buildout['buildout']['directory'],
+ setup.strip())
+ for setup in self.options['setup'].split('\n')
+ if setup.strip()]
+ if 'args' in self.options:
+ for setup in setups:
+ self.buildout.setup(
+ [setup] + self.options['args'].split())
+
+ if self.options.get('develop') == 'true':
+ develop(self, setups)
+
+ return ()
+
+ update = install
+
+class Editable(zc.recipe.egg.Eggs):
+
+ def __init__(self, buildout, name, options):
+ super(Editable, self).__init__(buildout, name, options)
+ options['location'] = os.path.join(
+ buildout['buildout']['parts-directory'], self.name)
+ if 'build-directory' not in options:
+ options['build-directory'] = options['location']
+ else:
+ options['build-directory'] = os.path.join(
+ buildout['buildout']['directory'],
+ options['build-directory'])
+
+ self.reqs = [
+ pkg_resources.Requirement.parse(r.strip())
+ for r in options.get('eggs', self.name).split('\n')
+ if r.strip()]
+
+ self.newest = buildout['buildout'].get('newest') == 'true'
+ self.online = (self.newest and
+ buildout['buildout'].get('offline') != 'true')
+
+ # Track versions
+ if self.online:
+ options['versions'] = self.get_online_versions()
+ else:
+ options['versions'] = self.get_offline_versions()
+
+ def get_online_versions(self):
+ options = self.options
+ self.installer = zc.buildout.easy_install.Installer(
+ links=self.links,
+ index = self.index,
+ executable = options['executable'],
+ always_unzip=options.get('unzip') == 'true',
+ path=[options['develop-eggs-directory']],
+ newest=self.newest)
+ return '\n'.join([
+ '%s==%s' % (dist.project_name, dist.version)
+ for dist in (self.installer._obtain(req, source=True)
+ for req in self.reqs)
+ if dist is not None])
+
+ def get_offline_versions(self):
+ options = self.options
+ return '\n'.join([
+ '%s==%s' % (dist.get_name(), dist.get_version())
+ for dist in (
+ distutils.core.run_setup(
+ os.path.join(options['build-directory'],
+ req.key, 'setup.py'),
+ stop_after='commandline')
+ for req in self.reqs
+ if os.path.isdir(
+ os.path.join(options['build-directory'],
+ req.key)))])
+
+ def install(self):
+ if not self.online:
+ return self.get_location()
+
+ options = self.options
+
+ dists = [req.unsafe_name for req in self.reqs if not
+ os.path.isdir(os.path.join(
+ self.options['build-directory'], req.key))]
+ if len(dists) > 0:
+ args = ['-c', zc.buildout.easy_install._easy_install_cmd]
+
+ if options.get('unzip') == 'true':
+ args += ['-Z']
+ level = ei_logger.getEffectiveLevel()
+ if level > 0:
+ args += ['-q']
+ elif level < 0:
+ args += ['-v']
+
+ args.extend(
+ ['--find-links='+' '.join(self.links), '--editable',
+ '--build-directory='+options['build-directory']])
+ args.extend(dists)
+ path = self.installer._get_dist(
+ pkg_resources.Requirement.parse('setuptools'),
+ pkg_resources.WorkingSet([]), False,)[0].location
+ sys.stdout.flush() # We want any pending output first
+ sys.stderr.flush()
+ ei_logger.debug(
+ 'Running easy_install:\n%s "%s"\npath=%s\n',
+ options['executable'], '" "'.join(args), path)
+ returncode = subprocess.Popen(
+ args=[options['executable']]+args,
+ env=dict(os.environ, PYTHONPATH=path)
+ ).wait()
+ assert returncode == 0, (
+ 'easy_install exited with returncode %s' % returncode)
+
+ if self.options.get('develop') == 'true':
+ develop(self, (
+ os.path.join(self.options['build-directory'],
+ req.key)
+ for req in self.reqs))
+
+ return self.get_location()
+
+ def get_location(self):
+ if os.path.isdir(self.options['location']):
+ return self.options['location']
+ else:
+ return ()
+
+ def update(self):
+ pass
+
+def develop(self, setups):
+ for setup in setups:
+ self.buildout._logger.info("Develop: %r", setup)
+ zc.buildout.easy_install.develop(
+ setup=setup, dest=self.buildout['buildout'][
+ 'develop-eggs-directory'])
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/editable.txt
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/editable.txt (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/editable.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,222 @@
+;-*-Doctest-*-
+======================
+Editable Distributions
+======================
+
+The z3c.recipe.egg.Editable recipe use the easy_install
+--editable and --build-directory options to download a source
+distribution.
+
+If no build-directory is specified the part directory will be used.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout),
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts', 'demoneeded')
+ d demoneeded
+
+If the develop option is true then the distributions will be
+installed in develop mode.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... develop = true
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+ Develop: '/sample-buildout/parts/demoneeded/demoneeded'
+
+ >>> ls(sample_buildout, 'develop-eggs')
+ - demoneeded.egg-link
+ - z3c.recipe.egg.egg-link
+ - zc.recipe.egg.egg-link
+
+Multiple distributions can be specified.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... extdemo
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts', 'demoneeded')
+ d demoneeded
+ d extdemo
+
+If a new qualifying version is available then the part will be
+reinstalled.
+
+ >>> write(
+ ... sample_buildout, 'parts', 'demoneeded', 'demoneeded',
+ ... 'setup.py', """
+ ... from setuptools import setup
+ ... setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],
+ ... zip_safe=True, version='1.3', author='bob',
+ ... url='bob', author_email='bob')
+ ... """)
+
+ >>> import os
+ >>> sdist(os.path.join(
+ ... sample_buildout, 'parts', 'demoneeded', 'demoneeded'),
+ ... sample_eggs)
+
+ >>> print system(buildout),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts', 'demoneeded')
+ d demoneeded
+ d extdemo
+
+ >>> cat(
+ ... sample_buildout, 'parts', 'demoneeded', 'demoneeded',
+ ... 'setup.py')
+ <BLANKLINE>
+ from setuptools import setup
+ setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],
+ zip_safe=True, version='1.3', author='bob',
+ url='bob', author_email='bob')
+
+If the part is not to be reinstalled, running buildout in offline or
+non-newest mode, the recipe preserves the existing installation.
+
+ >>> print system(buildout+' -No'),
+ Updating demoneeded.
+
+ >>> ls(sample_buildout, 'parts', 'demoneeded')
+ d demoneeded
+ d extdemo
+
+If the part is to be reinstalled and buildout is run in offline or
+non-newest mode, the recipe does nothing.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout+' -N'),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts')
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... extdemo
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout+' -o'),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts')
+
+If build-directory is specified, the source distributions will be
+extracted there.
+
+ >>> mkdir(sample_buildout, 'src')
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demoneeded
+ ...
+ ... [demoneeded]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... extdemo
+ ... build-directory = src
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout),
+ Uninstalling demoneeded.
+ Installing demoneeded.
+
+ >>> ls(sample_buildout, 'parts')
+ >>> ls(sample_buildout, 'src')
+ d demoneeded
+ d extdemo
+
+If the build directory is present, it will not be removed when the
+part is installed preserving any changes.
+
+ >>> write(
+ ... sample_buildout, 'src', 'demoneeded', 'setup.py', """
+ ... from setuptools import setup
+ ... setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],
+ ... zip_safe=True, version='1.4', author='bob',
+ ... url='bob', author_email='bob')
+ ... """)
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = demo
+ ...
+ ... [demo]
+ ... recipe = z3c.recipe.egg:editable
+ ... find-links = %(server)s
+ ... eggs = demoneeded
+ ... extdemo
+ ... build-directory = src
+ ... """ % dict(server=link_server))
+
+ >>> print system(buildout),
+ Uninstalling demoneeded.
+ Installing demo.
+
+ >>> ls(sample_buildout, 'src')
+ d demoneeded
+ d extdemo
+
+ >>> cat(
+ ... sample_buildout, 'src', 'demoneeded', 'setup.py')
+ <BLANKLINE>
+ from setuptools import setup
+ setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],
+ zip_safe=True, version='1.4', author='bob',
+ url='bob', author_email='bob')
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/setup.txt
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/setup.txt (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/setup.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,193 @@
+;-*-Doctest-*-
+=====================
+Running Setup Scripts
+=====================
+
+The z3c.recipe.egg.Setup recipe calls arbitrary setup.py
+commands on a distribution in a buildout.
+
+The buildout requires only the setup argument which specifies a setup
+script or the directory containing a setup.py script.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = foo
+ ...
+ ... [foo]
+ ... recipe = z3c.recipe.egg:setup
+ ... setup = foo
+ ... args = sdist
+ ... """)
+
+The seupt script is run with the specified arguments.
+
+ >>> print system(buildout),
+ Installing foo.
+ Running setup script '/sample-buildout/foo/setup.py'.
+ running sdist
+ running egg_info
+ creating foo.egg-info
+ writing foo.egg-info/PKG-INFO
+ writing top-level names to foo.egg-info/top_level.txt
+ writing dependency_links to foo.egg-info/dependency_links.txt
+ writing manifest file 'foo.egg-info/SOURCES.txt'
+ writing manifest file 'foo.egg-info/SOURCES.txt'
+ creating foo-0.0.0
+ creating foo-0.0.0/foo
+ creating foo-0.0.0/foo.egg-info
+ making hard links in foo-0.0.0...
+ hard linking README.txt -> foo-0.0.0
+ hard linking setup.py -> foo-0.0.0
+ hard linking foo/__init__.py -> foo-0.0.0/foo
+ hard linking foo.egg-info/PKG-INFO -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/SOURCES.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/dependency_links.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/top_level.txt -> foo-0.0.0/foo.egg-info
+ Writing foo-0.0.0/setup.cfg
+ creating dist
+ tar -cf dist/foo-0.0.0.tar foo-0.0.0
+ gzip -f9 dist/foo-0.0.0.tar
+ removing 'foo-0.0.0' (and everything under it)
+
+ >>> ls(sample_buildout, 'foo', 'dist')
+ - foo-0.0.0.tar.gz
+
+ >>> remove(sample_buildout, 'foo', 'dist', 'foo-0.0.0.tar.gz')
+
+The setup script is also run on update.
+
+ >>> print system(buildout),
+ Updating foo.
+ Running setup script '/sample-buildout/foo/setup.py'.
+ running sdist
+ running egg_info
+ writing foo.egg-info/PKG-INFO
+ writing top-level names to foo.egg-info/top_level.txt
+ writing dependency_links to foo.egg-info/dependency_links.txt
+ writing manifest file 'foo.egg-info/SOURCES.txt'
+ creating foo-0.0.0
+ creating foo-0.0.0/foo
+ creating foo-0.0.0/foo.egg-info
+ making hard links in foo-0.0.0...
+ hard linking README.txt -> foo-0.0.0
+ hard linking setup.py -> foo-0.0.0
+ hard linking foo/__init__.py -> foo-0.0.0/foo
+ hard linking foo.egg-info/PKG-INFO -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/SOURCES.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/dependency_links.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/top_level.txt -> foo-0.0.0/foo.egg-info
+ Writing foo-0.0.0/setup.cfg
+ tar -cf dist/foo-0.0.0.tar foo-0.0.0
+ gzip -f9 dist/foo-0.0.0.tar
+ removing 'foo-0.0.0' (and everything under it)
+
+ >>> ls(sample_buildout, 'foo', 'dist')
+ - foo-0.0.0.tar.gz
+
+ >>> remove(sample_buildout, 'foo', 'dist', 'foo-0.0.0.tar.gz')
+
+Multiple setup directories or scripts can be specified. Add the
+second distribution.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = foo
+ ...
+ ... [foo]
+ ... recipe = z3c.recipe.egg:setup
+ ... setup =
+ ... foo
+ ... bar
+ ... args = sdist
+ ... """)
+
+Now the buildout will run the setup script on both.
+
+ >>> print system(buildout),
+ Uninstalling foo.
+ Installing foo.
+ Running setup script '/sample-buildout/foo/setup.py'.
+ running sdist
+ running egg_info
+ writing foo.egg-info/PKG-INFO
+ writing top-level names to foo.egg-info/top_level.txt
+ writing dependency_links to foo.egg-info/dependency_links.txt
+ writing manifest file 'foo.egg-info/SOURCES.txt'
+ creating foo-0.0.0
+ creating foo-0.0.0/foo
+ creating foo-0.0.0/foo.egg-info
+ making hard links in foo-0.0.0...
+ hard linking README.txt -> foo-0.0.0
+ hard linking setup.py -> foo-0.0.0
+ hard linking foo/__init__.py -> foo-0.0.0/foo
+ hard linking foo.egg-info/PKG-INFO -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/SOURCES.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/dependency_links.txt -> foo-0.0.0/foo.egg-info
+ hard linking foo.egg-info/top_level.txt -> foo-0.0.0/foo.egg-info
+ Writing foo-0.0.0/setup.cfg
+ tar -cf dist/foo-0.0.0.tar foo-0.0.0
+ gzip -f9 dist/foo-0.0.0.tar
+ removing 'foo-0.0.0' (and everything under it)
+ Running setup script '/sample-buildout/bar/setup.py'.
+ running sdist
+ running egg_info
+ creating bar.egg-info
+ writing bar.egg-info/PKG-INFO
+ writing top-level names to bar.egg-info/top_level.txt
+ writing dependency_links to bar.egg-info/dependency_links.txt
+ writing manifest file 'bar.egg-info/SOURCES.txt'
+ writing manifest file 'bar.egg-info/SOURCES.txt'
+ creating bar-0.0.0
+ creating bar-0.0.0/bar
+ creating bar-0.0.0/bar.egg-info
+ making hard links in bar-0.0.0...
+ hard linking README.txt -> bar-0.0.0
+ hard linking setup.py -> bar-0.0.0
+ hard linking bar/__init__.py -> bar-0.0.0/bar
+ hard linking bar.egg-info/PKG-INFO -> bar-0.0.0/bar.egg-info
+ hard linking bar.egg-info/SOURCES.txt -> bar-0.0.0/bar.egg-info
+ hard linking bar.egg-info/dependency_links.txt -> bar-0.0.0/bar.egg-info
+ hard linking bar.egg-info/top_level.txt -> bar-0.0.0/bar.egg-info
+ Writing bar-0.0.0/setup.cfg
+ creating dist
+ tar -cf dist/bar-0.0.0.tar bar-0.0.0
+ gzip -f9 dist/bar-0.0.0.tar
+ removing 'bar-0.0.0' (and everything under it)
+
+ >>> ls(sample_buildout, 'foo', 'dist')
+ - foo-0.0.0.tar.gz
+
+ >>> ls(sample_buildout, 'bar', 'dist')
+ - bar-0.0.0.tar.gz
+
+ >>> remove(sample_buildout, 'foo', 'dist', 'foo-0.0.0.tar.gz')
+ >>> remove(sample_buildout, 'bar', 'dist', 'bar-0.0.0.tar.gz')
+
+If the develop option is true then the distributions will be
+installed in develop mode.
+
+ >>> write(sample_buildout, 'buildout.cfg',
+ ... """
+ ... [buildout]
+ ... parts = foo
+ ...
+ ... [foo]
+ ... recipe = z3c.recipe.egg:setup
+ ... setup = foo
+ ... bar
+ ... develop = true
+ ... """)
+
+ >>> print system(buildout),
+ Uninstalling foo.
+ Installing foo.
+ Develop: '/sample-buildout/foo'
+ Develop: '/sample-buildout/bar'
+
+ >>> ls(sample_buildout, 'develop-eggs')
+ - bar.egg-link
+ - foo.egg-link
+ - z3c.recipe.egg.egg-link
+ - zc.recipe.egg.egg-link
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1 @@
+"""z3c.recipe.egg.tests"""
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/README.txt
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/README.txt (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/README.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1 @@
+bar distribution
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/bar/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/bar/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/bar/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1 @@
+import os
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/setup.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/setup.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/bar/setup.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,7 @@
+from setuptools import setup, find_packages
+
+setup(name='bar',
+ author='bar',
+ author_email='bar at bar.com',
+ url='http://nohost/bar',
+ packages=find_packages())
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/README.txt
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/README.txt (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/README.txt 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1 @@
+foo distribution
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/foo/__init__.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/foo/__init__.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/foo/__init__.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1 @@
+import os
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/setup.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/setup.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/foo/setup.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,7 @@
+from setuptools import setup, find_packages
+
+setup(name='foo',
+ author='foo',
+ author_email='foo at foo.com',
+ url='http://nohost/foo',
+ packages=find_packages())
Added: z3c.recipe.egg/trunk/z3c/recipe/egg/tests/tests.py
===================================================================
--- z3c.recipe.egg/trunk/z3c/recipe/egg/tests/tests.py (rev 0)
+++ z3c.recipe.egg/trunk/z3c/recipe/egg/tests/tests.py 2007-10-01 05:48:41 UTC (rev 80433)
@@ -0,0 +1,24 @@
+import unittest, os, shutil
+from zope.testing import doctest, renormalizing
+import zc.buildout.testing
+import zc.recipe.egg.tests
+
+def setUp(test):
+ zc.recipe.egg.tests.setUp(test)
+ zc.buildout.testing.install_develop('z3c.recipe.egg', test)
+ shutil.copytree(os.path.join(os.path.dirname(__file__), 'foo'),
+ 'foo')
+ shutil.copytree(os.path.join(os.path.dirname(__file__), 'bar'),
+ 'bar')
+
+def test_suite():
+ return doctest.DocFileSuite(
+ '../setup.txt',
+ '../editable.txt',
+ setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown,
+ optionflags=doctest.REPORT_NDIFF,
+ checker=renormalizing.RENormalizing([
+ zc.buildout.testing.normalize_path,]))
+
+if __name__ == '__main__':
+ unittest.main(defaultTest='test_suite')
More information about the Checkins
mailing list