-
Notifications
You must be signed in to change notification settings - Fork 0
/
use_pkg_skeleton.R
41 lines (32 loc) · 1.05 KB
/
use_pkg_skeleton.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# use_pkg_skeleton -------------------------------------------------------------
#' Use Package Skeleton
#' @param pkg_name name of R package
#' @return creates pkg skeleton in current working directory
#' @export
#' @importFrom usethis use_template use_git_ignore
#' @importFrom fs dir_create file_create
#' @importFrom desc desc_set
#' @examples
#' ## valid pkg folder
#' pkg_name <- "pkgname"
#' pkg_dir <- file.path(tempdir(), pkg_name)
#' pkg_dir <- create_pkg_dir(pkg_dir)
#' withr::with_dir(pkg_dir, {use_pkg_skeleton(pkg_name)})
use_pkg_skeleton <- function(pkg_name)
{
if (is.null(pkg_name)) {
clean_stop("Please specify a 'pkg_name'")
}
writeLines("", ".here")
rproj_file <- paste0(pkg_name, ".Rproj")
usethis::use_template("template.Rproj", rproj_file)
usethis::use_git_ignore(".Rproj.user")
if (usethis:::is_package()) {
usethis::use_build_ignore(c(
rproj_file, ".Rhistory", ".RData", ".Rproj.user" , ".here"
))
}
fs::dir_create("R")
fs::dir_create("man")
write_to_rbuildignore(ignore_pattern = "^\\.here$")
}