aboutsummaryrefslogtreecommitdiff
path: root/cbcbuild.py
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-06-24 09:16:55 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-06-24 09:16:55 -0400
commit6125fb6e1fe114440e28e6fb68f7561257d1ce05 (patch)
tree20f4516f145b7783ede9daf058566f654870109d /cbcbuild.py
parent5cb744903073bbd005f28ea89e1e2b591668d9b8 (diff)
downloadcbc-6125fb6e1fe114440e28e6fb68f7561257d1ce05.tar.gz
Initial commit of cbcbuild.py
Diffstat (limited to 'cbcbuild.py')
-rw-r--r--cbcbuild.py41
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)