Skip to content

Commit 496cc7e

Browse files
authored
Merge pull request #711 from rstudio/toph-update-renv
Update vendored `renv` with `renv:::vendor()`
2 parents acc8a1c + 4644f0b commit 496cc7e

File tree

6 files changed

+6520
-3402
lines changed

6 files changed

+6520
-3402
lines changed

.lintr

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ linters: linters_with_defaults(
1212
)
1313
exclusions: list(
1414
# renv is vendored code, not ours.
15-
"inst/resources/renv.R",
15+
"inst/vendor/renv.R",
1616
# test resources that are not "source".
1717
"tests/testthat/lockfiles",
1818
"tests/testthat/other-packages",

NEWS.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Packrat 0.9.2 (UNRELEASED)
22

3+
- Update vendored `renv` update to include functions for normalizing and
4+
transforming Posit Package Manager URLs. (#711)
5+
36
# Packrat 0.9.1
47

58
- Fix an issue where Packrat would fail to restore packages installed from

R/renv.R

+72-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,76 @@
11

2-
renv <- new.env()
2+
#
3+
# renv 0.17.3-62: A dependency management toolkit for R.
4+
# Generated using `renv:::vendor()` at 2023-06-05 17:36:24.
5+
#
36

4-
loadRenv <- function() {
5-
script <- system.file("resources/renv.R", package = "packrat")
7+
8+
renv <- new.env(parent = new.env())
9+
10+
renv$initialize <- function() {
11+
12+
# set up renv + imports environments
13+
attr(renv, "name") <- "embedded:renv"
14+
attr(parent.env(renv), "name") <- "imports:renv"
15+
16+
# set up metadata environment
17+
metadata <- list(
18+
embedded = TRUE,
19+
version = "0.17.3-62"
20+
)
21+
22+
# assign into renv
23+
assign("_renv_metadata", as.environment(metadata), envir = renv)
24+
25+
# get imports
26+
imports <- list(
27+
utils = c(
28+
"Rprof",
29+
"URLencode",
30+
"adist",
31+
"available.packages",
32+
"browseURL",
33+
"citation",
34+
"contrib.url",
35+
"download.file",
36+
"download.packages",
37+
"file.edit",
38+
"getCRANmirrors",
39+
"head",
40+
"help",
41+
"install.packages",
42+
"installed.packages",
43+
"modifyList",
44+
"old.packages",
45+
"packageDescription",
46+
"packageVersion",
47+
"read.table",
48+
"remove.packages",
49+
"sessionInfo",
50+
"str",
51+
"summaryRprof",
52+
"tail",
53+
"tar",
54+
"toBibtex",
55+
"untar",
56+
"unzip",
57+
"update.packages",
58+
"zip"
59+
)
60+
)
61+
62+
# load the imports required by renv
63+
for (package in names(imports)) {
64+
namespace <- asNamespace(package)
65+
functions <- imports[[package]]
66+
list2env(mget(functions, envir = namespace), envir = parent.env(renv))
67+
}
68+
69+
# source renv into the aforementioned environment
70+
script <- system.file("vendor/renv.R", package = .packageName)
671
sys.source(script, envir = renv)
72+
73+
# remove our initialize method when we're done
74+
rm(list = "initialize", envir = renv)
75+
776
}

R/zzz.R

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
setenv(key, val)
1212
})
1313

14-
loadRenv()
14+
renv$initialize()
1515

1616
}

0 commit comments

Comments
 (0)