[Checkins] SVN: zc.buildout/trunk/bootstrap/bootstrap.py Allow to bootstrap on Jython.

Georgy Berdyshev codingmaster at gmail.com
Wed Aug 27 18:44:46 EDT 2008


Log message for revision 90478:
  Allow to bootstrap on Jython.
  
  Signed-off-by: Georgy Berdyshev - ?\208?\147?\208?\181?\208?\190?\209?\128?\208?\179?\208?\184?\208?\185 ?\208?\145?\208?\181?\209?\128?\208?\180?\209?\139?\209?\136?\208?\181?\208?\178 <codingmaster at gmail.com>
  

Changed:
  U   zc.buildout/trunk/bootstrap/bootstrap.py

-=-
Modified: zc.buildout/trunk/bootstrap/bootstrap.py
===================================================================
--- zc.buildout/trunk/bootstrap/bootstrap.py	2008-08-27 22:39:48 UTC (rev 90477)
+++ zc.buildout/trunk/bootstrap/bootstrap.py	2008-08-27 22:44:46 UTC (rev 90478)
@@ -24,6 +24,8 @@
 
 tmpeggs = tempfile.mkdtemp()
 
+is_jython = sys.platform.startswith('java')
+
 try:
     import pkg_resources
 except ImportError:
@@ -46,15 +48,28 @@
 
 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
 
+if is_jython:
+    import subprocess
+    
+    assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', 
+           quote(tmpeggs), 'zc.buildout'], 
+           env=dict(os.environ,
+               PYTHONPATH=
+               ws.find(pkg_resources.Requirement.parse('setuptools')).location
+               ),
+           ).wait() == 0
+
+else:
+    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



More information about the Checkins mailing list