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
Other issues:
issues_checks()
,
issues_descriptions()
,
issues_versions()
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)
#>
#>