remake (version 0.3.0)

is_current: Determine if targets are current

Description

Determine if one or more targets are "current" or not. A target is current if (1) it exists, (2) its immediate dependencies are unchanged since it was last built and (3) its code is unchanged since it was last built.

Usage

is_current(target_names, check = NULL, verbose = FALSE,
  allow_missing_packages = FALSE, remake_file = "remake.yml")

Arguments

target_names

Names of one or more targets to check

check

What to check. By default (check=NULL) this will check both code and dependencies unless overridden in the makerfile. Other valid options are "exists" (current if the target exists), "depends" (current if exists and dependencies unchanged), "code" (current if exists and code unchanged) or "all" (current if exists and both dependencies and code unchanged).

verbose

Be verbose when loading remake file? Default is FALSE.

allow_missing_packages

Allow missing packages when loading remake file?

remake_file

Name of the remakefile (by default remake.yml).

Value

A logical vector the same length as target_names.

Details

Note that this function does not check all the way down the dependency tree; so if A depends on B and B depends on C, A may be current with respect to B but B may be out of date with respect to C. Therefore running make()] would trigger building B, which may imply rebuilding A.