Commit 0f0ad9d 1 parent 80f6bef commit 0f0ad9d Copy full SHA for 0f0ad9d
File tree 3 files changed +39
-4
lines changed
3 files changed +39
-4
lines changed Original file line number Diff line number Diff line change 1
1
2
2
# renv (development version)
3
3
4
+ * ` renv ` now also passes any custom headers available to
5
+ ` utils::available.packages() ` during bootstrap. (#1942 )
6
+
4
7
* Fixed an issue where ` renv ` could fail during installation of packages
5
8
stored within repository sub-directories, if that repository also
6
9
contained a top-level DESCRIPTION file. (#1941 )
Original file line number Diff line number Diff line change @@ -207,7 +207,11 @@ renv_bootstrap_download_impl <- function(url, destfile) {
207
207
)
208
208
209
209
if (" headers" %in% names(formals(utils :: download.file )))
210
- args $ headers <- renv_bootstrap_download_custom_headers(url )
210
+ {
211
+ headers <- renv_bootstrap_download_custom_headers(url )
212
+ if (length(headers ) && is.character(headers ))
213
+ args $ headers <- headers
214
+ }
211
215
212
216
do.call(utils :: download.file , args )
213
217
@@ -286,10 +290,22 @@ renv_bootstrap_download_cran_latest_find <- function(version) {
286
290
for (type in types ) {
287
291
for (repos in renv_bootstrap_repos()) {
288
292
293
+ # build arguments for utils::available.packages() call
294
+ args <- list (type = type , repos = repos )
295
+
296
+ # add custom headers if available -- note that
297
+ # utils::available.packages() will pass this to download.file()
298
+ if (" headers" %in% names(formals(utils :: download.file )))
299
+ {
300
+ headers <- renv_bootstrap_download_custom_headers(url )
301
+ if (length(headers ) && is.character(headers ))
302
+ args $ headers <- headers
303
+ }
304
+
289
305
# retrieve package database
290
306
db <- tryCatch(
291
307
as.data.frame(
292
- utils :: available.packages( type = type , repos = repos ),
308
+ do.call( utils :: available.packages , args ),
293
309
stringsAsFactors = FALSE
294
310
),
295
311
error = identity
Original file line number Diff line number Diff line change @@ -306,7 +306,11 @@ local({
306
306
)
307
307
308
308
if (" headers" %in% names(formals(utils :: download.file )))
309
- args $ headers <- renv_bootstrap_download_custom_headers(url )
309
+ {
310
+ headers <- renv_bootstrap_download_custom_headers(url )
311
+ if (length(headers ) && is.character(headers ))
312
+ args $ headers <- headers
313
+ }
310
314
311
315
do.call(utils :: download.file , args )
312
316
@@ -385,10 +389,22 @@ local({
385
389
for (type in types ) {
386
390
for (repos in renv_bootstrap_repos()) {
387
391
392
+ # build arguments for utils::available.packages() call
393
+ args <- list (type = type , repos = repos )
394
+
395
+ # add custom headers if available -- note that
396
+ # utils::available.packages() will pass this to download.file()
397
+ if (" headers" %in% names(formals(utils :: download.file )))
398
+ {
399
+ headers <- renv_bootstrap_download_custom_headers(url )
400
+ if (length(headers ) && is.character(headers ))
401
+ args $ headers <- headers
402
+ }
403
+
388
404
# retrieve package database
389
405
db <- tryCatch(
390
406
as.data.frame(
391
- utils :: available.packages( type = type , repos = repos ),
407
+ do.call( utils :: available.packages , args ),
392
408
stringsAsFactors = FALSE
393
409
),
394
410
error = identity
You can’t perform that action at this time.
0 commit comments