diff --git a/renv/activate.R b/renv/activate.R index 019b5a66..5289cc55 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,7 +2,7 @@ local({ # the requested version of renv - version <- "0.16.0" + version <- "0.17.0-38" # the project directory project <- getwd() @@ -94,8 +94,11 @@ local({ return(repos) # if we're testing, re-use the test repositories - if (renv_bootstrap_tests_running()) - return(getOption("renv.tests.repos")) + if (renv_bootstrap_tests_running()) { + repos <- getOption("renv.tests.repos") + if (!is.null(repos)) + return(repos) + } # retrieve current repos repos <- getOption("repos") @@ -344,8 +347,7 @@ local({ return() # allow directories - info <- file.info(tarball, extra_cols = FALSE) - if (identical(info$isdir, TRUE)) { + if (dir.exists(tarball)) { name <- sprintf("renv_%s.tar.gz", version) tarball <- file.path(tarball, name) } @@ -659,8 +661,8 @@ local({ if (version == loadedversion) return(TRUE) - # assume four-component versions are from GitHub; three-component - # versions are from CRAN + # assume four-component versions are from GitHub; + # three-component versions are from CRAN components <- strsplit(loadedversion, "[.-]")[[1]] remote <- if (length(components) == 4L) paste("rstudio/renv", loadedversion, sep = "@") @@ -700,6 +702,12 @@ local({ # warn if the version of renv loaded does not match renv_bootstrap_validate_version(version) + # execute renv load hooks, if any + hooks <- getHook("renv::autoload") + for (hook in hooks) + if (is.function(hook)) + tryCatch(hook(), error = warning) + # load the project renv::load(project) @@ -842,11 +850,29 @@ local({ renv_json_read <- function(file = NULL, text = NULL) { + jlerr <- NULL + # if jsonlite is loaded, use that instead - if ("jsonlite" %in% loadedNamespaces()) - renv_json_read_jsonlite(file, text) + if ("jsonlite" %in% loadedNamespaces()) { + + json <- catch(renv_json_read_jsonlite(file, text)) + if (!inherits(json, "error")) + return(json) + + jlerr <- json + + } + + # otherwise, fall back to the default JSON reader + json <- catch(renv_json_read_default(file, text)) + if (!inherits(json, "error")) + return(json) + + # report an error + if (!is.null(jlerr)) + stop(jlerr) else - renv_json_read_default(file, text) + stop(json) } diff --git a/renv/profiles/lesson-requirements/renv.lock b/renv/profiles/lesson-requirements/renv.lock index eb8297b4..1cc4f001 100644 --- a/renv/profiles/lesson-requirements/renv.lock +++ b/renv/profiles/lesson-requirements/renv.lock @@ -22,26 +22,31 @@ "Version": "2.5.1", "Source": "Repository", "Repository": "RSPM", - "Hash": "470851b6d5d0ac559e9d01bb352b4021", - "Requirements": [] + "Requirements": [ + "R" + ], + "Hash": "470851b6d5d0ac559e9d01bb352b4021" }, "base64enc": { "Package": "base64enc", "Version": "0.1-3", "Source": "Repository", "Repository": "RSPM", - "Hash": "543776ae6848fde2f48ff3816d0628bc", - "Requirements": [] + "Requirements": [ + "R" + ], + "Hash": "543776ae6848fde2f48ff3816d0628bc" }, "bslib": { "Package": "bslib", "Version": "0.4.2", "Source": "Repository", "Repository": "RSPM", - "Hash": "a7fbf03946ad741129dc81098722fca1", "Requirements": [ + "R", "base64enc", "cachem", + "grDevices", "htmltools", "jquerylib", "jsonlite", @@ -49,227 +54,271 @@ "mime", "rlang", "sass" - ] + ], + "Hash": "a7fbf03946ad741129dc81098722fca1" }, "cachem": { "Package": "cachem", - "Version": "1.0.6", + "Version": "1.0.7", "Source": "Repository", - "Repository": "RSPM", - "Hash": "648c5b3d71e6a37e3043617489a0a0e9", + "Repository": "CRAN", "Requirements": [ "fastmap", "rlang" - ] + ], + "Hash": "cda74447c42f529de601fe4d4050daef" }, "cli": { "Package": "cli", "Version": "3.6.0", "Source": "Repository", "Repository": "RSPM", - "Hash": "3177a5a16c243adc199ba33117bd9657", - "Requirements": [] + "Requirements": [ + "R", + "utils" + ], + "Hash": "3177a5a16c243adc199ba33117bd9657" }, "digest": { "Package": "digest", "Version": "0.6.31", "Source": "Repository", "Repository": "RSPM", - "Hash": "8b708f296afd9ae69f450f9640be8990", - "Requirements": [] + "Requirements": [ + "R", + "utils" + ], + "Hash": "8b708f296afd9ae69f450f9640be8990" }, "ellipsis": { "Package": "ellipsis", "Version": "0.3.2", "Source": "Repository", "Repository": "RSPM", - "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077", "Requirements": [ + "R", "rlang" - ] + ], + "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077" }, "evaluate": { "Package": "evaluate", "Version": "0.20", "Source": "Repository", "Repository": "RSPM", - "Hash": "4b68aa51edd89a0e044a66e75ae3cc6c", - "Requirements": [] + "Requirements": [ + "R", + "methods" + ], + "Hash": "4b68aa51edd89a0e044a66e75ae3cc6c" }, "fastmap": { "Package": "fastmap", - "Version": "1.1.0", + "Version": "1.1.1", "Source": "Repository", "Repository": "CRAN", - "Hash": "77bd60a6157420d4ffa93b27cf6a58b8", - "Requirements": [] + "Hash": "f7736a18de97dea803bde0a2daaafb27" }, "fs": { "Package": "fs", "Version": "1.6.1", "Source": "Repository", - "Repository": "CRAN", - "Hash": "f4dcd23b67e33d851d2079f703e8b985", - "Requirements": [] + "Repository": "RSPM", + "Requirements": [ + "R", + "methods" + ], + "Hash": "f4dcd23b67e33d851d2079f703e8b985" }, "glue": { "Package": "glue", "Version": "1.6.2", "Source": "Repository", "Repository": "RSPM", - "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e", - "Requirements": [] + "Requirements": [ + "R", + "methods" + ], + "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" }, "highr": { "Package": "highr", "Version": "0.10", "Source": "Repository", "Repository": "RSPM", - "Hash": "06230136b2d2b9ba5805e1963fa6e890", "Requirements": [ + "R", "xfun" - ] + ], + "Hash": "06230136b2d2b9ba5805e1963fa6e890" }, "htmltools": { "Package": "htmltools", "Version": "0.5.4", "Source": "Repository", "Repository": "RSPM", - "Hash": "9d27e99cc90bd701c0a7a63e5923f9b7", "Requirements": [ + "R", "base64enc", "digest", "ellipsis", "fastmap", - "rlang" - ] + "grDevices", + "rlang", + "utils" + ], + "Hash": "9d27e99cc90bd701c0a7a63e5923f9b7" }, "jquerylib": { "Package": "jquerylib", "Version": "0.1.4", "Source": "Repository", "Repository": "RSPM", - "Hash": "5aab57a3bd297eee1c1d862735972182", "Requirements": [ "htmltools" - ] + ], + "Hash": "5aab57a3bd297eee1c1d862735972182" }, "jsonlite": { "Package": "jsonlite", "Version": "1.8.4", "Source": "Repository", "Repository": "RSPM", - "Hash": "a4269a09a9b865579b2635c77e572374", - "Requirements": [] + "Requirements": [ + "methods" + ], + "Hash": "a4269a09a9b865579b2635c77e572374" }, "knitr": { "Package": "knitr", "Version": "1.42", "Source": "Repository", "Repository": "RSPM", - "Hash": "8329a9bcc82943c8069104d4be3ee22d", "Requirements": [ + "R", "evaluate", "highr", + "methods", + "tools", "xfun", "yaml" - ] + ], + "Hash": "8329a9bcc82943c8069104d4be3ee22d" }, "lifecycle": { "Package": "lifecycle", "Version": "1.0.3", "Source": "Repository", "Repository": "RSPM", - "Hash": "001cecbeac1cff9301bdc3775ee46a86", "Requirements": [ + "R", "cli", "glue", "rlang" - ] + ], + "Hash": "001cecbeac1cff9301bdc3775ee46a86" }, "magrittr": { "Package": "magrittr", "Version": "2.0.3", "Source": "Repository", "Repository": "RSPM", - "Hash": "7ce2733a9826b3aeb1775d56fd305472", - "Requirements": [] + "Requirements": [ + "R" + ], + "Hash": "7ce2733a9826b3aeb1775d56fd305472" }, "memoise": { "Package": "memoise", "Version": "2.0.1", "Source": "Repository", "Repository": "RSPM", - "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c", "Requirements": [ "cachem", "rlang" - ] + ], + "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" }, "mime": { "Package": "mime", "Version": "0.12", "Source": "Repository", "Repository": "RSPM", - "Hash": "18e9c28c1d3ca1560ce30658b22ce104", - "Requirements": [] + "Requirements": [ + "tools" + ], + "Hash": "18e9c28c1d3ca1560ce30658b22ce104" }, "rappdirs": { "Package": "rappdirs", "Version": "0.3.3", "Source": "Repository", "Repository": "RSPM", - "Hash": "5e3c5dc0b071b21fa128676560dbe94d", - "Requirements": [] + "Requirements": [ + "R" + ], + "Hash": "5e3c5dc0b071b21fa128676560dbe94d" }, "renv": { "Package": "renv", - "Version": "0.16.0", + "Version": "0.17.0-38", "Source": "Repository", - "Repository": "RSPM", - "Hash": "c9e8442ab69bc21c9697ecf856c1e6c7", - "Requirements": [] + "Repository": "https://carpentries.r-universe.dev", + "RemoteUrl": "https://github.com/rstudio/renv", + "RemoteRef": "0.17.0-38", + "RemoteSha": "fd9181395e13652d2b3dc942ac1bf807e9564c25", + "Requirements": [ + "utils" + ], + "Hash": "4a11fe072b17cd901835053b25821a7f" }, "rlang": { "Package": "rlang", "Version": "1.0.6", "Source": "Repository", "Repository": "RSPM", - "Hash": "4ed1f8336c8d52c3e750adcdc57228a7", - "Requirements": [] + "Requirements": [ + "R", + "utils" + ], + "Hash": "4ed1f8336c8d52c3e750adcdc57228a7" }, "rmarkdown": { "Package": "rmarkdown", "Version": "2.20", "Source": "Repository", "Repository": "RSPM", - "Hash": "716fde5382293cc94a71f68c85b78d19", "Requirements": [ + "R", "bslib", "evaluate", "htmltools", "jquerylib", "jsonlite", "knitr", + "methods", "stringr", "tinytex", + "tools", + "utils", "xfun", "yaml" - ] + ], + "Hash": "716fde5382293cc94a71f68c85b78d19" }, "sass": { "Package": "sass", "Version": "0.4.5", "Source": "Repository", "Repository": "RSPM", - "Hash": "2bb4371a4c80115518261866eab6ab11", "Requirements": [ "R6", "fs", "htmltools", "rappdirs", "rlang" - ] + ], + "Hash": "2bb4371a4c80115518261866eab6ab11" }, "stringi": { "Package": "stringi", @@ -280,16 +329,21 @@ "RemoteUrl": "https://github.com/gagolews/stringi", "RemoteRef": "v1.7.12", "RemoteSha": "e4cf3176bc3943e6c477885be3445cbbd7d4bab6", - "Hash": "832ef2a01603f8f5b4f2af024080d5d9", - "Requirements": [] + "Requirements": [ + "R", + "stats", + "tools", + "utils" + ], + "Hash": "832ef2a01603f8f5b4f2af024080d5d9" }, "stringr": { "Package": "stringr", "Version": "1.5.0", "Source": "Repository", "Repository": "RSPM", - "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8", "Requirements": [ + "R", "cli", "glue", "lifecycle", @@ -297,46 +351,50 @@ "rlang", "stringi", "vctrs" - ] + ], + "Hash": "671a4d384ae9d32fc47a14e98bfa3dc8" }, "tinytex": { "Package": "tinytex", "Version": "0.44", "Source": "Repository", "Repository": "CRAN", - "Hash": "c0f007e2eeed7722ce13d42b84a22e07", "Requirements": [ "xfun" - ] + ], + "Hash": "c0f007e2eeed7722ce13d42b84a22e07" }, "vctrs": { "Package": "vctrs", "Version": "0.5.2", "Source": "Repository", "Repository": "RSPM", - "Hash": "e4ffa94ceed5f124d429a5a5f0f5b378", "Requirements": [ + "R", "cli", "glue", "lifecycle", "rlang" - ] + ], + "Hash": "e4ffa94ceed5f124d429a5a5f0f5b378" }, "xfun": { "Package": "xfun", "Version": "0.37", "Source": "Repository", - "Repository": "CRAN", - "Hash": "a6860e1400a8fd1ddb6d9b4230cc34ab", - "Requirements": [] + "Repository": "RSPM", + "Requirements": [ + "stats", + "tools" + ], + "Hash": "a6860e1400a8fd1ddb6d9b4230cc34ab" }, "yaml": { "Package": "yaml", "Version": "2.3.7", "Source": "Repository", "Repository": "CRAN", - "Hash": "0d0056cc5383fbc240ccd0cb584bf436", - "Requirements": [] + "Hash": "0d0056cc5383fbc240ccd0cb584bf436" } } }