Open markgw opened 7 years ago
This depends on #1 (the big new datatype system).
The list of software dependencies, oddly enough, is compiled at runtime using a method on a ModuleInfo instance. The reason for this is that it allows this process to have access to the local config, so that dependencies may be instantiated with the necessary information to check whether they're available, configured, etc.
This means that we can't even get a module's list of software dependencies until we instantiate it as part of a pipeline. Once a module type is an instance, it will be able to provide this list (assuming it has access to the local config, which may for these purposes by empty).
Automatically generated module docs should contain a list of software dependencies require to run the model.
This should be generated as a nice table or list containing a description of each dependency with some basis information about the software. It should also specify the required version of the software (even before we've got round to implementing the software version checking, #10). It should say whether they're automatically installable and, if not, show or provide a link to installation instructions.
This may require one or two additions to the software dependency representation so that the information to be displayed can be supplied when defining requirements.