[galaxyproject/galaxy] f597b0: Refactor ToolBox functionality.
Branch: refs/heads/dev Home: https://github.com/galaxyproject/galaxy Commit: f597b08b878f478b9beee32c59b5e4218458c4fe https://github.com/galaxyproject/galaxy/commit/f597b08b878f478b9beee32c59b5e... Author: John Chilton <jmchilton@gmail.com> Date: 2015-12-30 (Wed, 30 Dec 2015) Changed paths: M lib/galaxy/tools/__init__.py M lib/galaxy/tools/toolbox/__init__.py M lib/galaxy/tools/toolbox/base.py Log Message: ----------- Refactor ToolBox functionality. This moves in two directions toward a better design. It moves some Galaxy tool specific logic out of the AbstractToolBox (which should just be worried about panels, etc... IMO) and it moves more galaxy-lib functionality (dependency resolution) into a galaxy-lib module (galaxy.tools.toolbox). It does this by creating a BaseGalaxyToolBox that can reason about which files look like tools and what dependency resoution should be - without dependening on Galaxy models, job running, etc... that is in galaxy.tools.__init__. Commit: 204aa96206a7fdaff69d22fde6387a9956c1a0bc https://github.com/galaxyproject/galaxy/commit/204aa96206a7fdaff69d22fde6387... Author: John Chilton <jmchilton@gmail.com> Date: 2015-12-30 (Wed, 30 Dec 2015) Changed paths: M lib/galaxy/tools/deps/__init__.py M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/tools/deps/resolvers/conda.py M lib/galaxy/tools/deps/resolvers/galaxy_packages.py M lib/galaxy/tools/deps/resolvers/modules.py M lib/galaxy/tools/deps/resolvers/tool_shed_packages.py M lib/galaxy/tools/deps/resolvers/unlinked_tool_shed_packages.py A lib/galaxy/tools/deps/views.py M lib/galaxy/tools/toolbox/base.py A lib/galaxy/webapps/galaxy/api/tool_dependencies.py M lib/galaxy/webapps/galaxy/buildapp.py M test/unit/test_routes.py Log Message: ----------- API-ify tool dependency resolution. Commit: b167a741a444c3988447b0d63a1ba3dc5e4e62f5 https://github.com/galaxyproject/galaxy/commit/b167a741a444c3988447b0d63a1ba... Author: John Chilton <jmchilton@gmail.com> Date: 2015-12-30 (Wed, 30 Dec 2015) Changed paths: M lib/galaxy/tools/deps/__init__.py M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/tools/deps/resolvers/conda.py M lib/galaxy/tools/deps/resolvers/galaxy_packages.py M lib/galaxy/tools/deps/resolvers/modules.py M lib/galaxy/tools/deps/resolvers/resolver_mixins.py M lib/galaxy/tools/deps/resolvers/tool_shed_packages.py M lib/galaxy/tools/deps/resolvers/unlinked_tool_shed_packages.py M lib/galaxy/webapps/galaxy/api/tool_dependencies.py Log Message: ----------- Include information about whether matches are dependencies are exact. Commit: 71a876840a6c9acf11bd2ac7706ec21b32d2fb88 https://github.com/galaxyproject/galaxy/commit/71a876840a6c9acf11bd2ac7706ec... Author: John Chilton <jmchilton@gmail.com> Date: 2015-12-30 (Wed, 30 Dec 2015) Changed paths: M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/tools/deps/resolvers/conda.py M lib/galaxy/tools/deps/resolvers/galaxy_packages.py M lib/galaxy/tools/deps/resolvers/tool_shed_packages.py M lib/galaxy/tools/deps/resolvers/unlinked_tool_shed_packages.py M lib/galaxy/tools/deps/views.py M lib/galaxy/webapps/galaxy/api/tool_dependencies.py M lib/galaxy/webapps/galaxy/buildapp.py Log Message: ----------- Implement concept of listable dependency resolvers. DependencyResolver classes which can enumerate the requirements then can resolve "exactly" should mix in ListableDependencyResolver and implement list_dependencies. The galaxy package resolver can easily be enumerated but its subclasses like the tool shed dependency resolver couldn't, so I have separated that class into a base class that there others can inherit and an actual resolver that implements ListableDependencyResolver. Rebase into listable. Commit: 29f20cf09c18e24e898517bf685418ec1db4cd11 https://github.com/galaxyproject/galaxy/commit/29f20cf09c18e24e898517bf68541... Author: John Chilton <jmchilton@gmail.com> Date: 2015-12-30 (Wed, 30 Dec 2015) Changed paths: M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/tools/deps/resolvers/conda.py M lib/galaxy/tools/deps/views.py M lib/galaxy/webapps/galaxy/buildapp.py Log Message: ----------- Implement concept of installable dependency resolvers. DependencyResolver classes which can install "simple" dependences should mix in the new InstallableDependencyResolver and implement install_dependency. Currently this is only the conda dependency resolver, one can easily imagine doing the same for the brew dependency resolver and potentially doing it for some variant of the unlinked dependency resolvers. Commit: 868a7dfe0e03503adaf6646e10d8184d18b66a34 https://github.com/galaxyproject/galaxy/commit/868a7dfe0e03503adaf6646e10d81... Author: John Chilton <jmchilton@gmail.com> Date: 2016-01-02 (Sat, 02 Jan 2016) Changed paths: M lib/galaxy/tools/deps/conda_util.py M lib/galaxy/tools/deps/resolvers/conda.py M test/unit/tools/test_conda_resolution.py Log Message: ----------- Modify unmodified conda behavior. - Add configuration option for overriding condarc location used by conda resolve commands. - Default location of condarc to be in tool_dependency_dir. - Delay updating the condarc to ensure channels until this would actually be needed (during package installation). - Add configuration flag to allow Galaxy to *NOT* check the PATH for conda. - Update unit test that verifies conda's installation to never use conda on PATH, since a precondition of this test is that certain packages haven't been installed previously. - Change default behavior to not check the PATH for conda, everything else here I feel pretty good about - this I'm ambivalent about - it will reduce error reports and problems with network filesystems, but doesn't seem to be good Unix best practice. Points 2 and 3 above should address this issue: https://github.com/galaxyproject/ansible-galaxy-extras/pull/33#issuecomment-... This commit also addresses most of #1406. Commit: ef9e1876a2d4dd02718784f2b9f1045f2f9d0b59 https://github.com/galaxyproject/galaxy/commit/ef9e1876a2d4dd02718784f2b9f10... Author: John Chilton <jmchilton@gmail.com> Date: 2016-01-03 (Sun, 03 Jan 2016) Changed paths: M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/webapps/galaxy/api/tool_dependencies.py Log Message: ----------- Fixup dependency module and API comments. Thanks to suggestions by @bgruening. Commit: 4650d77bd988b90b6652cc108f83bf6d86cae271 https://github.com/galaxyproject/galaxy/commit/4650d77bd988b90b6652cc108f83b... Author: John Chilton <jmchilton@gmail.com> Date: 2016-01-03 (Sun, 03 Jan 2016) Changed paths: M lib/galaxy/tools/deps/conda_util.py Log Message: ----------- Fix listing conda requirements if conda hasn't been installed. Fix problem discovered by @bgruening. Commit: 5ca71d6f292ff122d35c25d0dfd7c0e14d5366e2 https://github.com/galaxyproject/galaxy/commit/5ca71d6f292ff122d35c25d0dfd7c... Author: Björn Grüning <bjoern@gruenings.eu> Date: 2016-01-03 (Sun, 03 Jan 2016) Changed paths: M lib/galaxy/tools/__init__.py M lib/galaxy/tools/deps/__init__.py M lib/galaxy/tools/deps/conda_util.py M lib/galaxy/tools/deps/resolvers/__init__.py M lib/galaxy/tools/deps/resolvers/conda.py M lib/galaxy/tools/deps/resolvers/galaxy_packages.py M lib/galaxy/tools/deps/resolvers/modules.py M lib/galaxy/tools/deps/resolvers/resolver_mixins.py M lib/galaxy/tools/deps/resolvers/tool_shed_packages.py M lib/galaxy/tools/deps/resolvers/unlinked_tool_shed_packages.py A lib/galaxy/tools/deps/views.py M lib/galaxy/tools/toolbox/__init__.py M lib/galaxy/tools/toolbox/base.py A lib/galaxy/webapps/galaxy/api/tool_dependencies.py M lib/galaxy/webapps/galaxy/buildapp.py M test/unit/test_routes.py M test/unit/tools/test_conda_resolution.py Log Message: ----------- Merge pull request #1409 from jmchilton/dep_resolution_api Evolving from dependency resolution to dependency management. Compare: https://github.com/galaxyproject/galaxy/compare/0aa1c5133e02...5ca71d6f292f
participants (1)
-
GitHub