Skip to contents

Combines the preprocessing, documentation, and build steps into one.

Usage

package_build(
  packageName = NULL,
  vignettes = FALSE,
  log = INFO,
  deps = TRUE,
  install = FALSE,
  ...
)

Arguments

packageName

character path to package source directory. Defaults to the current path when NULL.

vignettes

logical specify whether to build vignettes. Default FALSE.

log

log level INFO,WARN,DEBUG,FATAL

deps

logical should we pass data objects into subsequent scripts? Default TRUE

install

logical automatically install and load the package after building. (default TRUE)

...

additional arguments passed to install.packages when install=TRUE.

Examples

if(rmarkdown::pandoc_available()){
f <- tempdir()
f <- file.path(f,"foo.Rmd")
con <- file(f)
writeLines("```{r}\n tbl = table(sample(1:10,1000,replace=TRUE)) \n```\n",con=con)
close(con)
pname <- basename(tempfile())
datapackage_skeleton(name=pname,
   path=tempdir(),
   force = TRUE,
   r_object_names = "tbl",
   code_files = f)

package_build(file.path(tempdir(),pname), install = FALSE)
}
#>  Creating '/tmp/Rtmp91YS0s/file76f424531e0/'
#>  Setting active project to '/tmp/Rtmp91YS0s/file76f424531e0'
#>  Creating 'R/'
#>  Writing 'DESCRIPTION'
#> Package: file76f424531e0
#> Title: What the Package Does (One Line, Title Case)
#> Version: 0.0.0.9000
#> [email protected] (parsed):
#>     * First Last <[email protected]> [aut, cre] (YOUR-ORCID-ID)
#> Description: What the package does (one paragraph).
#> License: `use_mit_license()`, `use_gpl3_license()` or friends to
#>     pick a license
#> Encoding: UTF-8
#> Roxygen: list(markdown = TRUE)
#> RoxygenNote: 7.2.3
#>  Writing 'NAMESPACE'
#>  Setting active project to '/tmp/Rtmp91YS0s/file76f28037a32'
#>  Setting active project to '/tmp/Rtmp91YS0s/file76f424531e0'
#>  Added DataVersion string to 'DESCRIPTION'
#>  Creating 'data-raw/'
#>  Creating 'data/'
#>  Creating 'inst/extdata/'
#>  Copied foo.Rmd into 'data-raw'
#>  configured 'datapackager.yml' file
#> 
#>  1 data set(s) created by foo.Rmd
#>  tbl
#>  Built  all datasets!
#> Non-interactive NEWS.md file update.
#> 
#>  Creating 'vignettes/'
#>  Creating 'inst/doc/'
#>  Loading file76f424531e0
#> Writing NAMESPACE
#> Writing file76f424531e0.Rd
#> Writing tbl.Rd
#> ── R CMD build ─────────────────────────────────────────────────────────────────
#> * checking for file ‘/tmp/Rtmp91YS0s/file76f424531e0/DESCRIPTION’ ... OK
#> * preparing ‘file76f424531e0’:
#> * checking DESCRIPTION meta-information ... OK
#> * checking for LF line-endings in source and make files and shell scripts
#> * checking for empty or unneeded directories
#> * looking to see if a ‘data/datalist’ file should be added
#>   NB: this package now depends on R (>= 3.5.0)
#>   WARNING: Added dependency on R >= 3.5.0 because serialized objects in
#>   serialize/load version 3 cannot be read in older versions of R.
#>   File(s) containing such objects:
#>     ‘file76f424531e0/data/tbl.rda’
#> * building ‘file76f424531e0_1.0.tar.gz’
#> 
#> Next Steps 
#> 1. Update your package documentation. 
#>    - Edit the documentation.R file in the package source data-raw subdirectory and update the roxygen markup. 
#>    - Rebuild the package documentation with  document() . 
#> 2. Add your package to source control. 
#>    - Call  git init .  in the package source root directory. 
#>    -  git add  the package files. 
#>    -  git commit  your new package. 
#>    - Set up a github repository for your pacakge. 
#>    - Add the github repository as a remote of your local package repository. 
#>    -  git push  your local repository to gitub. 
#> [1] "/tmp/Rtmp91YS0s/file76f424531e0_1.0.tar.gz"