ices-tools-prod / TAF

Transparent Assessment Framework for Reproducible Research
GNU General Public License v3.0
3 stars 2 forks source link

Consider install_github for this, to grab dependencies #4

Open colinpmillar opened 2 years ago

colinpmillar commented 2 years ago

Issue arose when FLCore in in taf library but CRAN dependency iterators is not on the local machine

https://github.com/ices-tools-prod/TAF/blob/0e7c09f52a79ecd84c60d99ab3682e5942fcd464/R/taf.install.R#L73

arni-magnusson commented 3 days ago

The TAF wiki states that

If software entry A depends on entry B, then B should be listed before A in SOFTWARE.bib, so they are installed in the right order.

In other words, when declaring 'FLCore' in SOFTWARE.bib, one could declare 'iterators' just above it. Or, perhaps more commonly, leave it to the user to install CRAN dependencies such as 'iterators' outside the TAF library. This would imply that 'FLCore' is not highly sensitive to the version of 'iterators'.

The taf.boot() functionality in TAF comes with a good number of features, but it does not aspire to solve every possible situation that can arise related to package dependencies (some on CRAN, some on GitHub) and version conflicts. Users can potentially write a software boot script to overcome dependency challenges specific to a particular TAF analysis. Such a boot script could indeed utilize the 'remotes' package and/or other packages.

The SOFTWARE.bib file is an excellent place to document the key software and versions used in a TAF analysis, but SOFTWARE.bib entries will not always guarantee that things will 'just work'. For some software (and especially older versions) it will require some thought and extra work of the user to rerun an existing analysis.