mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Re-try dependency manager serialization and embedded config.
PR #8118 - adding to_dict to the dependency manager and an embedded loading of dependency resolution options from galaxy.yml - was really quite poorly thought through. Certain options could be embedded - but only the resolvers and the actual dictified representation of the DependencyManager couldn't be actually embedded properly in the app config - but this is exactly what I wanted to do on the Pulsar side and it would make no sense to have the exact same options in both apps and configured differently. So now the actual dictified representation of the whole DependencyManager can be directly embedded in galaxy.yml as the ``dependency_resolution:`` parameter. All the parameters can still be configured at the top level of the YAML file but with 'dependency' in the config option name (some prefixes, some suffixes, etc... a hodgepodge that has grown organically). Give the messiness of the existing options might be better to encourage using ``dependency_resolution:`` in the future.
This commit is contained in:
@@ -7,9 +7,8 @@ from galaxy.config import (
|
||||
configure_logging,
|
||||
find_path,
|
||||
find_root,
|
||||
parse_dependency_options,
|
||||
)
|
||||
from galaxy.tool_util.deps import CachedDependencyManager, DependencyManager, NullDependencyManager
|
||||
from galaxy.tool_util.deps import build_dependency_manager
|
||||
from galaxy.util.script import main_factory
|
||||
|
||||
DESCRIPTION = "Script to manage tool dependencies (with focus on a Conda environments)."
|
||||
@@ -29,24 +28,7 @@ def _build_dependency_manager_no_config(kwargs):
|
||||
configure_logging(kwargs)
|
||||
root = find_root(kwargs)
|
||||
dependency_resolvers_config_file = find_path(kwargs, "dependency_resolvers_config_file", root)
|
||||
use_dependencies, tool_dependency_dir, use_cached_dependency_manager, tool_dependency_cache_dir, precache_dependencies = \
|
||||
parse_dependency_options(kwargs, root, dependency_resolvers_config_file)
|
||||
|
||||
if not use_dependencies:
|
||||
dependency_manager = NullDependencyManager()
|
||||
else:
|
||||
dependency_manager_kwds = {
|
||||
'default_base_path': tool_dependency_dir,
|
||||
'conf_file': dependency_resolvers_config_file,
|
||||
'app_config': kwargs,
|
||||
}
|
||||
|
||||
if use_cached_dependency_manager:
|
||||
dependency_manager_kwds['tool_dependency_cache_dir'] = tool_dependency_cache_dir
|
||||
dependency_manager = CachedDependencyManager(**dependency_manager_kwds)
|
||||
else:
|
||||
dependency_manager = DependencyManager(**dependency_manager_kwds)
|
||||
|
||||
dependency_manager = build_dependency_manager(app_config_dict=kwargs, conf_file=dependency_resolvers_config_file, default_tool_dependency_dir="database/dependencies")
|
||||
return dependency_manager
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user