Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
^docs$
^pkgdown$
^\.github$
^\.sync$
^\.Rprofile$
^rjavaenv$
^private$
Expand All @@ -33,3 +34,5 @@
^\.jupyter$
^[.]?air[.]toml$
^\.vscode$
^\.devcontainer$
^\.claude$
159 changes: 115 additions & 44 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ references:
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
year: '2026'
version: '>= 4.0'
- type: software
title: checkmate
Expand All @@ -94,7 +94,7 @@ references:
given-names: Michel
email: michellang@gmail.com
orcid: https://orcid.org/0000-0001-9754-0393
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.checkmate
- type: software
title: cli
Expand All @@ -106,7 +106,7 @@ references:
- family-names: Csárdi
given-names: Gábor
email: gabor@posit.co
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.cli
- type: software
title: curl
Expand All @@ -119,21 +119,64 @@ references:
given-names: Jeroen
email: jeroenooms@gmail.com
orcid: https://orcid.org/0000-0002-4035-0289
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.curl
- type: software
title: jsonlite
abstract: 'jsonlite: A Simple and Robust JSON Parser and Generator for R'
title: digest
abstract: 'digest: Create Compact Hash Digests of R Objects'
notes: Imports
url: https://jeroen.r-universe.dev/jsonlite
repository: https://CRAN.R-project.org/package=jsonlite
url: https://eddelbuettel.github.io/digest/
repository: https://CRAN.R-project.org/package=digest
authors:
- family-names: Ooms
given-names: Jeroen
email: jeroenooms@gmail.com
orcid: https://orcid.org/0000-0002-4035-0289
year: '2025'
doi: 10.32614/CRAN.package.jsonlite
- family-names: Eddelbuettel
given-names: Dirk
email: edd@debian.org
orcid: https://orcid.org/0000-0001-6419-907X
year: '2026'
doi: 10.32614/CRAN.package.digest
- type: software
title: memoise
abstract: 'memoise: ''Memoisation'' of Functions'
notes: Imports
url: https://memoise.r-lib.org
repository: https://CRAN.R-project.org/package=memoise
authors:
- family-names: Wickham
given-names: Hadley
email: hadley@rstudio.com
- family-names: Hester
given-names: Jim
- family-names: Chang
given-names: Winston
email: winston@rstudio.com
- family-names: Müller
given-names: Kirill
email: krlmlr+r@mailbox.org
- family-names: Cook
given-names: Daniel
email: danielecook@gmail.com
year: '2026'
doi: 10.32614/CRAN.package.memoise
- type: software
title: RcppSimdJson
abstract: 'RcppSimdJson: ''Rcpp'' Bindings for the ''simdjson'' Header-Only Library
for ''JSON'' Parsing'
notes: Imports
url: https://github.com/eddelbuettel/rcppsimdjson/
repository: https://CRAN.R-project.org/package=RcppSimdJson
authors:
- family-names: Eddelbuettel
given-names: Dirk
email: edd@debian.org
orcid: https://orcid.org/0000-0001-6419-907X
- family-names: Knapp
given-names: Brendan
orcid: https://orcid.org/0000-0003-3284-4972
- family-names: Lemire
given-names: Daniel
orcid: https://orcid.org/0000-0003-3306-6922
year: '2026'
doi: 10.32614/CRAN.package.RcppSimdJson
- type: software
title: rlang
abstract: 'rlang: Functions for Base Types and Core R and ''Tidyverse'' Features'
Expand All @@ -147,7 +190,7 @@ references:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.rlang
- type: software
title: utils
Expand All @@ -158,7 +201,60 @@ references:
institution:
name: R Foundation for Statistical Computing
address: Vienna, Austria
year: '2025'
year: '2026'
- type: software
title: withr
abstract: 'withr: Run Code ''With'' Temporarily Modified Global State'
notes: Imports
url: https://withr.r-lib.org
repository: https://CRAN.R-project.org/package=withr
authors:
- family-names: Hester
given-names: Jim
- family-names: Henry
given-names: Lionel
email: lionel@posit.co
- family-names: Müller
given-names: Kirill
email: krlmlr+r@mailbox.org
- family-names: Ushey
given-names: Kevin
email: kevinushey@gmail.com
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
- family-names: Chang
given-names: Winston
year: '2026'
doi: 10.32614/CRAN.package.withr
- type: software
title: yaml
abstract: 'yaml: Methods to Convert R Data to YAML and Back'
notes: Imports
url: https://yaml.r-lib.org
repository: https://CRAN.R-project.org/package=yaml
authors:
- family-names: Stephens
given-names: Jeremy
- family-names: Simonov
given-names: Kirill
year: '2026'
doi: 10.32614/CRAN.package.yaml
- type: software
title: callr
abstract: 'callr: Call R from R'
notes: Suggests
url: https://callr.r-lib.org
repository: https://CRAN.R-project.org/package=callr
authors:
- family-names: Csárdi
given-names: Gábor
email: csardi.gabor@gmail.com
orcid: https://orcid.org/0000-0001-7098-9676
- family-names: Chang
given-names: Winston
year: '2026'
doi: 10.32614/CRAN.package.callr
- type: software
title: quarto
abstract: 'quarto: R Interface to ''Quarto'' Markdown Publishing System'
Expand All @@ -174,7 +270,7 @@ references:
given-names: Christophe
email: cderv@posit.co
orcid: https://orcid.org/0000-0003-4474-2498
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.quarto
- type: software
title: rJava
Expand All @@ -186,7 +282,7 @@ references:
- family-names: Urbanek
given-names: Simon
email: simon.urbanek@r-project.org
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.rJava
- type: software
title: testthat
Expand All @@ -198,32 +294,7 @@ references:
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
year: '2025'
year: '2026'
doi: 10.32614/CRAN.package.testthat
version: '>= 3.0.0'
- type: software
title: withr
abstract: 'withr: Run Code ''With'' Temporarily Modified Global State'
notes: Suggests
url: https://withr.r-lib.org
repository: https://CRAN.R-project.org/package=withr
authors:
- family-names: Hester
given-names: Jim
- family-names: Henry
given-names: Lionel
email: lionel@posit.co
- family-names: Müller
given-names: Kirill
email: krlmlr+r@mailbox.org
- family-names: Ushey
given-names: Kevin
email: kevinushey@gmail.com
- family-names: Wickham
given-names: Hadley
email: hadley@posit.co
- family-names: Chang
given-names: Winston
year: '2025'
doi: 10.32614/CRAN.package.withr

