From 5499d3a9679d1095ac9face45902bc5f6c7157b0 Mon Sep 17 00:00:00 2001 From: nhertz <nhertz@nrao.edu> Date: Wed, 12 Aug 2020 16:29:55 -0600 Subject: [PATCH] Added simple recipe for building packages. --- src/build_packages/build_packages.py | 30 ++++++++++++++++++++++++++++ src/build_packages/setup.py | 8 ++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/build_packages/build_packages.py create mode 100644 src/build_packages/setup.py diff --git a/src/build_packages/build_packages.py b/src/build_packages/build_packages.py new file mode 100644 index 000000000..eef0b0a76 --- /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 000000000..50ef4f8bb --- /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 -- GitLab