diff options
Diffstat (limited to 'cbcbuild.py')
-rwxr-xr-x | cbcbuild.py | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/cbcbuild.py b/cbcbuild.py deleted file mode 100755 index 2217a4e..0000000 --- a/cbcbuild.py +++ /dev/null @@ -1,101 +0,0 @@ -#!/usr/bin/env python -import argparse -import os -import sys -import cbc -import conda_build.metadata - - -#os.environ['CBC_HOME'] = os.path.abspath(os.path.join(os.path.dirname(cbc.__file__), 'tests/data/build')) -#sys.argv.append('--force-rebuild') -#sys.argv.append('tests/data/aprio.ini') - -if __name__ == '__main__': - no_upload = '' - use_local = '' - - parser = argparse.ArgumentParser() - parser.add_argument('--force-rebuild', - action='store_true', - help='Do not stop if package already installed') - parser.add_argument('--no-build', - action='store_true', - help='Generate metadata from cbc configuration (useful for manual building)') - parser.add_argument('--no-upload', - action='store_true', - help='Do not upload to anaconda.org (aka. binstar)') - parser.add_argument('--use-local', - action='store_true', - help='Install built package from [...]/conda-bld/pkgs repository') - parser.add_argument('cbcfile', - nargs='+', - help='CBC metadata') - args = parser.parse_args() - - # Initialize cbc internal environment - env = cbc.environment.Environment() - - # Convert cbcfile paths to absolute paths - args.cbcfile = [ os.path.abspath(x) for x in args.cbcfile ] - - # Verify we have a file that exists - for cbcfile in args.cbcfile: - if not os.path.exists(cbcfile): - print('{} does not exist.'.format(cbcfile)) - exit(1) - elif not os.path.isfile(cbcfile): - print('{} is not a file.'.format(cbcfile)) - exit(1) - - if args.no_upload: - no_upload = '--no-binstar-upload' - - if args.use_local: - use_local = '--use-local' - - print('CBC_HOME is {0}'.format(env.cbchome)) - # Perform build(s) - for cbcfile in args.cbcfile: - print('Using cbc build configuration: {0}'.format(cbcfile)) - # Ensure the working directory remains the same throughout. - os.chdir(env.pwd) - - metadata = cbc.meta.MetaData(cbcfile, env) - metadata.env.mkpkgdir(metadata.local['package']['name']) - metadata.render_scripts() - metadata.copy_patches() - - print('Scripts written to {0}'.format(metadata.env.pkgdir)) - - if args.no_build: - continue - - print('Generating Conda metadata...') - conda_metadata = conda_build.metadata.MetaData(env.pkgdir) - - if not args.force_rebuild: - if cbc.utils.conda_search(conda_metadata) == conda_metadata.dist(): - print('{0} matches an installed package; increment the build number to rebuild or use --force-rebuild.'.format(conda_metadata.dist())) - continue - - conda_builder_args = [no_upload, use_local] - try: - print('Initializing Conda build...') - built = cbc.utils.conda_builder(metadata, conda_builder_args) - if not built: - print('Failure occurred building: {0}'.format(conda_metadata.dist())) - continue - except cbc.exceptions.CondaBuildError as cbe: - print(cbe) - continue - - print('Installing Conda package...') - package_exists = cbc.utils.conda_search(conda_metadata) - - if not package_exists: - cbc.utils.conda_install(conda_metadata.name()) - elif package_exists: - if args.force_rebuild: - cbc.utils.conda_reinstall(conda_metadata.name()) - - print('') |