diff options
Diffstat (limited to 'rambo/rambo.py')
-rwxr-xr-x | rambo/rambo.py | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/rambo/rambo.py b/rambo/rambo.py index f8b65c0..ad811f7 100755 --- a/rambo/rambo.py +++ b/rambo/rambo.py @@ -381,3 +381,98 @@ class MetaSet(object): print('{0:>50} {1}'.format( meta.canonical_name, statstr[meta.archived]), file=fh) +<<<<<<< HEAD:rambo/rambo.py +======= + + +# ---- + + +def main(argv=None): + + if argv is None: + argv = sys.argv + + parser = argparse.ArgumentParser(prog='rambo') + parser.add_argument('-p', '--platform', type=str) + parser.add_argument( + '--python', + type=str, + help='Python version to pass to conda machinery when rendering ' + 'recipes. "#.#" format. If not specified, the version of python' + ' hosting conda_build.api is used.') + parser.add_argument( + '-m', + '--manifest', + type=str, + help='Use this file to filter the list of recipes to process.') + parser.add_argument( + '-f', + '--file', + type=str, + help='Send package list output to this file instead of stdout.') + parser.add_argument( + '-c', + '--culled', + action='store_true', + help='Print the ordered list of package names reduced to the set' + ' of packages that do not already exist in the channel specified' + ' in the supplied manifest file.') + parser.add_argument( + '-d', + '--details', + action='store_true', + help='Display details used in determining build order and/or ' + 'package culling.') + parser.add_argument( + '--dirty', + action='store_true', + help='Use the most recent pre-existing conda work directory for ' + 'each recipe instead of creating a new one. If a work directory ' + 'does not already exist, the recipe is processed in the normal ' + 'fashion. Used mostly for testing purposes.') + parser.add_argument( + '-v', + '--version', + action='version', + version='%(prog)s ' + __version__, + help='Display version information.') + parser.add_argument('recipes_dir', type=str) + args = parser.parse_args() + + if args.version: + print(__version__) + os.exit(0) + + recipes_dir = os.path.normpath(args.recipes_dir) + + fh = None + if args.file: + fh = open(args.file, 'w') + + versions = {'python': '', 'numpy': ''} + if args.python: + versions['python'] = args.python + + versions['numpy'] = DEFAULT_MINIMUM_NUMPY_VERSION + + mset = metaSet( + recipes_dir, + platform=args.platform, + versions=versions, + dirty=args.dirty, + manfile=args.manifest) + + mset.multipass_optimize() + + if args.details: + mset.print_details(fh) + if mset.channel: + mset.print_status_in_channel(fh) + elif args.culled: + mset.print_culled(fh) + else: + mset.print(fh) + +if __name__ == "__main__": + main() |