ThinkR-open / dockerfiler

Easy Dockerfile Creation from R
https://thinkr-open.github.io/dockerfiler/
Other
176 stars 26 forks source link

add_dockerfile_* uses install_github for non-github remote dependencies #16

Open ColinFay opened 2 years ago

ColinFay commented 2 years ago

The internal function creating the dockerfile docker_from_desc always uses remotes::install_github for any non-cran dependencies. But there's more than github!

Our company uses bitbucket but gitlab is also pretty common. Mind you, you're not the only ones to be github-centric - I have already fixed the same issues in usethis and others.

The Remote information is actually in the package description, so handling more providers is as easy as doing:

install_fun <- function(remote) {
  remote <- tolower(remote)
  ifelse(tolower(remote) %in% c("github", "bitbucket", "gitlab"),
           paste0("remote::install_", remote),
           "# Could not generate install code for: ")
}

install_fun("Bitbucket")
#> [1] "remote::install_bitbucket"
install_fun("Github")
#> [1] "remote::install_github"

From there it is easy to adapt golem:::dock_from_desc. I'll prepare a PR when I have some time.

Migrated from https://github.com/ThinkR-open/golem/issues/425

ColinFay commented 2 years ago

Original issue from @antoine-sachet