Mercurial > repos > bcclaywell > argo_navis
diff venv/lib/python2.7/site-packages/planemo/commands/cmd_brew.py @ 0:d67268158946 draft
planemo upload commit a3f181f5f126803c654b3a66dd4e83a48f7e203b
author | bcclaywell |
---|---|
date | Mon, 12 Oct 2015 17:43:33 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/venv/lib/python2.7/site-packages/planemo/commands/cmd_brew.py Mon Oct 12 17:43:33 2015 -0400 @@ -0,0 +1,39 @@ +import click + +from planemo.cli import pass_context +from planemo import options + +from galaxy.tools.loader_directory import load_tool_elements_from_path + +from galaxy.tools.deps.requirements import parse_requirements_from_xml +from galaxy.tools.deps import brew_exts +from galaxy.tools.deps import brew_util +from galaxy.util import bunch + + +@click.command('brew') +@options.optional_tools_arg() +@options.brew_option() +@pass_context +def cli(ctx, path, brew=None): + """Install tool requirements using brew. (**Experimental**) + + An experimental approach to versioning brew recipes will be used. + See full discussion on the homebrew-science issues page here - + https://github.com/Homebrew/homebrew-science/issues/1191. Information + on the implementation can be found at + https://github.com/jmchilton/platform-brew + until a more permanent project home is setup. + """ + for (tool_path, tool_xml) in load_tool_elements_from_path(path): + ctx.log('Brewing requirements from tool %s', + click.format_filename(tool_path)) + mock_args = bunch.Bunch(brew=brew) + brew_context = brew_exts.BrewContext(mock_args) + requirements, containers = parse_requirements_from_xml(tool_xml) + + for recipe_context in brew_util.requirements_to_recipe_contexts( + requirements, + brew_context + ): + brew_exts.versioned_install(recipe_context)