This uses the staged_dependencies.yaml to discover the upstream and downstream packages. Another function allows to check that only (and all) direct upstream and downstream packages are listed there. The packages listed there are internal packages. All other dependencies listed in the DESCRIPTION file are external dependencies.

rec_checkout_internal_deps(
  repos_to_process,
  ref,
  direction = "upstream",
  local_repos = get_local_pkgs_from_config(),
  fallback_branch = "main",
  verbose = 0
)

Arguments

repos_to_process

list of list(repo, host) repos to start from

ref

(character) tag/branch to build

direction

(character) direction in which to discover packages either or both of "upstream" and "downstream" to recursively checkout upstream and/or downstream dependencies

local_repos

(data.frame) repositories that should be taken from local rather than cloned; columns are repo, host, directory

fallback_branch

(character) the default branch to try to use if no other matches found

verbose

(numeric) verbosity level, incremental; (0: None, 1: packages that get installed + high-level git operations, 2: includes git checkout infos)

Value

A data frame, one row per checked out repository with columns repo, host and cache_dir