From 43c78d8a721248a74fbf89c40542a3f61037d6ec Mon Sep 17 00:00:00 2001 From: "Peter E. DeWitt" Date: Mon, 17 Aug 2026 12:07:32 -0600 Subject: [PATCH] fix #23 --- DESCRIPTION | 4 ++-- NEWS.md | 12 ++++++++++++ R/write.R | 10 +++++++++- cran-comments.md | 11 +++++++++++ tests/test-build_r_pkg.R | 10 ++++++++-- 5 files changed, 42 insertions(+), 5 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index e38701f..d3b04c8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: REDCapExporter Title: Automated Construction of R Data Packages from REDCap Projects -Version: 0.3.5 +Version: 0.3.6 Authors@R: c( person(given = "Peter", family = "DeWitt", email = "peter.dewitt@cuanschutz.edu", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-6391-0795")) ) @@ -32,4 +32,4 @@ Suggests: roxygen2, secret VignetteBuilder: knitr, rmarkdown -Config/roxygen2/version: 8.0.0 +Config/roxygen2/version: 8.1.0 diff --git a/NEWS.md b/NEWS.md index 996ba5c..2f0e973 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,15 @@ +# Version 0.3.6 + +## Improvements + +* Use the installed `roxygen2` version in DESCRIPTION files generated for data + packages, and omit the roxygen2 configuration field when `roxygen2` is not + available. + +## Testing Change + +* Make `test-build_r_pkg.R` robust to future `roxygen2` version changes. + # Version 0.3.5 The primary objective of these patches is to make the package more robust to not diff --git a/R/write.R b/R/write.R index c961488..ff1cf37 100644 --- a/R/write.R +++ b/R/write.R @@ -30,6 +30,14 @@ write_description_file <- function(access_time, user, roles, project_info, path) formatC(lubridate::minute(access_time), width = 2, flag = 0), sep = ".") + roxygen2_config <- if (requireNamespace("roxygen2", quietly = TRUE)) { + paste0("Config/roxygen2/version: ", + as.character(utils::packageVersion("roxygen2")), + "\n") + } else { + "" + } + cat("Package: ", paste0("rcd", project_info$project_id), "\n", "Title: ", project_info$project_title, "\n", "Version: ", pkg_version, "\n", @@ -40,7 +48,7 @@ write_description_file <- function(access_time, user, roles, project_info, path) "LazyData: true\n", "Suggests:\n knitr,\n roxygen2\n", "VignetteBuilder: knitr\n", - "Config/roxygen2/version: 8.0.0\n", + roxygen2_config, sep = "", file = paste(path, "DESCRIPTION", sep = "/"), append = FALSE) invisible() diff --git a/cran-comments.md b/cran-comments.md index 09bf1e1..54ef0db 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,3 +1,14 @@ +# Version 0.3.6 + +Make generated data package DESCRIPTION files and tests robust to changes in +the installed `roxygen2` version. + +## Testing + +- Local macOS, R 4.6.1 + - R CMD check --as-cran REDCapExporter_0.3.6.tar.gz + - Status: pending + # Version 0.3.5 Reduce number of suggested packages and make the package more robust to missing diff --git a/tests/test-build_r_pkg.R b/tests/test-build_r_pkg.R index 821cccd..54f7338 100644 --- a/tests/test-build_r_pkg.R +++ b/tests/test-build_r_pkg.R @@ -23,10 +23,16 @@ d <- read.dcf(file.path(pkgdir, "DESCRIPTION")) stopifnot( d[1, "Package"] == "rcd14465", grepl("\\d{4}\\.\\d{2}\\.\\d{2}\\.\\d{2}\\.\\d{2}", d[1, "Version"]), - all(c("knitr", "roxygen2") %in% trimws(strsplit(d[1, "Suggests"], ",")[[1]])), - d[1, "Config/roxygen2/version"] == "8.0.0" + all(c("knitr", "roxygen2") %in% trimws(strsplit(d[1, "Suggests"], ",")[[1]])) ) +if (requireNamespace("roxygen2", quietly = TRUE)) { + stopifnot( + "Config/roxygen2/version" %in% colnames(d), + !is.na(numeric_version(d[1, "Config/roxygen2/version"])) + ) +} + # check the file structure of the built package x <- list.files( path = pkgdir,