Skip to content

Commit

Permalink
Merge pull request #212 from pascal-sauer/master
Browse files Browse the repository at this point in the history
fix "Selection:" prompt during puc creation (actually during .fillRenvCache)
  • Loading branch information
pascal-sauer authored Jul 2, 2024
2 parents 4a59a10 + 9727b60 commit 7d2ba09
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 29 deletions.
2 changes: 1 addition & 1 deletion .buildlibrary
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ValidationKey: '62025600'
ValidationKey: '62126626'
AcceptedWarnings:
- 'Warning: package ''.*'' was built under R version'
- 'Warning: namespace ''.*'' is not available and has been replaced'
Expand Down
9 changes: 5 additions & 4 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ cff-version: 1.2.0
message: If you use this software, please cite it using the metadata from this file.
type: software
title: 'madrat: May All Data be Reproducible and Transparent (MADRaT) *'
version: 3.12.0
date-released: '2024-06-06'
version: 3.12.1
date-released: '2024-07-02'
abstract: Provides a framework which should improve reproducibility and transparency
in data processing. It provides functionality such as automatic meta data creation
and management, rudimentary quality management, data caching, work-flow management
Expand All @@ -14,7 +14,7 @@ authors:
- family-names: Dietrich
given-names: Jan Philipp
email: dietrich@pik-potsdam.de
orcid: 0000-0002-4309-6431
orcid: https://orcid.org/0000-0002-4309-6431
affiliation: Potsdam Institute for Climate Impact Research
- family-names: Baumstark
given-names: Lavinia
Expand Down Expand Up @@ -51,7 +51,8 @@ authors:
email: pascal.sauer@pik-potsdam.de
affiliation: Potsdam Institute for Climate Impact Research
license: BSD-2-Clause
keywords: tool
keywords:
- tool
repository-code: https://github.com/pik-piam/madrat
doi: 10.5281/zenodo.1115490

