diff options
-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) |