[Checkins] SVN: zc.buildout/trunk/ Bugs Fixed

Jim Fulton jim at zope.com
Thu Dec 7 17:15:57 EST 2006


Log message for revision 71503:
  Bugs Fixed
  ----------
  
  - https://bugs.launchpad.net/products/zc.buildout/+bug/71246
  
  Buildout extensions installed as eggs couldn't be loaded in offline
    mode.
  

Changed:
  U   zc.buildout/trunk/CHANGES.txt
  U   zc.buildout/trunk/src/zc/buildout/buildout.py
  U   zc.buildout/trunk/src/zc/buildout/tests.py

-=-
Modified: zc.buildout/trunk/CHANGES.txt
===================================================================
--- zc.buildout/trunk/CHANGES.txt	2006-12-07 21:54:22 UTC (rev 71502)
+++ zc.buildout/trunk/CHANGES.txt	2006-12-07 22:15:57 UTC (rev 71503)
@@ -28,6 +28,15 @@
 
 - Configuration files can now be loaded from URLs.
 
+Bugs Fixed
+----------
+
+- https://bugs.launchpad.net/products/zc.buildout/+bug/71246
+
+  Buildout extensions installed as eggs couldn't be loaded in offline
+  mode.
+
+
 1.0.0b16 (2006-12-07)
 =====================
 

Modified: zc.buildout/trunk/src/zc/buildout/buildout.py
===================================================================
--- zc.buildout/trunk/src/zc/buildout/buildout.py	2006-12-07 21:54:22 UTC (rev 71502)
+++ zc.buildout/trunk/src/zc/buildout/buildout.py	2006-12-07 22:15:57 UTC (rev 71503)
@@ -562,17 +562,18 @@
     def _load_extensions(self):
         specs = self['buildout'].get('extensions', '').split()
         if specs:
+            path = [self['buildout']['develop-eggs-directory']]
             if self['buildout'].get('offline') == 'true':
                 dest = None
+                path.append(self['buildout']['eggs-directory'])
             else:
                 dest = self['buildout']['eggs-directory']
                 if not os.path.exists(dest):
                     self._logger.info('Creating directory %s', dest)
                     os.mkdir(dest)
-                    
+
             zc.buildout.easy_install.install(
-                specs, dest,
-                path=[self['buildout']['develop-eggs-directory']],
+                specs, dest, path=path,
                 working_set=pkg_resources.working_set,
                 )
             for ep in pkg_resources.iter_entry_points('zc.buildout.extension'):

Modified: zc.buildout/trunk/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/trunk/src/zc/buildout/tests.py	2006-12-07 21:54:22 UTC (rev 71502)
+++ zc.buildout/trunk/src/zc/buildout/tests.py	2006-12-07 22:15:57 UTC (rev 71503)
@@ -826,6 +826,44 @@
 
 """
 
+def extensions_installed_as_eggs_work_in_offline_mode():
+    '''
+    >>> mkdir('demo')
+
+    >>> write('demo', 'demo.py', 
+    ... """
+    ... def ext(buildout):
+    ...     print 'ext', list(buildout)
+    ... """)
+
+    >>> write('demo', 'setup.py',
+    ... """
+    ... from setuptools import setup
+    ... 
+    ... setup(
+    ...     name = "demo",
+    ...     py_modules=['demo'],
+    ...     entry_points = {'zc.buildout.extension': ['ext = demo:ext']},
+    ...     )
+    ... """)
+
+    >>> bdist_egg(join(sample_buildout, "demo"), sys.executable,
+    ...           join(sample_buildout, "eggs"))
+
+    >>> write(sample_buildout, 'buildout.cfg',
+    ... """
+    ... [buildout]
+    ... extensions = demo
+    ... parts =
+    ... offline = true
+    ... """)
+
+    >>> print system(join(sample_buildout, 'bin', 'buildout')),
+    ext ['buildout']
+    
+
+    '''
+
 ######################################################################
     
 def create_sample_eggs(test, executable=sys.executable):



More information about the Checkins mailing list