{"push_id":1515662967,"size":12,"distinct_size":12,"ref":"refs/heads/deps_framework_overhaul","head":"3e3d41fb94c00a9c6b068626b6f541e714b2500e","before":"47e39b03a00678d093f6549069b8d9c8c4d9e1fb","commits":[{"sha":"cd2cf494fe1ede4ae5b43417f0da21b2ca6473a0","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Allow finer grain specification of requirements.\n\nThis adapts CWL-style ``SoftwareRequirement`` ``specs`` to solve #1927. Here I'm trying to implement the CWL specification in a way that helps enable the feasibility of Conda packaging in Galaxy. It is a delicate balancing act aimed to upset as many interested parties as I can.\n\nTo understand the problem - consider the ``blast+`` requirement found in the Galaxy wrappers. It looks something like this:\n\n```\n<requirement type=\"package\" version=\"2.2.31\" name=\"blast+\">\n```\n\nGreat, that works for Galaxy and Tool Shed packages. It doesn't work for bioconda at all. I think this problem is fairly uncommon - most packages have simple names shared across Debian, Brew, Conda, etc... - but it does happen in some cases that there are inconsistencies. Some people have taken to duplicating the requirement - this is bad and should not be done since they are mutually exclusive and Galaxy will attempt to resolve both.\n\nThis introduces the following syntax for tools with profile >= 16.10:\n\n```\n<requirement type=\"package\" version=\"2.2.31\" name=\"blast+\">\n    <specification uri=\"https://anaconda.org/bioconda/blast\" />\n    <specification uri=\"https://packages.debian.org/sid/ncbi-blast+\" version=\"2.2.31-3\" />\n</requirement>\n```\n\nThis allows finer grain resolution of the requirement without sacrificing the abstract name at the top. It allows the name and the version to be adapted by resolvers as needed (hopefully rarely so).\n\nThis syntax is the future facing one, but obviously this tool would not work on older Galaxy versions. To remedy this - an alternative syntax can be used for tools targetting Galaxy verions pre-16.10:\n\n```\n<requirement type=\"package\" version=\"2.2\" specification_uris=\"https://anaconda.org/bioconda/blast@2.2.31,https://packages.debian.org/jessie/ncbi-blast+@2.2.29-3\">blast+</requirement>\n```\n\nThis syntax sucks - but it does give newer Galaxies the ability to resolve the specifications without breaking the more simple functionality for older Galaxies.\n\nFor more information on the CWL side of this - checkout the discussion on https://github.com/common-workflow-language/cwltool/pull/214. The CWL specification information is defined at http://www.commonwl.org/v1.0/CommandLineTool.html#SoftwarePackage.\n\nConflicts:\n\tlib/galaxy/tools/deps/__init__.py\n\ttest/functional/tools/samples_tool_conf.xml","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/cd2cf494fe1ede4ae5b43417f0da21b2ca6473a0"},{"sha":"330d71d37ce7eaa60b5c8c20ae83aeb36fec4a6c","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Remove tool XML modifications for requirement specifications.\n\nPer discussion on #3117 - some people were in favor of the idea but some were opposed. I think it is still important to implement this for CWL tools and useful from a library perspective. This just removes changes to Galaxy tool XML.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/330d71d37ce7eaa60b5c8c20ae83aeb36fec4a6c"},{"sha":"baf9b82847fc526af56ed8efa7aba4d31d62f400","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"More modular config option handling for dependency resolvers.\n\nThe handling of global configuration options for Conda specific options was hacky and a poor design. This is much more modular and allows the elegant cascading option sources for all resolvers.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/baf9b82847fc526af56ed8efa7aba4d31d62f400"},{"sha":"49a11073a49242fbd86e3ec05fb5029194ec23fd","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Give resolver's with a resolve_all method an interface.\n\nThis follows the existing pattern within the module.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/49a11073a49242fbd86e3ec05fb5029194ec23fd"},{"sha":"8e20e71556cfc90da548243d390deb52d4e9110d","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Change interface of depependency resolver's resolve for consistency.\n\nIf resolve_all takes in requirements, then so should resolve.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/8e20e71556cfc90da548243d390deb52d4e9110d"},{"sha":"35b2b735ff7495576de88b7469c7118f65cb2838","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Modify specification interface with better name.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/35b2b735ff7495576de88b7469c7118f65cb2838"},{"sha":"2fad74ddcf63c03fc2d7fd77fa3838de637a1bf4","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Implement dependency mapping for environment modules, galaxy packages, and Conda.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/2fad74ddcf63c03fc2d7fd77fa3838de637a1bf4"},{"sha":"3d9cdeb70c0170b7795c35e458c878ebe19caf1a","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Outline infrastructure for managing Conda installations outside of Galaxy.\n\n- Construct a DependencyManager according to Galaxy's configuration before Galaxy starts to allow auto installation of Conda.\n- Add script for managing tool dependencies outside of a Galaxy environment.\n- Refactor to allow this to be done without duplicating logic related to defaults, configuration handling, etc....\n\nImplements #3426.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/3d9cdeb70c0170b7795c35e458c878ebe19caf1a"},{"sha":"312f941e46fdbbe6198b6b0e6a3f00867946a6bd","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Swap default for Conda \"auto_init\" to True.\n\nEveryone gets a Conda when Galaxy starts up.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/312f941e46fdbbe6198b6b0e6a3f00867946a6bd"},{"sha":"0b7c6761c8dbb2baf7391dc4a08c4dbed2ccc7f2","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Rework #3433 for changes in #3444.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/0b7c6761c8dbb2baf7391dc4a08c4dbed2ccc7f2"},{"sha":"9baf6d6d8d8d089a8d2c2687ef498a396006b920","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Samples and defaults for Conda mapping.\n\n- Map R to r-base and blast+ to blast for conda dependencies.\n- Add sample environment modules file showing off the new mapping feature.\n- Add integration test case to verify the default conda mapping (R -> r-base in particular).","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/9baf6d6d8d8d089a8d2c2687ef498a396006b920"},{"sha":"3e3d41fb94c00a9c6b068626b6f541e714b2500e","author":{"name":"John Chilton","email":"006bba88ddf60ee719290411dd4f347fca0a9729@gmail.com"},"message":"Fix unit test test_tool_deps to not auto-install Conda.\n\nThis became the default behavior with conda_auto_init defaulting to True.","distinct":true,"url":"https://api.github.com/repos/jmchilton/galaxy/commits/3e3d41fb94c00a9c6b068626b6f541e714b2500e"}]}
{"actor":{"display_login":"jmchilton"}}