[Checkins] SVN: Sandbox/thefunny42/kgs.test/trunk/build.py Fix script to use buildout and setuptools to get information about the package (does it use an extra_requires test).
Sylvain Viollon
sylvain at infrae.com
Mon Jan 26 14:31:23 EST 2009
Log message for revision 95032:
Fix script to use buildout and setuptools to get information about the package (does it use an extra_requires test).
Cleanning.
Changed:
U Sandbox/thefunny42/kgs.test/trunk/build.py
-=-
Modified: Sandbox/thefunny42/kgs.test/trunk/build.py
===================================================================
--- Sandbox/thefunny42/kgs.test/trunk/build.py 2009-01-26 15:55:07 UTC (rev 95031)
+++ Sandbox/thefunny42/kgs.test/trunk/build.py 2009-01-26 19:31:22 UTC (rev 95032)
@@ -1,10 +1,15 @@
-
import os.path
+import os
import popen2
+import glob
+from pkg_resources import Environment, WorkingSet
+from zc.buildout import easy_install
-ZOPE3_SVN = "svn://svn.zope.org/repos/main/"
-wanted = []
+ZOPE3_SVN = os.getenv('ZOPE3_SVN', 'svn://svn.zope.org/repos/main/')
+EGG_CACHE = os.getenv('EGG_CACHE', '/Users/sylvain/Library/Buildout/eggs')
+DEVELOP_EGG = 'develop-eggs'
+NEWEST = False
BLACKLIST = ['zope.agxassociation', 'zope.app.css', 'zope.app.demo', \
'zope.app.fssync', 'zope.app.recorder', \
'zope.app.schemacontent', 'zope.app.sqlexpr', \
@@ -18,6 +23,7 @@
DELETE_LIST = ['zope.app.boston',]
IGNORED = BLACKLIST + DELETE_LIST
+wanted = []
svn_list, _ = popen2.popen2("svn ls %s" % ZOPE3_SVN)
for project in svn_list:
project = project[:-2]
@@ -37,6 +43,7 @@
extends = versions.cfg
#versions = versions
newest = true
+unzip = true
parts =
""")
makefile.write("""
@@ -60,14 +67,51 @@
$(CURDIR)/bin/$@
""")
+def to_test(project, need_test):
+ if need_test:
+ return project + ' [test]'
+ return project
+
+kgs_env = Environment([EGG_CACHE,])
+kgs_ws = WorkingSet(kgs_env)
+trunk_env = Environment([DEVELOP_EGG,])
+
for project in wanted:
+ print project
+ if not os.path.isdir(project):
+ os.system('svn co %s/%s/trunk %s' % (ZOPE3_SVN, project, project))
+
+ packages = kgs_env[project]
+ kgs_need_test = False
+ if not len(packages):
+ easy_install.install(project, EGG_CACHE, newest=NEWEST, working_set=kgs_ws)
+ packages = kgs_env[project]
+ kgs_need_test = 'test' in packages[0].extras
+
+ packages = trunk_env[project]
+ trunk_need_test = False
+ if not len(packages):
+ easy_install.develop(os.path.abspath(project), os.path.abspath(DEVELOP_EGG))
+ # Rescan evrything, trunk_env.scan don't seems to work
+ trunk_env = Environment([DEVELOP_EGG,])
+ packages = trunk_env[project]
+
+ trunk_need_test = 'test' in packages[0].extras
+
+ script_name = project.replace('.', '-')
+
kgs_conf.write("""
[test-%s]
recipe = zc.recipe.testrunner
eggs = %s
-""" % (project.replace('.', '-'), project))
+""" % (script_name, to_test(project, kgs_need_test)))
+ trunk_conf.write("""
+[test-%s]
+recipe = zc.recipe.testrunner
+eggs = %s
+""" % (script_name, to_test(project, trunk_need_test)))
- if not os.path.isdir(project):
- os.system('svn co svn://svn.zope.org/repos/main/%s/trunk %s' % (project, project))
-
+# Clean develop-eggs, otherwise if you choose KGS you still have trunk
+for path in os.listdir(DEVELOP_EGG):
+ os.remove(DEVELOP_EGG + '/' + path)
More information about the Checkins
mailing list