Open bernt-matthias opened 6 years ago
@bernt-matthias Will look into this, since I am planning to work on shed-install anyway.
I think in this case the tool list yaml should be leading: If you specify a version, it should be installed. Period. The current behaviour as you describe is that it does not install a tool if it is already installed at another version. I will make this behaviour optional. Furthermore I want to add a "latest" option, that overrides all version statements and just gets the latest from the repo. (This is the default behaviour for new tools if a version is not specified. But it would be nice to apply this to tool lists with specified versions as well.)
This sounds excellent.
Great, that's always appreciated!
If you specify a version, it should be installed.
That is (sort-of) already the case, the changeset revisions are being respected (as long as they are marked as installable). To get the latest revision I'd love to see a special keyword 'latest', but anything to advance this would be great.
That is (sort-of) already the case,
Yeah. I saw this in the code when I was looking at it. I will write some tests to verify this.
Just refactored most of the variables from it
-> installed_tool
and the like. Especially in the comparisons the variable names where not quite clear. But now that is a lot better.
I will add a --latest
flag to the argsparser which overrides all revisions, and try to get a latest
keyword in the tool_list.
I will write some tests to verify this.
Already done in https://github.com/galaxyproject/ephemeris/pull/58, but more tests are always good. Happy to see updated variable names.
@bernt-matthias I looked into this issue but it is very hard to implement this The toolshedclient returns this information:
[{u'changeset_revision': u'4afe13ac23b6',
u'deleted': False,
u'dist_to_shed': False,
u'error_message': u'',
u'name': u'velvet_toolsuite',
u'owner': u'edward-kirton',
u'status': u'Installed'}]
Version number is not there. There is version number information in the ToolShedClient instance. It would require a few afternoons work to get a version checking algorithm into place for shed-install. An easier way would be to extend the galaxy api to allow this feature (and then update bioblend). But that is outside the scope of ephemeris.
Agreed. So we should file an issue there?
Yes, it would then be a lot easier to get it into ephemeris.
It would be nice to have to possibility to install a tool by specifying a version (then the latest revision of the version should be installed / updated). See also https://github.com/galaxyproject/ansible-galaxy-tools/issues/46