Skip to contents

Flag packages which have issues in their strong dependencies (Imports:, Depends:, and LinkingTo: in the DESCRIPTION.) These include indirect/upstream dependencies, as well, not just the explicit mentions in the DESCRIPTION file.

Usage

issues_dependencies(packages, meta = meta_packages(), verbose = FALSE)

Arguments

packages

Character vector of names of packages with other issues.

meta

Package metadata from meta_packages().

verbose

TRUE to print progress while checking dependency status, FALSE otherwise.

Value

A data frame with one row for each package impacted by upstream dependencies. Each element of the dependencies column is a nested list describing the problems upstream.

To illustrate the structure of this list, suppose Package tarchetypes depends on package targets, and packages jagstargets and stantargets depend on tarchetypes. In addition, package targets has a problem in R CMD check which might cause problems in tarchetypes and packages downstream.

status_dependencies() represents this information in the following list:

list(
  jagstargets = list(targets = "tarchetypes"),
  tarchetypes = list(targets = character(0)),
  stantargets = list(targets = "tarchetypes")
)

In general, the returned list is of the form:

list(
  impacted_reverse_dependency = list(
    upstream_culprit = c("direct_dependency_1", "direct_dependency_2")
  )
)

where upstream_culprit causes problems in impacted_reverse_dependency through direct dependencies direct_dependency_1 and direct_dependency_2.

Examples

if (FALSE) { # \dontrun{
issues_dependencies(packages = "targets")
} # }