6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Type: Package
Package: madrat
Title: May All Data be Reproducible and Transparent (MADRaT) *
Version: 3.12.0
Date: 2024-06-06
Version: 3.12.1
Date: 2024-07-02
Authors@R: c(
person("Jan Philipp", "Dietrich", , "dietrich@pik-potsdam.de", role = c("aut", "cre"),
comment = c(affiliation = "Potsdam Institute for Climate Impact Research", ORCID = "0000-0002-4309-6431")),
Expand Down Expand Up @@ -66,4 +66,4 @@ VignetteBuilder:
Config/Keywords: tool
Encoding: UTF-8
LazyData: no
RoxygenNote: 7.3.1
RoxygenNote: 7.3.2
30 changes: 13 additions & 17 deletions R/retrieveData.R
Original file line number Diff line number Diff line change
Expand Up @@ -350,28 +350,24 @@ retrieveData <- function(model, rev = 0, dev = "", cachetype = "def", puc = iden

vcat(3, paste(utils::capture.output({
dummyProject <- withr::local_tempdir()
initRenv <- function() {
initHydrateSnapshotRenv <- function(requiredPackages) {
renv::init()
return(normalizePath(renv::paths$library()))
# hydrate requiredPackages into throwaway renv to ensure they can be restored from cache on this machine
if (utils::packageVersion("renv") >= numeric_version("0.17.0")) {
renv::hydrate(packages = requiredPackages, report = TRUE, prompt = FALSE)
} else {
# call without `report = TRUE, prompt = FALSE` as these were unavailable before renv 0.17.0
renv::hydrate(packages = requiredPackages)
}
# create an renv.lock file documenting all package versions, see renv parameter of pucAggregate
renv::snapshot(type = "all", prompt = FALSE)
}
# init renv in separate session to prevent changes to current session's libpath
dummyLibPath <- callr::r(initRenv, wd = dummyProject, spinner = FALSE, show = TRUE)

# hydrate requiredPackages into throwaway renv to ensure they can be restored from cache on this machine
# run renv::hydrate outside of callr, otherwise site library would not be used if running in renv
if (utils::packageVersion("renv") >= numeric_version("0.17.0")) {
renv::hydrate(packages = requiredPackages, library = dummyLibPath, project = dummyProject,
report = TRUE, prompt = FALSE)
} else {
# call without `report = TRUE, prompt = FALSE` as these were unavailable before renv 0.17.0
renv::hydrate(packages = requiredPackages, library = dummyLibPath, project = dummyProject)
}

# create an renv.lock file documenting all package versions, see renv parameter of pucAggregate
renv::snapshot(project = dummyProject, library = dummyLibPath, prompt = FALSE,
lockfile = "./renv.lock", type = "all")
callr::r(initHydrateSnapshotRenv, args = list(requiredPackages = requiredPackages),
wd = dummyProject, spinner = FALSE, show = TRUE)

# (unlikely) caveat: if packages are updated while retrieveData is running a package's version
# in the created renv.lock might not match the version used to run the full functions
}), collapse = "\n"))
return(invisible(NULL))
}
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# May All Data be Reproducible and Transparent (MADRaT) *

R package **madrat**, version **3.12.0**
R package **madrat**, version **3.12.1**

[![CRAN status](https://www.r-pkg.org/badges/version/madrat)](https://cran.r-project.org/package=madrat) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1115490.svg)](https://doi.org/10.5281/zenodo.1115490) [![R build status](https://github.com/pik-piam/madrat/workflows/check/badge.svg)](https://github.com/pik-piam/madrat/actions) [![codecov](https://codecov.io/gh/pik-piam/madrat/branch/master/graph/badge.svg)](https://app.codecov.io/gh/pik-piam/madrat) [![r-universe](https://pik-piam.r-universe.dev/badges/madrat)](https://pik-piam.r-universe.dev/builds)

Expand Down Expand Up @@ -55,7 +55,7 @@ In case of questions / problems please contact Jan Philipp Dietrich <dietrich@pi

To cite package **madrat** in publications use:

Dietrich J, Baumstark L, Wirth S, Giannousakis A, Rodrigues R, Bodirsky B, Leip D, Kreidenweis U, Klein D, Sauer P (2024). _madrat: May All Data be Reproducible and Transparent (MADRaT)_. doi:10.5281/zenodo.1115490 <https://doi.org/10.5281/zenodo.1115490>, R package version 3.12.0, <https://github.com/pik-piam/madrat>.
Dietrich J, Baumstark L, Wirth S, Giannousakis A, Rodrigues R, Bodirsky B, Leip D, Kreidenweis U, Klein D, Sauer P (2024). _madrat: May All Data be Reproducible and Transparent (MADRaT)_. doi:10.5281/zenodo.1115490 <https://doi.org/10.5281/zenodo.1115490>, R package version 3.12.1, <https://github.com/pik-piam/madrat>.

A BibTeX entry for LaTeX users is

Expand All @@ -64,7 +64,7 @@ A BibTeX entry for LaTeX users is
title = {madrat: May All Data be Reproducible and Transparent (MADRaT)},
author = {Jan Philipp Dietrich and Lavinia Baumstark and Stephen Wirth and Anastasis Giannousakis and Renato Rodrigues and Benjamin Leon Bodirsky and Debbora Leip and Ulrich Kreidenweis and David Klein and Pascal Sauer},
year = {2024},
note = {R package version 3.12.0},
note = {R package version 3.12.1},
url = {https://github.com/pik-piam/madrat},
doi = {10.5281/zenodo.1115490},
}
Expand Down
2 changes: 1 addition & 1 deletion tests/testthat/test-toolAggregate.R
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ test_that("Edge cases work", {
test_that("columns with only zeros in weight produce a warning", {
weight <- pm
weight[, , ] <- 0
expect_message(toolAggregate(pm, rel, weight = weight), "Weight sum is 0")
expect_warning(toolAggregate(pm, rel, weight = weight), "Weight sum is 0")
expect_error(toolAggregate(pm, rel, weight = weight, zeroWeight = "stop"), "Weight sum is 0")
expect_silent(toolAggregate(pm, rel, weight = weight, zeroWeight = "allow"))
})

0 comments on commit 7d2ba09

Please sign in to comment.