mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
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 ``` <dependency_resolvers> <tool_shed_packages /> <galaxy_packages /> </dependency_resolvers> ``` The new behavior corresponds to the following dependency_resolvers_conf.xml contents: ``` <dependency_resolvers> <tool_shed_packages /> <galaxy_packages /> <galaxy_packages versionless="true" /> </dependency_resolvers> ``` 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.
This commit is contained in:
@@ -76,6 +76,7 @@ class DependencyManager( object ):
|
||||
return [
|
||||
ToolShedPackageDependencyResolver(self),
|
||||
GalaxyPackageDependencyResolver(self),
|
||||
GalaxyPackageDependencyResolver(self, versionless=True),
|
||||
]
|
||||
|
||||
def __parse_resolver_conf_xml(self, tree):
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user