Skip to content

Commit a6bb3f9

Browse files
authored
Merge branch 'master' into unicode_literal_usage
2 parents fd2eff0 + af08264 commit a6bb3f9

File tree

2 files changed

+26
-16
lines changed

2 files changed

+26
-16
lines changed

cwltool/main.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
relocateOutputs, scandeps, shortname, use_custom_schema,
3636
use_standard_schema)
3737
from .resolver import ga4gh_tool_registries, tool_resolver
38-
from .software_requirements import DependenciesConfiguration, get_container_from_software_requirements
38+
from .software_requirements import DependenciesConfiguration, get_container_from_software_requirements, SOFTWARE_REQUIREMENTS_ENABLED
3939
from .stdfsaccess import StdFsAccess
4040
from .update import ALLUPDATES, UPDATES
4141

@@ -155,14 +155,21 @@ def arg_parser(): # type: () -> argparse.ArgumentParser
155155
exgroup.add_argument("--quiet", action="store_true", help="Only print warnings and errors.")
156156
exgroup.add_argument("--debug", action="store_true", help="Print even more logging")
157157

158-
# help="Dependency resolver configuration file describing how to adapt 'SoftwareRequirement' packages to current system."
159-
parser.add_argument("--beta-dependency-resolvers-configuration", default=None, help=argparse.SUPPRESS)
160-
# help="Defaut root directory used by dependency resolvers configuration."
161-
parser.add_argument("--beta-dependencies-directory", default=None, help=argparse.SUPPRESS)
162-
# help="Use biocontainers for tools without an explicitly annotated Docker container."
163-
parser.add_argument("--beta-use-biocontainers", default=None, help=argparse.SUPPRESS, action="store_true")
164-
# help="Short cut to use Conda to resolve 'SoftwareRequirement' packages."
165-
parser.add_argument("--beta-conda-dependencies", default=None, help=argparse.SUPPRESS, action="store_true")
158+
dependency_resolvers_configuration_help = argparse.SUPPRESS
159+
dependencies_directory_help = argparse.SUPPRESS
160+
use_biocontainers_help = argparse.SUPPRESS
161+
conda_dependencies = argparse.SUPPRESS
162+
163+
if SOFTWARE_REQUIREMENTS_ENABLED:
164+
dependency_resolvers_configuration_help = "Dependency resolver configuration file describing how to adapt 'SoftwareRequirement' packages to current system."
165+
dependencies_directory_help = "Defaut root directory used by dependency resolvers configuration."
166+
use_biocontainers_help = "Use biocontainers for tools without an explicitly annotated Docker container."
167+
conda_dependencies = "Short cut to use Conda to resolve 'SoftwareRequirement' packages."
168+
169+
parser.add_argument("--beta-dependency-resolvers-configuration", default=None, help=dependency_resolvers_configuration_help)
170+
parser.add_argument("--beta-dependencies-directory", default=None, help=dependencies_directory_help)
171+
parser.add_argument("--beta-use-biocontainers", default=None, help=use_biocontainers_help, action="store_true")
172+
parser.add_argument("--beta-conda-dependencies", default=None, help=conda_dependencies, action="store_true")
166173

167174
parser.add_argument("--tool-help", action="store_true", help="Print command line help for tool")
168175

cwltool/software_requirements.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
from .utils import get_feature
2424

25+
SOFTWARE_REQUIREMENTS_ENABLED = deps is not None
2526

2627
COMMAND_WITH_DEPENDENCIES_TEMPLATE = string.Template("""#!/bin/bash
2728
$handle_dependencies
@@ -60,8 +61,7 @@ def config_dict(self):
6061

6162
def build_job_script(self, builder, command):
6263
# type: (Any, List[str]) -> Text
63-
if deps is None:
64-
raise Exception("galaxy-lib not found")
64+
ensure_galaxy_lib_available()
6565
tool_dependency_manager = deps.build_dependency_manager(self) # type: deps.DependencyManager
6666
dependencies = get_dependencies(builder)
6767
handle_dependencies = "" # str
@@ -99,11 +99,8 @@ def get_dependencies(builder):
9999

100100
def get_container_from_software_requirements(args, builder):
101101
if args.beta_use_biocontainers:
102-
try:
103-
from galaxy.tools.deps.containers import ContainerRegistry, AppInfo, ToolInfo, DOCKER_CONTAINER_TYPE
104-
except ImportError:
105-
raise Exception("Optional requirement galaxy-lib not found, it is required for this configuration.")
106-
102+
ensure_galaxy_lib_available()
103+
from galaxy.tools.deps.containers import ContainerRegistry, AppInfo, ToolInfo, DOCKER_CONTAINER_TYPE
107104
app_info = AppInfo(
108105
involucro_auto_init=True,
109106
enable_beta_mulled_containers=True,
@@ -117,3 +114,9 @@ def get_container_from_software_requirements(args, builder):
117114
return container_description.identifier
118115

119116
return None
117+
118+
119+
def ensure_galaxy_lib_available():
120+
# type: () -> None
121+
if not SOFTWARE_REQUIREMENTS_ENABLED:
122+
raise Exception("Optional Python library galaxy-lib not available, it is required for this configuration.")

0 commit comments

Comments
 (0)