When installing a collection or a traditional role, automatically install any other galaxy repositories that the collections notates as being requirements or dependencies.
Still a work in progress, but it does appear to work currently.
As part of getting dep solving working, some other changes included:
updating code to consistently use 'repository' to refer to "things that can be installed" (ie, stuff that lives at /api/v1/repositories in Galaxy REST API).
loaders and deserializers for the various ways a 'repository' can exist
a github generated snapshot archive of a github repository of a collection or role
a 'source' repository directory (ie, the extracted contents of a repository snapshot archive or a 'editable' link to a checkout of a git_repository of a galaxy repository)
'collection' or 'traditional role' variants of the above
loaders/deserializers and models for all of the info in a repository
a collections galaxy.yml
a collections requirements.yml
a trad role's meta/main.yml
the dependencies in meta/main.yml
a trad roles requirements.yml or meta/requirements.yml
the requirements in requirements.yml
updating the 'install' steps to be finer grained parts with steps for find, fetch, install, update_install_info
updating install actions to expose and use those steps
restructuring the install actions to iteratively install packages and their requirements
separating the concepts of dependencies (runtime ) and requirements (install time) and the cases
where deps are also requirements
updating code to use instances of RepositorySpec to identify a particular repository everywhere (ie, the initial set of repos to install, the info about the already installed repositories, the particular repositories needed to solved a requirements, etc).
ISSUE TYPE
Feature Pull Request
MAZER VERSION
name = mazer
version = 0.2.1
config_file = /home/adrian/.ansible/mazer.yml
uname = Linux, newswoop, 4.18.12-100.fc27.x86_64, #1 SMP Thu Oct 4 16:22:17 UTC 2018, x86_64
executable_location = /home/adrian/venvs/galaxy-cli-py3-2/bin/mazer
python_version = 3.6.6 (default, Jul 19 2018, 16:29:00) [GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
python_executable = /home/adrian/venvs/galaxy-cli-py3-2/bin/python
SUMMARY
When installing a collection or a traditional role, automatically install any other galaxy repositories that the collections notates as being requirements or dependencies.
Still a work in progress, but it does appear to work currently.
As part of getting dep solving working, some other changes included:
ISSUE TYPE
MAZER VERSION
ADDITIONAL INFORMATION