diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-06-24 09:16:55 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-06-24 09:16:55 -0400 |
commit | 6125fb6e1fe114440e28e6fb68f7561257d1ce05 (patch) | |
tree | 20f4516f145b7783ede9daf058566f654870109d | |
parent | 5cb744903073bbd005f28ea89e1e2b591668d9b8 (diff) | |
download | cbc-6125fb6e1fe114440e28e6fb68f7561257d1ce05.tar.gz |
Initial commit of cbcbuild.py
-rw-r--r-- | cbcbuild.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cbcbuild.py b/cbcbuild.py new file mode 100644 index 0000000..66ddaee --- /dev/null +++ b/cbcbuild.py @@ -0,0 +1,41 @@ +import os +import cbc +import cbc.server +import conda_build +import conda_build.metadata +import conda_build.build +import threading +import sys + + +'''Emulated input here +''' +sys.argv.append('tests/data/test.ini') +if len(sys.argv) < 2: + print("{0} {{cbc_config}}".format(sys.argv[0])) + exit(1) + +os.environ['CBC_HOME'] = os.path.abspath('tests/data/build') +cbcini = os.path.abspath(sys.argv[1]) +env = cbc.environment.Environment() +metadata = cbc.meta.MetaData(cbcini, env) + +# Write out conda compatible metadata and build scripts +for maskkey, maskval in env.config['script'].items(): + for metakey, metaval in metadata.compile().items(): + if metakey in maskkey: + with open(maskval, 'w+') as metafile: + metafile.write(metaval) + +conda_metadata = conda_build.metadata.MetaData(env.cbchome) + +if metadata.local_metadata['cbc_cgi']['local_server']: + fileserver_thread = threading.Thread(target=cbc.server.FileServer, + args=([metadata.local_metadata['cbc_cgi']['local_port'], + metadata.local_metadata['cbc_cgi']['local_sources'], + True]), + daemon=True) + fileserver_thread.start() + +#conda_build.build.rm_pkgs_cache(conda_metadata.dist()) +conda_build.build.build(conda_metadata, get_src=True, verbose=True) |