Skip to content

Commit

Permalink
Repair renv. (#49)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonthegeek authored Jul 8, 2024
1 parent 289cbac commit 24eedb9
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 40 deletions.
58 changes: 30 additions & 28 deletions renv.lock
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@
},
"cli": {
"Package": "cli",
"Version": "3.6.2",
"Version": "3.6.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
"Hash": "1216ac65ac55ec0058a6f75d7ca0fd52"
"Hash": "b21916dd77a27642b447374a5d30ecf3"
},
"clipr": {
"Package": "clipr",
Expand All @@ -109,15 +109,15 @@
},
"crayon": {
"Package": "crayon",
"Version": "1.5.2",
"Version": "1.5.3",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"grDevices",
"methods",
"utils"
],
"Hash": "e8a1e41acf02548751f45c718d55aa6a"
"Hash": "859d96e65ef198fd43e82b9628d593ef"
},
"credentials": {
"Package": "credentials",
Expand Down Expand Up @@ -213,14 +213,14 @@
},
"fs": {
"Package": "fs",
"Version": "1.6.3",
"Version": "1.6.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"methods"
],
"Hash": "47b5f30c720c23999b913a1a635cf0bb"
"Hash": "15aeb8c27f5ea5161f9f6a641fafd93a"
},
"generics": {
"Package": "generics",
Expand Down Expand Up @@ -250,19 +250,21 @@
},
"gh": {
"Package": "gh",
"Version": "1.4.0",
"Version": "1.4.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"cli",
"gitcreds",
"glue",
"httr2",
"ini",
"jsonlite",
"lifecycle",
"rlang"
],
"Hash": "03533b1c875028233598f848fda44c4c"
"Hash": "fbbbc48eba7a6626a08bb365e44b563b"
},
"gitcreds": {
"Package": "gitcreds",
Expand Down Expand Up @@ -301,9 +303,9 @@
},
"httpuv": {
"Package": "httpuv",
"Version": "1.6.14",
"Version": "1.6.15",
"Source": "Repository",
"Repository": "RSPM",
"Repository": "CRAN",
"Requirements": [
"R",
"R6",
Expand All @@ -312,7 +314,7 @@
"promises",
"utils"
],
"Hash": "16abeb167dbf511f8cc0552efaf05bab"
"Hash": "d55aa087c47a63ead0f6fc10f8fa1ee0"
},
"httr": {
"Package": "httr",
Expand All @@ -331,7 +333,7 @@
},
"httr2": {
"Package": "httr2",
"Version": "1.0.0",
"Version": "1.0.1",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
Expand All @@ -348,7 +350,7 @@
"vctrs",
"withr"
],
"Hash": "e2b30f1fc039a0bab047dd52bb20ef71"
"Hash": "03d741c92fda96d98c3a3f22494e3b4a"
},
"ini": {
"Package": "ini",
Expand Down Expand Up @@ -426,13 +428,13 @@
},
"openssl": {
"Package": "openssl",
"Version": "2.1.1",
"Version": "2.2.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"askpass"
],
"Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5"
"Hash": "2bcca3848e4734eb3b16103bc9aa4b8e"
},
"pillar": {
"Package": "pillar",
Expand Down Expand Up @@ -487,7 +489,7 @@
},
"promises": {
"Package": "promises",
"Version": "1.2.1",
"Version": "1.3.0",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
Expand All @@ -499,7 +501,7 @@
"rlang",
"stats"
],
"Hash": "0d8a15c9d000970ada1ab21405387dee"
"Hash": "434cd5388a3979e74be5c219bcd6e77d"
},
"purrr": {
"Package": "purrr",
Expand Down Expand Up @@ -573,24 +575,24 @@
},
"renv": {
"Package": "renv",
"Version": "1.0.5",
"Version": "1.0.7",
"Source": "Repository",
"Repository": "RSPM",
"Repository": "CRAN",
"Requirements": [
"utils"
],
"Hash": "32c3f93e8360f667ca5863272ec8ba6a"
"Hash": "397b7b2a265bc5a7a06852524dabae20"
},
"rlang": {
"Package": "rlang",
"Version": "1.1.3",
"Version": "1.1.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
"R",
"utils"
],
"Hash": "42548638fae05fd9a9b5f3f437fbbbe2"
"Hash": "3eec01f8b1dee337674b2e34ab1f9bc1"
},
"rprojroot": {
"Package": "rprojroot",
Expand All @@ -604,10 +606,10 @@
},
"rstudioapi": {
"Package": "rstudioapi",
"Version": "0.15.0",
"Version": "0.16.0",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "5564500e25cffad9e22244ced1379887"
"Hash": "96710351d642b70e8f02ddeb237c46a7"
},
"rtoot": {
"Package": "rtoot",
Expand Down Expand Up @@ -675,7 +677,7 @@
},
"stringi": {
"Package": "stringi",
"Version": "1.8.3",
"Version": "1.8.4",
"Source": "Repository",
"Repository": "CRAN",
"Requirements": [
Expand All @@ -684,7 +686,7 @@
"tools",
"utils"
],
"Hash": "058aebddea264f4c99401515182e656a"
"Hash": "39e1144fd75428983dc3f63aa53dfa91"
},
"stringr": {
"Package": "stringr",
Expand Down Expand Up @@ -904,10 +906,10 @@
},
"yaml": {
"Package": "yaml",
"Version": "2.3.8",
"Version": "2.3.9",
"Source": "Repository",
"Repository": "CRAN",
"Hash": "29240487a071f535f5e5d5a323b7afbd"
"Hash": "9cb28d11799d93c953f852083d55ee9e"
},
"zip": {
"Package": "zip",
Expand Down
43 changes: 31 additions & 12 deletions renv/activate.R
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
local({

# the requested version of renv
version <- "1.0.5"
version <- "1.0.7"
attr(version, "sha") <- NULL

# the project directory
project <- getwd()
project <- Sys.getenv("RENV_PROJECT")
if (!nzchar(project))
project <- getwd()

# use start-up diagnostics if enabled
diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE")
Expand Down Expand Up @@ -129,6 +131,21 @@ local({

}

heredoc <- function(text, leave = 0) {

# remove leading, trailing whitespace
trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text)

# split into lines
lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]]

# compute common indent
indent <- regexpr("[^[:space:]]", lines)
common <- min(setdiff(indent, -1L)) - leave
paste(substring(lines, common), collapse = "\n")

}

startswith <- function(string, prefix) {
substring(string, 1, nchar(prefix)) == prefix
}
Expand Down Expand Up @@ -631,6 +648,9 @@ local({

# if the user has requested an automatic prefix, generate it
auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA)
if (is.na(auto) && getRversion() >= "4.4.0")
auto <- "TRUE"

if (auto %in% c("TRUE", "True", "true", "1"))
return(renv_bootstrap_platform_prefix_auto())

Expand Down Expand Up @@ -822,24 +842,23 @@ local({

# the loaded version of renv doesn't match the requested version;
# give the user instructions on how to proceed
remote <- if (!is.null(description[["RemoteSha"]])) {
dev <- identical(description[["RemoteType"]], "github")
remote <- if (dev)
paste("rstudio/renv", description[["RemoteSha"]], sep = "@")
} else {
else
paste("renv", description[["Version"]], sep = "@")
}

# display both loaded version + sha if available
friendly <- renv_bootstrap_version_friendly(
version = description[["Version"]],
sha = description[["RemoteSha"]]
sha = if (dev) description[["RemoteSha"]]
)

fmt <- paste(
"renv %1$s was loaded from project library, but this project is configured to use renv %2$s.",
"- Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.",
"- Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.",
sep = "\n"
)
fmt <- heredoc("
renv %1$s was loaded from project library, but this project is configured to use renv %2$s.
- Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.
- Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.
")
catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote)

FALSE
Expand Down

0 comments on commit 24eedb9

Please sign in to comment.