I write to clarify when a package should be in Imports: vs Suggests:. Does the absence of warnings following a R CMD check --as-cran guarantee that packages are placed in the correct field?
For example, consider a package with only one exported function: isTrue <- function(x) hutils::AND(x, TRUE) When I run R CMD check on this package with an otherwise valid DESCRIPTION and NAMESPACE, I get a warning about an undeclared import. That I understand. But if I add Suggests: hutils to DESCRIPTION then R CMD check passes with no warnings. (hutils is installed on my machine, so I don't receive a note about a package being unavailable for checking.) My understanding is that because isTrue won't run without hutils, the package must include hutils under Imports (or Depends:) not Suggests: , but the R CMD check result gives the impression that this decision is at the discretion of the package author. In 'Writing R Extensions', there is a caveat that packages may be in Suggests: rather than Imports if they are "loaded in the body of functions", but I don't understand the distinction. Furthermore, would it make a difference if instead of hutils being used it was a base package (like stats) or a recommended package (like KernSmooth)? Hugh Parsonage Grattan Institute ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel