comparison env/lib/python3.7/site-packages/planemo/commands/cmd_mull.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
comparison
equal deleted inserted replaced
4:79f47841a781 5:9b1c78e6ba9c
1 """Module describing the planemo ``mull`` command."""
2 import click
3 from galaxy.tool_util.deps.mulled.mulled_build import mull_targets
4
5 from planemo import options
6 from planemo.cli import command_function
7 from planemo.mulled import build_mull_target_kwds, collect_mulled_target_lists
8
9
10 @click.command('mull')
11 @options.optional_tools_arg(multiple=True)
12 @options.recursive_option()
13 @options.mulled_options()
14 @options.conda_ensure_channels_option()
15 @command_function
16 def cli(ctx, paths, **kwds):
17 """Build containers for specified tools.
18
19 Supplied tools will be inspected for referenced requirement packages. For
20 each combination of requirements a "mulled" container will be built. Galaxy
21 can automatically discover this container and subsequently use it to run
22 or test the tool.
23
24 For this to work, the tool's requirements will need to be present in a known
25 Conda channel such as bioconda (https://github.com/bioconda/bioconda-recipes).
26 This can be verified by running ``planemo lint --conda_requirements`` on the
27 target tool(s).
28 """
29 for mulled_targets in collect_mulled_target_lists(ctx, paths, recursive=kwds["recursive"]):
30 mull_target_kwds = build_mull_target_kwds(ctx, **kwds)
31 command = kwds["mulled_command"]
32 mull_targets(mulled_targets, command=command, **mull_target_kwds)