Skip to content

Commit

Permalink
ok we did need the second package_info call
Browse files Browse the repository at this point in the history
  • Loading branch information
infotroph committed Oct 1, 2024
1 parent 7b31d0f commit f62c8ec
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions base/all/R/pecan_version.R
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,21 @@ pecan_version <- function(version = max(PEcAn.all::pecan_releases$version),
all_pkgs <- sessioninfo::package_info(pkgs = "installed", dependencies = FALSE)
our_pkgs <- all_pkgs[grepl("PEcAn", all_pkgs$package),]

# Why do we need this when `pkgs = "installed"` usually shows loaded too?
# Because there are times a package is loaded but not installed
# (e.g. notably during R CMD check)
all_loaded <- sessioninfo::package_info(pkgs = "loaded", dependencies = FALSE)
our_loaded <- all_loaded[grepl("PEcAn", all_loaded$package),]

# TODO: consider using package_info's callouts of packages where loaded and
# installed versions mismatch -- it's a more elegant version of what we
# were trying for with the "multiple rows for packages with multiple
# versions found" behavior.
our_pkgs <- merge(
x = our_pkgs[,c("package", "ondiskversion", "source")],
y = our_pkgs[!is.na(our_pkgs$loadedversion), c("package", "loadedversion")],
by.x = c("package", "ondiskversion"),
by.y = c("package", "loadedversion"),
x = our_pkgs[, c("package", "ondiskversion", "source")],
y = our_loaded[, c("package", "loadedversion", "source")],
by.x = c("package", "ondiskversion", "source"),
by.y = c("package", "loadedversion", "source"),
all = TRUE,
sort = TRUE)
colnames(our_pkgs) <- c("package", "installed", "source")
Expand Down

0 comments on commit f62c8ec

Please sign in to comment.