bootstrap.py to force buildout 1.x for jenkins
This commit is contained in:
parent
6b77610e35
commit
5b549bbba8
29
bootstrap.py
29
bootstrap.py
|
@ -136,10 +136,6 @@ parser.add_option("-c", None, action="store", dest="config_file",
|
|||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
# if -c was provided, we push it back into args for buildout's main function
|
||||
if options.config_file is not None:
|
||||
args += ['-c', options.config_file]
|
||||
|
||||
if options.eggs:
|
||||
eggs_dir = os.path.abspath(os.path.expanduser(options.eggs))
|
||||
else:
|
||||
|
@ -152,8 +148,7 @@ if options.setup_source is None:
|
|||
options.setup_source = setuptools_source
|
||||
|
||||
if options.accept_buildout_test_releases:
|
||||
args.append('buildout:accept-buildout-test-releases=true')
|
||||
args.append('bootstrap')
|
||||
args.insert(0, 'buildout:accept-buildout-test-releases=true')
|
||||
|
||||
try:
|
||||
import pkg_resources
|
||||
|
@ -170,6 +165,8 @@ except ImportError:
|
|||
setup_args['download_base'] = options.download_base
|
||||
if options.use_distribute:
|
||||
setup_args['no_fake'] = True
|
||||
if sys.version_info[:2] == (2, 4):
|
||||
setup_args['version'] = '0.6.32'
|
||||
ez['use_setuptools'](**setup_args)
|
||||
if 'pkg_resources' in sys.modules:
|
||||
reload(sys.modules['pkg_resources'])
|
||||
|
@ -192,6 +189,8 @@ if not has_broken_dash_S:
|
|||
find_links = options.download_base
|
||||
if not find_links:
|
||||
find_links = os.environ.get('bootstrap-testing-find-links')
|
||||
if not find_links and options.accept_buildout_test_releases:
|
||||
find_links = 'http://downloads.buildout.org/'
|
||||
if find_links:
|
||||
cmd.extend(['-f', quote(find_links)])
|
||||
|
||||
|
@ -228,6 +227,8 @@ if version is None and not options.accept_buildout_test_releases:
|
|||
bestv = None
|
||||
for dist in index[req.project_name]:
|
||||
distv = dist.parsed_version
|
||||
if distv >= pkg_resources.parse_version('2dev'):
|
||||
continue
|
||||
if _final_version(distv):
|
||||
if bestv is None or distv > bestv:
|
||||
best = [dist]
|
||||
|
@ -237,8 +238,12 @@ if version is None and not options.accept_buildout_test_releases:
|
|||
if best:
|
||||
best.sort()
|
||||
version = best[-1].version
|
||||
|
||||
if version:
|
||||
requirement = '=='.join((requirement, version))
|
||||
requirement += '=='+version
|
||||
else:
|
||||
requirement += '<2dev'
|
||||
|
||||
cmd.append(requirement)
|
||||
|
||||
if is_jython:
|
||||
|
@ -257,6 +262,16 @@ if exitcode != 0:
|
|||
ws.add_entry(eggs_dir)
|
||||
ws.require(requirement)
|
||||
import zc.buildout.buildout
|
||||
|
||||
# If there isn't already a command in the args, add bootstrap
|
||||
if not [a for a in args if '=' not in a]:
|
||||
args.append('bootstrap')
|
||||
|
||||
|
||||
# if -c was provided, we push it back into args for buildout's main function
|
||||
if options.config_file is not None:
|
||||
args[0:0] = ['-c', options.config_file]
|
||||
|
||||
zc.buildout.buildout.main(args)
|
||||
if not options.eggs: # clean up temporary egg directory
|
||||
shutil.rmtree(eggs_dir)
|
||||
|
|
Reference in New Issue