Create all the base files and folders to kickstart the development of a new outsider module. Returns file path to new module.

module_skeleton(
  program_name,
  repo_user = NULL,
  docker_user = NULL,
  flpth = getwd(),
  module_name = NULL,
  cmd = program_name,
  full_name = NULL,
  email = NULL,
  service = c("github", "gitlab", "bitbucket"),
  overwrite = FALSE
)

Arguments

program_name

Name of the command-line program.

repo_user

Developer's username for code sharing service. If NULL, no code sharing site information is added.

docker_user

Developer's username for Docker. If NULL, no docker information is added.

flpth

File path to location of where module will be created, default current working directory.

module_name

Name of the module, if NULL rendered as "om..[program_name]"

cmd

Command-line call for program, default [program_name]

full_name

Your full name (for authorship)

email

Your email (for authorship)

service

Code-sharing site.

overwrite

Automatically overwrite pre-existing files? If FALSE, user is queried whether to overwrite for each pre-existing file.

Value

Character

Details

If full_name and email are provided, then new lines are added to DESCRIPTION specifying the author and maintainer of the package.

See also

Examples

library(outsider) # build file structure for an example module module_path <- module_skeleton(program_name = "goldenhind", repo_user = "drake_on_github", docker_user = "drake_on_docker", full_name = 'Sir Francis Drake', email = '[email protected]', service = 'github', flpth = tempdir()) # new path created (module_path)
#> [1] "/tmp/RtmpLHBbZM/om..goldenhind"
# check the generated names and links module_identities(flpth = module_path)
#> R package name: 'om..goldenhind' #> URL: 'https://github.com/drake_on_github/om..goldenhind' #> Docker images: 'drake_on_docker/om_goldenhind:latest'
# check the files are in the right locations module_check(flpth = module_path)
#> DESCRIPTION found ✔ #> R folder with files found ✔ #> inst found ✔ #> inst/om.yml found ✔ #> inst/dockerfiles found ✔ #> inst/dockerfiles/latest with one Dockerfile found ✔
# deliberately break: delete a folder and check again unlink(x = file.path(module_path, 'inst'), recursive = TRUE, force = TRUE) module_check(flpth = module_path)
#> DESCRIPTION found ✔ #> R folder with files found ✔ #> inst not found ✖
# clean-up unlink(x = module_path, recursive = TRUE, force = TRUE)