galaxy-iuc / standards

Documentation for standards and best practices from the Galaxy IUC
http://galaxy-iuc-standards.readthedocs.io/en/latest/
6 stars 16 forks source link

Every tool needs a requirement? #30

Open bgruening opened 8 years ago

bgruening commented 8 years ago

I was reviewing the PR from @mvdbeek and @bwlang and saw this: https://github.com/galaxyproject/galaxy/pull/2554/files#diff-263ae1620291cf7bcd13ac7faf7be5f0R231

Since we are now using conda packages, it is very easy to annotate every tool with perl, python etc. as dependency. I think we should do this and require every tool to have a dependency.

Can anyone think of any tool that does not need a dependency at all?

hexylena commented 8 years ago

hmm, would samtools count because it's a galaxy dependency? (I realise that no one should build tools around a built-in lib, but who knows, some people might).

Edit: Or really any other tool that is (reasonably) available on every nix system. cat? md5sum?

bgruening commented 8 years ago

You want to use a fixed version for you tool and independent of the Galaxy version. Especially if you submit jobs from Docker to somewhere.

hexylena commented 8 years ago

But for us, probably this makes very good sense. :+1:

jmchilton commented 7 years ago

Absolutely - huge (though unofficial) +1 from me. In the next release of planemo planemo lint --conda_requirements will ensure there is at least one requirement. This is very important for building containers for tools.

peterjc commented 7 years ago

Presumably for otherwise self-contained Perl/Python/Java/... tools consisting of a single script/jar file and its XML wrapper, you'd like there to be an explicit dependency on Perl/Python/Java/...?

martenson commented 7 years ago

@peterjc I assume that is the approach.