Skip to content

Commit eeb11ee

Browse files
committed
Make it easier to set minimum versions
1 parent 0d7de85 commit eeb11ee

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export(use_testthat)
5656
export(use_tidy_ci)
5757
export(use_tidy_description)
5858
export(use_tidy_eval)
59+
export(use_tidy_versions)
5960
export(use_travis)
6061
export(use_usethis)
6162
export(use_vignette)

NEWS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# usethis 1.0.0.9000
22

3+
* `use_tidy_versions()` sets minimum version requirement for all dependencies.
4+
35
* New family of `browse_` functions that open useful websites (#96)
46

57
* `use_r()` creates and opens an `.R` file

R/tidyverse.R

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
#' * `use_tidy_eval()`: imports a standard set of helpers to facilitate
1616
#' programming with the tidy eval toolkit.
1717
#'
18+
#' * `use_tidy_versions()`: pins all dependencies to require at least
19+
#' the currently installed version.
20+
#'
1821
#' @md
1922
#' @name tidyverse
2023
NULL
@@ -69,6 +72,10 @@ use_tidy_description <- function() {
6972
}
7073

7174

75+
#' @export
76+
#' @rdname tidyverse
77+
#' @param overwrite By default (`FALSE`), only dependencies without version
78+
#' specifications will be modified. Set to `TRUE` to modify all dependencies.
7279
use_tidy_versions <- function(overwrite = FALSE) {
7380
deps <- desc::desc_get_deps(proj_get())
7481

@@ -77,7 +84,7 @@ use_tidy_versions <- function(overwrite = FALSE) {
7784
to_change <- to_change & deps$version == "*"
7885
}
7986

80-
deps$version[to_change] <- purrr::map_chr(deps$package[to_change], dep_version)
87+
deps$version[to_change] <- vapply(deps$package[to_change], dep_version, character(1))
8188
desc::desc_set_deps(deps, file = proj_get())
8289

8390
invisible(TRUE)
@@ -87,7 +94,7 @@ is_installed <- function(x) {
8794
length(find.package(x, quiet = TRUE)) > 0
8895
}
8996
dep_version <- function(x) {
90-
if (is_installed(x)) paste0(">= ", packageVersion(x)) else "*"
97+
if (is_installed(x)) paste0(">= ", utils::packageVersion(x)) else "*"
9198
}
9299

93100

man/tidyverse.Rd

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)