diff --git a/src/build_packages/build_packages.py b/src/build_packages/build_packages.py new file mode 100644 index 0000000000000000000000000000000000000000..eef0b0a7689d7840a84e57deecf5ca3f555adc7d --- /dev/null +++ b/src/build_packages/build_packages.py @@ -0,0 +1,30 @@ +import subprocess + +def get_pkgs(): + """ + Run a couple shell commands to parse the metadata directory for its packages. + :return: List of packages in metadata directory + """ + find_proc = subprocess.Popen(["find", "metadata", + "-name", "meta.yaml"], + stdout=subprocess.PIPE) + return subprocess.check_output(["sed", "-e", "s:metadata/::", + "-e", "s:/meta.yaml::"], + stdin=find_proc.stdout).decode('utf-8').split('\n') + +class Recipe: + def __init__(self, buildout, name, options): + self.options = options + self.pkgs = get_pkgs() + + def install(self): + # self.options.created() + pkg = self.options['name'] + + if pkg == "all": + for p in self.pkgs: + subprocess.run(["conda", "build", "metadata/{}".format(p)]) + else: + subprocess.run(["conda", "build", "metadata/{}".format(pkg)]) + + update = install \ No newline at end of file diff --git a/src/build_packages/setup.py b/src/build_packages/setup.py new file mode 100644 index 0000000000000000000000000000000000000000..50ef4f8bb515ff51da0830f19778a10031550ecf --- /dev/null +++ b/src/build_packages/setup.py @@ -0,0 +1,8 @@ +from setuptools import setup + +setup( + name='build_packages', + version='0.1', + py_modules = ['build_packages'], + entry_points = {"zc.buildout": ["default=build_packages:Recipe"]}, +) \ No newline at end of file