aboutsummaryrefslogtreecommitdiff
path: root/cbcbuild.py
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-17 13:57:23 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-17 13:57:23 -0400
commit237d2159faac7dadb0232e35f7016588db568808 (patch)
tree19482c130efee570b7e985121dbf372b6965db50 /cbcbuild.py
parent16a6d3d6c9495d3a67d74835f1d25329418ba832 (diff)
downloadcbc-237d2159faac7dadb0232e35f7016588db568808.tar.gz
Restructuring and setuptools integration1.0
Diffstat (limited to 'cbcbuild.py')
-rwxr-xr-xcbcbuild.py101
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('')