diff --git a/DESCRIPTION b/DESCRIPTION index 800f818..98e7178 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: checked Title: Systematically Run R CMD Checks -Version: 0.5.5 +Version: 0.6.0 Authors@R: c( person( @@ -47,7 +47,6 @@ Imports: utils (>= 3.6.2), tools Roxygen: list(markdown = TRUE) -RoxygenNote: 7.3.3 Suggests: remotes, testthat (>= 3.0.0), @@ -56,3 +55,4 @@ Suggests: Config/Needs/website: r-lib/asciicast Config/testthat/edition: 3 +Config/roxygen2/version: 8.0.0 diff --git a/NAMESPACE b/NAMESPACE index 0affc8a..dacb0cf 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -97,6 +97,7 @@ S3method(report_sleep,default) S3method(report_sleep,reporter_ansi_tty) S3method(report_sleep,reporter_basic_tty) S3method(report_start_checks,"NULL") +S3method(report_start_checks,default) S3method(report_start_checks,reporter_ansi_tty) S3method(report_start_setup,"NULL") S3method(report_start_setup,reporter_ansi_tty) @@ -126,6 +127,10 @@ S3method(start_task,igraph.vs) S3method(start_task,install_task) S3method(task_graph,task) S3method(task_graph,task_graph) +S3method(version,"NULL") +S3method(version,default) +S3method(version,pkg_origin) +S3method(version,task) export(STATUS) export(check_pkgs) export(check_rev_deps) @@ -156,6 +161,7 @@ import(cli) import(options) importFrom(R6,R6Class) importFrom(callr,r_process) +importFrom(callr,r_process_options) importFrom(cli,make_spinner) importFrom(igraph,"E<-") importFrom(igraph,"V<-") diff --git a/NEWS.md b/NEWS.md index dfe7132..ee12e79 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,10 @@ +# checked 0.6.0 + +* Add 'install_cmdargs' option which can be used to specify R CMD args + for subprocesses installing packages. + +* Add version information R CMD check diff output. + # checked 0.5.5 * Add 'install_opts_to_inherit' option which can be used to specify parameters diff --git a/R/install.R b/R/install.R index 2f697af..cda0750 100644 --- a/R/install.R +++ b/R/install.R @@ -1,6 +1,6 @@ #' @importFrom utils packageName install.packages #' @importFrom R6 R6Class -#' @importFrom callr r_process +#' @importFrom callr r_process r_process_options install_process <- R6::R6Class( "install_process", inherit = callr::r_process, @@ -17,8 +17,15 @@ install_process <- R6::R6Class( if (!dir.exists(lib)) dir.create(lib, recursive = TRUE) private$package <- pkgs self$log <- log + cmdargs <- options::opt("install_cmdargs") + hooks <- if (any(c("--vanilla", "--no-init-file") %in% cmdargs)) { + callr::r_process_options()$load_hook + } else { + "" + } private$callr_r_bg( - function(..., opts_to_inherit) { + function(..., opts_to_inherit, hooks) { + eval(parse(text = hooks)) do.call(options, opts_to_inherit) invisible(capture.output(withCallingHandlers( utils::install.packages(..., quiet = FALSE, verbose = TRUE), @@ -33,14 +40,15 @@ install_process <- R6::R6Class( lib = lib, opts_to_inherit = do.call( options, options::opt("install_opts_to_inherit") - ) + ), + hooks = hooks ), libpath = libpaths, stdout = self$log, stderr = "2>&1", system_profile = options::opt("install_system_profile"), user_profile = options::opt("install_user_profile"), - cmdargs = c("--slave", "--no-save", "--no-restore", "--vanilla"), + cmdargs = cmdargs, env = env ) }, diff --git a/R/options.R b/R/options.R index 4ab78fd..fbbc00f 100644 --- a/R/options.R +++ b/R/options.R @@ -88,7 +88,11 @@ options::define_options( "available_packages_filters", "HTTPUserAgent", "pkgType" - ) + ), + + "`character` vector of args passed to the separate R package installation + process.", + install_cmdargs = c("--slave", "--no-save", "--no-restore") ) #' @eval options::as_roxygen_docs() diff --git a/R/reporter.R b/R/reporter.R index 3b5c43b..5d22b46 100644 --- a/R/reporter.R +++ b/R/reporter.R @@ -113,6 +113,7 @@ report_start_checks <- function(reporter, checker, ..., envir = parent.frame()) } #' @rdname reporters-internal +#' @export report_start_checks.default <- function(reporter, checker, ..., envir = parent.frame()) { # nolint NULL } diff --git a/R/results.R b/R/results.R index 7f22bab..ffad37c 100644 --- a/R/results.R +++ b/R/results.R @@ -169,6 +169,7 @@ results_revdep_check <- function(dev, release, output = NULL, ...) { }), names = CHECK_ISSUES_TYPES, package = dev_check$package, + version = dev_check$version, class = c("rcmdcheck_rev_dep_results", "rcmdcheck_results") ) } @@ -372,13 +373,25 @@ rcmdcheck_from_json <- function(file) { #' @export print.rcmdcheck_rev_dep_results <- function(x, ...) { - cat(sprintf("%s package R CMD check diff \n", attr(x, "package"))) + cat( + sprintf( + "%s (v%s) package R CMD check diff \n", + attr(x, "package"), + attr(x, "version") + ) + ) NextMethod() } #' @export print.rcmdcheck_check_results <- function(x, ...) { - cat(sprintf("%s package R CMD check \n", attr(x, "package"))) + cat( + sprintf( + "%s (v%s) package R CMD check \n", + attr(x, "package"), + attr(x, "version") + ) + ) NextMethod() } diff --git a/R/task.R b/R/task.R index 5186b2a..c24086e 100644 --- a/R/task.R +++ b/R/task.R @@ -168,3 +168,27 @@ package.task <- function(x) { package.pkg_origin <- function(x) { x$package } + +version <- function(x) { + UseMethod("version") +} + +#' @export +version.default <- function(x) { + stop("Unrecognized type") +} + +#' @export +version.NULL <- function(x) { + "" +} + +#' @export +version.task <- function(x) { + version(x$origin) +} + +#' @export +version.pkg_origin <- function(x) { + x$version +} diff --git a/man/DB_COLNAMES.Rd b/man/DB_COLNAMES.Rd index 62bb09e..a4d8884 100644 --- a/man/DB_COLNAMES.Rd +++ b/man/DB_COLNAMES.Rd @@ -1,12 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/utils-enums.R -\docType{data} \name{DB_COLNAMES} \alias{DB_COLNAMES} \title{Available packages database dependencies columns} -\format{ -An object of class \code{character} of length 6. -} \usage{ DB_COLNAMES } diff --git a/man/DEP.Rd b/man/DEP.Rd index c21dfd5..da35480 100644 --- a/man/DEP.Rd +++ b/man/DEP.Rd @@ -1,12 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/utils-enums.R -\docType{data} \name{DEP} \alias{DEP} \title{Dependencies categories} -\format{ -An object of class \code{enum} (inherits from \code{factor}) of length 5. -} \usage{ DEP } diff --git a/man/DEP_STRONG.Rd b/man/DEP_STRONG.Rd index bb530c0..d7dc4b0 100644 --- a/man/DEP_STRONG.Rd +++ b/man/DEP_STRONG.Rd @@ -1,12 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/utils-enums.R -\docType{data} \name{DEP_STRONG} \alias{DEP_STRONG} \title{Strong dependencies categories} -\format{ -An object of class \code{enum} (inherits from \code{factor}) of length 3. -} \usage{ DEP_STRONG } diff --git a/man/RELATION.Rd b/man/RELATION.Rd index 95d510e..2d26fb2 100644 --- a/man/RELATION.Rd +++ b/man/RELATION.Rd @@ -1,12 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/utils-enums.R -\docType{data} \name{RELATION} \alias{RELATION} \title{Relation types} -\format{ -An object of class \code{enum} (inherits from \code{factor}) of length 2. -} \usage{ RELATION } diff --git a/man/STATUS.Rd b/man/STATUS.Rd index 30d3ccb..4f63644 100644 --- a/man/STATUS.Rd +++ b/man/STATUS.Rd @@ -1,12 +1,8 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/utils-enums.R -\docType{data} \name{STATUS} \alias{STATUS} \title{Check execution status categories} -\format{ -An object of class \code{enum} (inherits from \code{factor}) of length 4. -} \usage{ STATUS } @@ -14,11 +10,10 @@ STATUS Check execution status categories } \seealso{ -Other checks: -\code{\link{check_pkgs}()}, -\code{\link{check_rev_deps}()}, +Other checks: +\code{\link[=check_pkgs]{check_pkgs()}}, +\code{\link[=check_rev_deps]{check_rev_deps()}}, \code{\link{checker}}, -\code{\link{new_checker}()} +\code{\link[=new_checker]{new_checker()}} } \concept{checks} -\keyword{datasets} diff --git a/man/check_pkgs.Rd b/man/check_pkgs.Rd index 422ffd2..40ec72d 100644 --- a/man/check_pkgs.Rd +++ b/man/check_pkgs.Rd @@ -47,10 +47,10 @@ first identifies and installs, in parallel, all dependencies required to check the package. Then, it runs \verb{R CMD check} for each specified package. } \seealso{ -Other checks: +Other checks: \code{\link{STATUS}}, -\code{\link{check_rev_deps}()}, +\code{\link[=check_rev_deps]{check_rev_deps()}}, \code{\link{checker}}, -\code{\link{new_checker}()} +\code{\link[=new_checker]{new_checker()}} } \concept{checks} diff --git a/man/check_rev_deps.Rd b/man/check_rev_deps.Rd index 99041ef..0471ad3 100644 --- a/man/check_rev_deps.Rd +++ b/man/check_rev_deps.Rd @@ -61,10 +61,10 @@ installed from local source. Both \verb{R CMD checks} are later compared to identify changes in reverse dependency behaviors. } \seealso{ -Other checks: +Other checks: \code{\link{STATUS}}, -\code{\link{check_pkgs}()}, +\code{\link[=check_pkgs]{check_pkgs()}}, \code{\link{checker}}, -\code{\link{new_checker}()} +\code{\link[=new_checker]{new_checker()}} } \concept{checks} diff --git a/man/check_task.Rd b/man/check_task.Rd index 420d96c..d2ad2e7 100644 --- a/man/check_task.Rd +++ b/man/check_task.Rd @@ -25,7 +25,7 @@ Windows.)} set in the check process.} \item{...}{ - Arguments passed on to \code{\link[=task]{task}} + Arguments passed on to \code{\link{task}} \describe{ \item{\code{.subclass}}{Additional subclasses.} }} @@ -34,9 +34,9 @@ set in the check process.} Create a task to run \verb{R CMD check} } \seealso{ -Other tasks: -\code{\link{install_task}()}, -\code{\link{meta_task}()}, -\code{\link{task}()} +Other tasks: +\code{\link[=install_task]{install_task()}}, +\code{\link[=meta_task]{meta_task()}}, +\code{\link[=task]{task()}} } \concept{tasks} diff --git a/man/checked-package.Rd b/man/checked-package.Rd index 033a5c5..bbf8f75 100644 --- a/man/checked-package.Rd +++ b/man/checked-package.Rd @@ -22,6 +22,7 @@ Useful links: Authors: \itemize{ + \item Szymon Maksymiuk \email{sz.maksymiuk@gmail.com} (\href{https://orcid.org/0000-0002-3120-1601}{ORCID}) \item Doug Kelkhoff \email{doug.kelkhoff@gmail.com} (\href{https://orcid.org/0009-0003-7845-4061}{ORCID}) } diff --git a/man/checker.Rd b/man/checker.Rd index 10116f2..d88f0a6 100644 --- a/man/checker.Rd +++ b/man/checker.Rd @@ -28,54 +28,55 @@ while (!orchestrator$is_done()) { } \seealso{ -Other checks: +Other checks: \code{\link{STATUS}}, -\code{\link{check_pkgs}()}, -\code{\link{check_rev_deps}()}, -\code{\link{new_checker}()} +\code{\link[=check_pkgs]{check_pkgs()}}, +\code{\link[=check_rev_deps]{check_rev_deps()}}, +\code{\link[=new_checker]{new_checker()}} } \concept{checks} \section{Public fields}{ -\if{html}{\out{
}} -\describe{ -\item{\code{graph}}{(\code{igraph::igraph()})\cr + \if{html}{\out{
}} + \describe{ + \item{\code{graph}}{(\code{igraph::igraph()})\cr A dependency graph, storing information about which dependencies are required prior to execution of each check task. Created with \code{\link[=task_graph]{task_graph()}}} -\item{\code{plan}}{(\code{data.frame()})\cr + \item{\code{plan}}{(\code{data.frame()})\cr Checks task \code{data.frame} which is the source of all the checks.} -\item{\code{output}}{(\code{character(1)})\cr + \item{\code{output}}{(\code{character(1)})\cr Output directory where raw results and temporary library will be created and stored.} -} -\if{html}{\out{
}} + } + \if{html}{\out{
}} } \section{Methods}{ \subsection{Public methods}{ -\itemize{ -\item \href{#method-checker-new}{\code{checker$new()}} -\item \href{#method-checker-active_processes}{\code{checker$active_processes()}} -\item \href{#method-checker-failed_tasks}{\code{checker$failed_tasks()}} -\item \href{#method-checker-terminate}{\code{checker$terminate()}} -\item \href{#method-checker-step}{\code{checker$step()}} -\item \href{#method-checker-start_next_task}{\code{checker$start_next_task()}} -\item \href{#method-checker-is_done}{\code{checker$is_done()}} -\item \href{#method-checker-tasks}{\code{checker$tasks()}} -\item \href{#method-checker-clone}{\code{checker$clone()}} -} + \itemize{ + \item \href{#method-checker-initialize}{\code{checker$new()}} + \item \href{#method-checker-active_processes}{\code{checker$active_processes()}} + \item \href{#method-checker-failed_tasks}{\code{checker$failed_tasks()}} + \item \href{#method-checker-terminate}{\code{checker$terminate()}} + \item \href{#method-checker-step}{\code{checker$step()}} + \item \href{#method-checker-start_next_task}{\code{checker$start_next_task()}} + \item \href{#method-checker-is_done}{\code{checker$is_done()}} + \item \href{#method-checker-tasks}{\code{checker$tasks()}} + \item \href{#method-checker-clone}{\code{checker$clone()}} + } } \if{html}{\out{
}} -\if{html}{\out{}} -\if{latex}{\out{\hypertarget{method-checker-new}{}}} -\subsection{Method \code{new()}}{ -Initialize a new check design +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-checker-initialize}{}}} +\subsection{\code{checker$new()}}{ + Initialize a new check design Use checks data.frame to generate task graph in which all dependencies and installation order are embedded. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$new( + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$new( plan, n = 2L, output = file.path(tempdir(), paste(packageName(), Sys.Date(), sep = "-")), @@ -85,145 +86,154 @@ and installation order are embedded. dependencies = TRUE, upgrade = FALSE, ... -)}\if{html}{\out{
}} -} - -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{plan}}{\code{plan} \code{data.frame}.} - -\item{\code{n}}{\code{integer} value indicating maximum number of subprocesses that +)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{plan}}{\code{plan} \code{data.frame}.} + \item{\code{n}}{\code{integer} value indicating maximum number of subprocesses that can be simultaneously spawned when executing tasks.} - -\item{\code{output}}{\code{character} value specifying path where the output should + \item{\code{output}}{\code{character} value specifying path where the output should be stored.} - -\item{\code{lib.loc}}{\code{character} vector with libraries allowed to be used when + \item{\code{lib.loc}}{\code{character} vector with libraries allowed to be used when checking packages, defaults to entire .libPaths().} - -\item{\code{repos}}{\code{character} vector of repositories which will be used when + \item{\code{repos}}{\code{character} vector of repositories which will be used when generating task graph and later pulling dependencies.} - -\item{\code{restore}}{\code{logical} value, whether output directory should be + \item{\code{restore}}{\code{logical} value, whether output directory should be unlinked before running checks. If \code{FALSE}, an attempt will me made to restore previous progress from the same \code{output}.} - -\item{\code{dependencies}}{A vector of length one or a named list. + \item{\code{dependencies}}{A vector of length one or a named list. Compatible with \code{\link{as_pkg_dependencies}}.} - -\item{\code{upgrade}}{\code{logical} value, whether packages should be upgraded + \item{\code{upgrade}}{\code{logical} value, whether packages should be upgraded if more recent version is discovered in available sources. Remotes packages, if allowed to be used, are always installed and prioritized.} - -\item{\code{...}}{Additional arguments unused} -} -\if{html}{\out{
}} -} -\subsection{Returns}{ -\link{checker}. -} + \item{\code{...}}{Additional arguments unused} + } + \if{html}{\out{
}} + } + \subsection{Returns}{ + \link{checker}. + } } + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-active_processes}{}}} -\subsection{Method \code{active_processes()}}{ -Get Active Processes list -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$active_processes()}\if{html}{\out{
}} +\subsection{\code{checker$active_processes()}}{ + Get Active Processes list + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$active_processes()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-failed_tasks}{}}} -\subsection{Method \code{failed_tasks()}}{ -Get Failed Tasks list -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$failed_tasks()}\if{html}{\out{
}} +\subsection{\code{checker$failed_tasks()}}{ + Get Failed Tasks list + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$failed_tasks()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-terminate}{}}} -\subsection{Method \code{terminate()}}{ -Kill All Active Design Processes +\subsection{\code{checker$terminate()}}{ + Kill All Active Design Processes Immediately terminates all the active processes. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$terminate()}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$terminate()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-step}{}}} -\subsection{Method \code{step()}}{ -Fill Available Processes with Tasks -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$step()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A logical value, indicating whether processes are actively +\subsection{\code{checker$step()}}{ + Fill Available Processes with Tasks + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$step()} + \if{html}{\out{
}} + } + \subsection{Returns}{ + A logical value, indicating whether processes are actively running. + } } -} + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-start_next_task}{}}} -\subsection{Method \code{start_next_task()}}{ -Start Next Task -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$start_next_task()}\if{html}{\out{
}} -} - -\subsection{Returns}{ -A integer value, coercible to logical to indicate whether a new +\subsection{\code{checker$start_next_task()}}{ + Start Next Task + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$start_next_task()} + \if{html}{\out{
}} + } + \subsection{Returns}{ + A integer value, coercible to logical to indicate whether a new process was spawned, or \code{-1} if all tasks have finished. + } } -} + \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-is_done}{}}} -\subsection{Method \code{is_done()}}{ -Check if checks are done +\subsection{\code{checker$is_done()}}{ + Check if checks are done Checks whether all the scheduled tasks were successfully executed. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$is_done()}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$is_done()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-tasks}{}}} -\subsection{Method \code{tasks()}}{ -Tasks +\subsection{\code{checker$tasks()}}{ + Tasks Returns what type of tasks the checker consists of and returns a unique vector of primary classes -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$tasks()}\if{html}{\out{
}} + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$tasks()} + \if{html}{\out{
}} + } } -} \if{html}{\out{
}} \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-checker-clone}{}}} -\subsection{Method \code{clone()}}{ -The objects of this class are cloneable with this method. -\subsection{Usage}{ -\if{html}{\out{
}}\preformatted{checker$clone(deep = FALSE)}\if{html}{\out{
}} +\subsection{\code{checker$clone()}}{ + The objects of this class are cloneable with this method. + \subsection{Usage}{ + \if{html}{\out{
}} + \preformatted{checker$clone(deep = FALSE)} + \if{html}{\out{
}} + } + \subsection{Arguments}{ + \if{html}{\out{
}} + \describe{ + \item{\code{deep}}{Whether to make a deep clone.} + } + \if{html}{\out{
}} + } } -\subsection{Arguments}{ -\if{html}{\out{
}} -\describe{ -\item{\code{deep}}{Whether to make a deep clone.} -} -\if{html}{\out{
}} -} -} } diff --git a/man/fmt.Rd b/man/fmt.Rd index 8413048..dd3ce63 100644 --- a/man/fmt.Rd +++ b/man/fmt.Rd @@ -22,5 +22,20 @@ fmt(..., g, nodes, task = NULL, .envir = parent.frame(), ansi = TRUE) \description{ Provided a task, allows for use of a handful of shorthand symbols which will use the task as a context for formatting task fields. +} +\examples{ +task <- install_task(origin = pkg_origin( + package = "pkg", + version = package_version("1.2.3"), + source = system.file( + "example_packages", + "exampleGood", + package = "checked" + ) +)) + +# Examples for unexported functions are not supported +# fmt(task = task, "{action} {package} ({version}) from {source}") + } \keyword{internal} diff --git a/man/install_task.Rd b/man/install_task.Rd index 385aa3e..6102e4c 100644 --- a/man/install_task.Rd +++ b/man/install_task.Rd @@ -38,7 +38,8 @@ path.} \item{...}{ further arguments to be passed to \code{\link[utils]{download.file}}, - \code{\link[utils]{available.packages}}, or to the functions for binary + \code{\link[utils]{available.packages}}, or to + the functions for binary installs on macOS and Windows (which accept an argument \code{"lock"}: see the section on \sQuote{Locking}). } @@ -47,9 +48,9 @@ path.} Create a task to install a package and dependencies } \seealso{ -Other tasks: -\code{\link{check_task}()}, -\code{\link{meta_task}()}, -\code{\link{task}()} +Other tasks: +\code{\link[=check_task]{check_task()}}, +\code{\link[=meta_task]{meta_task()}}, +\code{\link[=task]{task()}} } \concept{tasks} diff --git a/man/lib_path.Rd b/man/lib_path.Rd index 0d5ddbb..3f0933a 100644 --- a/man/lib_path.Rd +++ b/man/lib_path.Rd @@ -26,7 +26,7 @@ lib_path method creates default path handlers for given pkg origin while lib_path_x creates an actual object. } \seealso{ -Other specs: -\code{\link{pkg_origin}()} +Other specs: +\code{\link[=pkg_origin]{pkg_origin()}} } \concept{specs} diff --git a/man/meta_task.Rd b/man/meta_task.Rd index 0662a62..a665435 100644 --- a/man/meta_task.Rd +++ b/man/meta_task.Rd @@ -17,9 +17,9 @@ Meta tasks are tasks which are not intended to perform computation. They exist simply to provide relationships among computational tasks. } \seealso{ -Other tasks: -\code{\link{check_task}()}, -\code{\link{install_task}()}, -\code{\link{task}()} +Other tasks: +\code{\link[=check_task]{check_task()}}, +\code{\link[=install_task]{install_task()}}, +\code{\link[=task]{task()}} } \concept{tasks} diff --git a/man/new_checker.Rd b/man/new_checker.Rd index d97f270..390651f 100644 --- a/man/new_checker.Rd +++ b/man/new_checker.Rd @@ -18,16 +18,10 @@ new_rev_dep_checker(x, ...) Instantiate a check design from a path or directory. } \seealso{ -Other checks: +Other checks: \code{\link{STATUS}}, -\code{\link{check_pkgs}()}, -\code{\link{check_rev_deps}()}, -\code{\link{checker}} - -Other checks: -\code{\link{STATUS}}, -\code{\link{check_pkgs}()}, -\code{\link{check_rev_deps}()}, +\code{\link[=check_pkgs]{check_pkgs()}}, +\code{\link[=check_rev_deps]{check_rev_deps()}}, \code{\link{checker}} } \concept{checks} diff --git a/man/options.Rd b/man/options.Rd index 34780cc..eb67337 100644 --- a/man/options.Rd +++ b/man/options.Rd @@ -128,13 +128,20 @@ should be inherited by the install subprocesses, from the main process\item{defa \item{envvar: }{R_CHECKED_INSTALL_OPTS_TO_INHERIT (evaluated if possible, raw string otherwise)} }} +\item{install_cmdargs}{\describe{ +\code{character} vector of args passed to the separate R package installation +process.\item{default: }{\preformatted{c("--slave", "--no-save", "--no-restore")}} +\item{option: }{checked.install_cmdargs} +\item{envvar: }{R_CHECKED_INSTALL_CMDARGS (evaluated if possible, raw string otherwise)} +}} + } } \seealso{ options getOption Sys.setenv Sys.getenv -Other documentation: +Other documentation: \code{\link{options_params}} } \concept{documentation} diff --git a/man/options_params.Rd b/man/options_params.Rd index 963eb30..45ec1cb 100644 --- a/man/options_params.Rd +++ b/man/options_params.Rd @@ -11,6 +11,9 @@ is recommended to be used for designs with many sub-processes required as native garbage collection can lag leading to memory issues. Disable only when maximum prefromance is required and memory is not the issue. (Defaults to \code{TRUE}, overwritable using option 'checked.proactive_gc' or environment variable 'R_CHECKED_PROACTIVE_GC')} +\item{install_cmdargs}{\code{character} vector of args passed to the separate R package installation +process. (Defaults to \code{c("--slave", "--no-save", "--no-restore")}, overwritable using option 'checked.install_cmdargs' or environment variable 'R_CHECKED_INSTALL_CMDARGS')} + \item{results_error_on}{character vector indicating whether R error should be thrown when issues are discovered when generating results. "never" means that no errors are thrown. If "issues" then errors are emitted only on issues, whereas @@ -57,7 +60,7 @@ if correct values could not be acquired with system('tput lines') (Defaults to \ Checked Options } \seealso{ -Other documentation: -\code{\link{options}()} +Other documentation: +\code{\link{options}} } \concept{documentation} diff --git a/man/pkg_origin.Rd b/man/pkg_origin.Rd index db1a53e..508ccf5 100644 --- a/man/pkg_origin.Rd +++ b/man/pkg_origin.Rd @@ -44,7 +44,7 @@ Create package specification list which consists of all the details required to identify and acquire source of the package. } \seealso{ -Other specs: -\code{\link{lib_path}()} +Other specs: +\code{\link[=lib_path]{lib_path()}} } \concept{specs} diff --git a/man/plan_local_checks.Rd b/man/plan_local_checks.Rd index 6916c83..e0d3c25 100644 --- a/man/plan_local_checks.Rd +++ b/man/plan_local_checks.Rd @@ -34,8 +34,8 @@ the source. } } \seealso{ -Other plan: -\code{\link{plan_local_install}()}, -\code{\link{plan_rev_dep_checks}()} +Other plan: +\code{\link[=plan_local_install]{plan_local_install()}}, +\code{\link[=plan_rev_dep_checks]{plan_rev_dep_checks()}} } \concept{plan} diff --git a/man/plan_local_install.Rd b/man/plan_local_install.Rd index aed52d5..b5db01e 100644 --- a/man/plan_local_install.Rd +++ b/man/plan_local_install.Rd @@ -27,8 +27,8 @@ Check \code{\link[utils:install.packages]{utils::install.packages}} for details. Generates a plan for running installing a package from source. } \seealso{ -Other plan: -\code{\link{plan_local_checks}()}, -\code{\link{plan_rev_dep_checks}()} +Other plan: +\code{\link[=plan_local_checks]{plan_local_checks()}}, +\code{\link[=plan_rev_dep_checks]{plan_rev_dep_checks()}} } \concept{plan} diff --git a/man/plan_rev_dep_checks.Rd b/man/plan_rev_dep_checks.Rd index 9708ecb..112376a 100644 --- a/man/plan_rev_dep_checks.Rd +++ b/man/plan_rev_dep_checks.Rd @@ -26,8 +26,8 @@ path to the development version of the package and \code{repos} should be a repository for which reverse dependencies should be identified. } \seealso{ -Other plan: -\code{\link{plan_local_checks}()}, -\code{\link{plan_local_install}()} +Other plan: +\code{\link[=plan_local_checks]{plan_local_checks()}}, +\code{\link[=plan_local_install]{plan_local_install()}} } \concept{plan} diff --git a/man/print.checked_results.Rd b/man/print.checked_results.Rd index bea9075..7664b94 100644 --- a/man/print.checked_results.Rd +++ b/man/print.checked_results.Rd @@ -28,8 +28,8 @@ packages with both "issues" and "potential_issues". (Defaults to \code{"all"}, o Print checked results } \seealso{ -Other results: -\code{\link{results}()}, -\code{\link{results_to_df}()} +Other results: +\code{\link[=results]{results()}}, +\code{\link[=results_to_df]{results_to_df()}} } \concept{results} diff --git a/man/results.Rd b/man/results.Rd index 90621d8..b34b28f 100644 --- a/man/results.Rd +++ b/man/results.Rd @@ -40,8 +40,8 @@ are thrown. If "issues" then errors are emitted only on issues, whereas Get R CMD check results } \seealso{ -Other results: -\code{\link{print.checked_results}()}, -\code{\link{results_to_df}()} +Other results: +\code{\link[=print.checked_results]{print.checked_results()}}, +\code{\link[=results_to_df]{results_to_df()}} } \concept{results} diff --git a/man/results_to_df.Rd b/man/results_to_df.Rd index b04a1ee..e998e3d 100644 --- a/man/results_to_df.Rd +++ b/man/results_to_df.Rd @@ -17,8 +17,8 @@ Such form makes quick results analysis easier by providing a general overview of identified failures. } \seealso{ -Other results: -\code{\link{print.checked_results}()}, -\code{\link{results}()} +Other results: +\code{\link[=print.checked_results]{print.checked_results()}}, +\code{\link[=results]{results()}} } \concept{results} diff --git a/man/task.Rd b/man/task.Rd index 564921a..00f39df 100644 --- a/man/task.Rd +++ b/man/task.Rd @@ -20,9 +20,9 @@ Tasks can be nested, representing either a singular task, or a set of related tasks. } \seealso{ -Other tasks: -\code{\link{check_task}()}, -\code{\link{install_task}()}, -\code{\link{meta_task}()} +Other tasks: +\code{\link[=check_task]{check_task()}}, +\code{\link[=install_task]{install_task()}}, +\code{\link[=meta_task]{meta_task()}} } \concept{tasks}