From a655fa496c4c47c2f1cccbe582bc60eaf52d091d Mon Sep 17 00:00:00 2001 From: John Chilton Date: Tue, 10 Dec 2013 09:43:07 -0600 Subject: [PATCH] Resolve default package definitions if extact version is unavailable. Old behavior can be reverted by setting up a dependency_resolvers_conf.xml with the following contents ``` ``` The new behavior corresponds to the following dependency_resolvers_conf.xml contents: ``` ``` Still think galaxy_packages should come before tool_shed_packages in resolution order so that deployers can fix broken tool shed installs with manual installs or deploy optimized versions of packages without having to mess with a dependency_resolvers_conf.xml file. --- lib/galaxy/tools/deps/__init__.py | 1 + test/unit/test_tool_deps.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/galaxy/tools/deps/__init__.py b/lib/galaxy/tools/deps/__init__.py index 55809bf1388..4bd546c2520 100644 --- a/lib/galaxy/tools/deps/__init__.py +++ b/lib/galaxy/tools/deps/__init__.py @@ -76,6 +76,7 @@ class DependencyManager( object ): return [ ToolShedPackageDependencyResolver(self), GalaxyPackageDependencyResolver(self), + GalaxyPackageDependencyResolver(self, versionless=True), ] def __parse_resolver_conf_xml(self, tree): diff --git a/test/unit/test_tool_deps.py b/test/unit/test_tool_deps.py index f49a4fe978c..7c206489a98 100644 --- a/test/unit/test_tool_deps.py +++ b/test/unit/test_tool_deps.py @@ -42,9 +42,10 @@ def test_tool_dependencies(): dependency = dm.find_dep( "dep1", None ) assert dependency.version == "2.0" - ## Test default will not be fallen back upon by default + ## Test default resolve will be fall back on default package dependency + ## when using the default resolver. dependency = dm.find_dep( "dep1", "2.1" ) - assert dependency == INDETERMINATE_DEPENDENCY + assert dependency.version == "2.0" # 2.0 is defined as default_version TEST_REPO_USER = "devteam"