The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Create dependencies file

library(attachment)

Write instructions to install all dependencies from a “DESCRIPTION” file

create_dependencies_file() creates “inst/dependencies.R” file with the instructions to install all dependencies listed in your “DESCRIPTION”. This accounts for the “Remotes” field and write instructions accordingly.

Use create_dependencies_file(to = NULL) to only retrieve the output as a list of character and not save a “inst/dependencies.R” file in your project. This can be used in a Readme.Rmd file for instance, to get the full list of each dependency to install and how, from any “DESCRIPTION” file.

# Create a fake package
tmpdir <- tempfile(pattern = "depsfile")
dir.create(tmpdir)
file.copy(system.file("dummypackage",package = "attachment"), tmpdir,
          recursive = TRUE)
#> [1] TRUE
dummypackage <- file.path(tmpdir, "dummypackage")

# Create the dependencies commands but no file
create_dependencies_file(
  path = file.path(dummypackage,"DESCRIPTION"),
  to = NULL,
  open_file = FALSE)
#> $remotes_content
#> [1] "# No Remotes ----"
#> 
#> $attachment_content
#> # Attachments ----
#> to_install <- c("magrittr")
#>   for (i in to_install) {
#>     message(paste("looking for ", i))
#>     if (!requireNamespace(i, quietly = TRUE)) {
#>       message(paste("     installing", i))
#>       install.packages(i)
#>     }
#>   }

# Create the dependencies files in the package
create_dependencies_file(
  path = file.path(dummypackage,"DESCRIPTION"),
  to = file.path(dummypackage, "inst/dependencies.R"),
  open_file = FALSE)
list.files(file.path(dummypackage, "inst"))
#> [1] "dependencies.R"
# browseURL(dummypackage)

# Clean temp files after this example
unlink(tmpdir, recursive = TRUE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.