diff --git a/bob/devtools/build.py b/bob/devtools/build.py index e21c9d3ec61141e0cdf3c66f59ef56a5b12daa13..41bb20755fa572b8e35b17c1f179708f6b156875 100644 --- a/bob/devtools/build.py +++ b/bob/devtools/build.py @@ -22,6 +22,20 @@ import distutils.version import conda_build.api +def comment_cleanup(lines): + """Cleans-up comments and empty lines from textual data read from files""" + + no_comments = [k.partition("#")[0].strip() for k in lines] + return [k for k in no_comments if k] + + +def load_order_file(path): + """Loads an order.txt style file, removes empty lines and comments""" + + with open(path, "rt") as f: + return comment_cleanup(f.readlines()) + + def conda_arch(): """Returns the current OS name and architecture as recognized by conda""" @@ -741,7 +755,9 @@ if __name__ == "__main__": # builds all dependencies in the 'deps' subdirectory - or at least checks # these dependencies are already available; these dependencies go directly to # the public channel once built - for recipe in glob.glob(os.path.join("deps", "*")): + recipes = load_order_file(os.path.join("deps", "order.txt")) + for k, recipe in enumerate([os.path.join("deps", k) for k in recipes]): + if not os.path.exists(os.path.join(recipe, "meta.yaml")): # ignore - not a conda package continue