Learn R Programming

buildr (version 0.1.1)

init: Discover Build Scripts & Create Makefile

Description

init() looks for .R scripts in a project root (current working directory) that contain a specified prefix and separator. Then, it creates a Makefile with rules describing how to run discovered scripts.

Usage

init(
  prefix = "build",
  sep = "_",
  path = ".",
  ignore_case = TRUE,
  command_args = ""
)

Value

No return value. Called for side effects.

Arguments

prefix

Character. Prefix that solicited build scripts have in common. It is trimmed and stripped in the list of Makefile targets because of redundancy. Default to "build".

sep

Character. Separator between prefix and "body" of a build script filename. It is also stripped in the list of Makefile targets because of redundancy. Default to underscore (i.e. "_").

path

Character. Path being searched. Default to the project root (i.e. ".", the current working directory, call getwd() to print it). See list.files for more details on the topic.

ignore_case

Logical. Should the search be case-sensitive? Default to FALSE.

command_args

Single character. Command argument(s) to include after the recipe call. Command argument can be picked up by your script with commandArgs. See vignette("know_your_buildr") for more details. Empty string by default (not in use).

Author

Jan Netik

Details

The build script names should all follow a common pattern that is both human and machine readable. Filename should incorporate a prefix ("build" by default) and the "body" describing what the given script builds. Those two essential parts are separated by underscore (i.e. "_") by default as it helps with the readibility. Both parts are configurable (see below), but we encourage you not to make any changes. Do not forget that build scripts are matched for a prefix and separator concatenated together, so the script named "build.R" won't be recognized, as it doesn't begin with "build_". Follow the example below on how to include "build.R".

See Also

Other functions from buildr trinity: aim(), build()

Examples

Run this code
if (FALSE) {
# if you stick with the defaults, run:
init()

# if you want to include "build.R",
# you have to tell {buildr} to
# use an empty separator, like:
init(sep = "")
}

Run the code above in your browser using DataLab