6 changes: 4 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,13 @@ Imports:
checkmate,
cli,
curl,
jsonlite,
digest,
memoise,
RcppSimdJson,
rlang,
utils,
withr
withr,
yaml
Suggests:
callr,
quarto,
Expand Down
7 changes: 7 additions & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ export(java_check_compatibility)
export(java_check_version_cmd)
export(java_check_version_rjava)
export(java_clear)
export(java_clear_distrib)
export(java_clear_installed)
export(java_clear_project)
export(java_download)
export(java_ensure)
export(java_env_set)
Expand All @@ -14,6 +17,10 @@ export(java_find_system)
export(java_get_home)
export(java_install)
export(java_list)
export(java_list_available)
export(java_list_distrib)
export(java_list_installed)
export(java_list_project)
export(java_quick_install)
export(java_resolve)
export(java_unpack)
Expand Down
2 changes: 1 addition & 1 deletion R/consent.R
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#'
#' @export
#' @examples
#' \dontrun{
#' \donttest{
#'
#' # to provide consent and prevent other functions from interrupting to get the consent
#' rje_consent(provided = TRUE)
Expand Down
57 changes: 50 additions & 7 deletions R/global_params.R
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,23 @@ global_quiet_param <- function(quiet) {
#' Documentation template for rJava path-locking behavior.
#'
#' @section rJava Path-Locking:
#' **Important for \strong{rJava} Users**: This function sets environment variables
#' (JAVA_HOME, PATH) that affect both command-line Java tools and \strong{rJava} initialization.
#' However, due to \strong{rJava}'s path-locking behavior when \code{\link[rJava]{.jinit}} is called
#' **Important for rJava Users**: This function sets environment variables
#' (JAVA_HOME, PATH) that affect both command-line Java tools and rJava initialization.
#' However, due to rJava's path-locking behavior when \code{\link[rJava]{.jinit}} is called
#' (see \url{https://github.com/s-u/rJava/issues/25}, \url{https://github.com/s-u/rJava/issues/249}, and \url{https://github.com/s-u/rJava/issues/334}),
#' this function must be called **BEFORE** \code{\link[rJava]{.jinit}} is invoked. Once \code{\link[rJava]{.jinit}}
#' initializes, the Java version is locked for that R session and cannot be changed without restarting R.
#'
#' \code{\link[rJava]{.jinit}} is invoked (and Java locked) when you:
#' \itemize{
#' \item Explicitly call \code{library(rJava)}
#' \item Load any package that imports \strong{rJava} (which auto-loads it as a dependency)
#' \item Load any package that imports rJava (which auto-loads it as a dependency)
#' \item Even just use IDE autocomplete with \code{rJava::} (this triggers initialization!)
#' \item Call any \strong{rJava}-dependent function
#' \item Call any rJava-dependent function
#' }
#'
#' Once any of these happen, the Java version used by \strong{rJava} for that session is locked in.
#' For command-line Java tools that don't use \strong{rJava}, this function can be called at any
#' Once any of these happen, the Java version used by rJava for that session is locked in.
#' For command-line Java tools that don't use rJava, this function can be called at any
#' time to switch Java versions for subsequent system calls.
#'
#' @keywords internal
Expand Down Expand Up @@ -72,3 +72,46 @@ rjava_path_locking_note <- function() {
global_use_cache_param <- function(.use_cache) {
# this is just a placeholder for global .use_cache parameter
}

#' @title Global Version Parameter
#'
#' @description
#' Documentation for the `version` parameter, used for specifying Java versions.
#'
#' @param version Java version specification. Accepts:
#' \itemize{
#' \item **Major version** (e.g., `21`, `17`): Downloads the latest release for that major version.
#' \item **Specific version** (e.g., `"21.0.9"`, `"11.0.29"`): Downloads the exact version.
#' \item **SDKMAN identifier** (e.g., `"25.0.1-amzn"`, `"24.0.2-open"`): Uses the SDKMAN
#' backend automatically. When an identifier is detected, the `distribution` and `backend`
#' arguments are **ignored** and derived from the identifier. Find available identifiers
#' in the `identifier` column of \code{\link{java_list_available}(backend = "sdkman")}.
#' }
#' @keywords internal
global_version_param <- function(version) {
# this is just a placeholder for global version parameter
}

#' @title SDKMAN References
#'
#' @description
#' Standard references for SDKMAN attribution.
#'
#' @references
#' SDKMAN! - The Software Development Kit Manager: \url{https://github.com/sdkman}
#' @keywords internal
global_sdkman_references <- function() {
# this is just a placeholder for SDKMAN references
}

#' @title Global Backend Parameter
#'
#' @description
#' Documentation for the `backend` parameter, used for specifying the download source.
#'
#' @param backend Download backend to use. One of "native" (vendor APIs) or "sdkman".
#' Defaults to "native". Can also be set globally via `options(rJavaEnv.backend = "sdkman")`.
#' @keywords internal
global_backend_param <- function(backend) {
# this is just a placeholder for global backend parameter
}
Loading
Loading