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

A data frame with R-universe package check results returned by meta_checks().

verbose

TRUE to print progress while checking issues with dependencies, FALSE otherwise.

Value

A nested list of problems triggered by dependencies. The names of top-level elements are packages affected downstream. The value of each top-level element is a list whose names are Each element of this inner list is a character vector of relevant dependencies of the downstream package.

For example, consider a linear dependency graph where crew.cluster depends on crew, crew depends on mirai, and mirai depends on nanonext. We represent the graph like this: nanonext -> mirai -> crew -> crew.cluster. If nanonext has an issue, then issues_dependencies() returns list(crew.cluster = list(nanonext = "crew"), ...), where ... stands for additional named list entries. From this list, we deduce that nanonext is causing an issue affecting crew.cluster through the direct dependency on crew.

The choice in output format from issues_dependencies() allows package maintainers to more easily figure out which direct dependencies are contributing issues and drop those direct dependencies if necessary.

Package issues

Functions like issues_versions() and issues_descriptions() perform health checks for all packages in R-multiverse. For a complete list of checks, see the issues_*() functions listed at https://r-multiverse.org/multiverse.internals/reference/index.html. record_versions() updates the version number history of releases in R-multiverse, and record_issues() gathers together all the issues about R-multiverse packages.

See also

Examples

  meta <- meta_packages(repo = "https://wlandau.r-universe.dev")
  issues_dependencies(packages = character(0L), meta = meta)
#> list()
  issues_dependencies(packages = "crew.aws.batch", meta = meta)
#> list()
  issues_dependencies(packages = "nanonext", meta = meta)
#> $mirai
#> $mirai$nanonext
#> character(0)
#> 
#> 
#> $crew
#> $crew$nanonext
#> [1] "mirai"
#> 
#> 
#> $crew.aws.batch
#> $crew.aws.batch$nanonext
#> [1] "crew"
#> 
#> 
#> $crew.cluster
#> $crew.cluster$nanonext
#> [1] "crew"
#> 
#> 
  issues_dependencies(packages = "crew", meta = meta)
#> $crew.aws.batch
#> $crew.aws.batch$crew
#> character(0)
#> 
#> 
#> $crew.cluster
#> $crew.cluster$crew
#> character(0)
#> 
#> 
  issues_dependencies(packages = c("crew", "mirai"), meta = meta)
#> $crew.aws.batch
#> $crew.aws.batch$crew
#> character(0)
#> 
#> $crew.aws.batch$mirai
#> [1] "crew"
#> 
#> 
#> $crew.cluster
#> $crew.cluster$crew
#> character(0)
#> 
#> $crew.cluster$mirai
#> [1] "crew"
#> 
#> 
#> $crew
#> $crew$mirai
#> character(0)
#> 
#>