R/project_documentation/03_create_r_package_steps.R

# CREATE AN R PACKAGE STEPS ----

# RESOURCES:
# - R PACKAGES: https://r-pkgs.org/index.html

# INSTALL PACKAGES ----
# install.packages(c("devtools", "roxygen2", "testthat", "knitr"))

# LIBRARIES FOR SETUP ----
library(usethis)
library(available)
library(devtools)
library(pkgdown)
library(tidyverse)

# or packages <- c("usethis", "available", "devtools", "pkgdown", "tidyverse")
# lapply(packages, library, character.only = TRUE)

# 1.0 CHECK IF PACKAGE IS AVAILABLE ----
# - DO THIS IF GOING ON CRAN (PUBLIC)
# - NOT REQUIRED FOR PRIVATE
available::available("ggradialbar")

# * Create package ----
usethis::create_package("C:/rprojects/ggradialbar")

# 2.0 SETTING THE PACKAGE UP ----

# * Setup git
usethis::use_git()

# * Code Repository ----
# - Requires setup of GH Auth Token: browse_github_token()
# - Refresh your R Session once you update your '.Renviron'
usethis::use_github(private = FALSE)

# * Basic Package Setup ----
usethis::use_roxygen_md()
usethis::use_package_doc()
usethis::use_mit_license("Ashish Soni")
usethis::use_readme_rmd()
usethis::use_news_md()
usethis::use_vignette("ggradialbar", title = "Getting Started with ggradialbar")

# * Development ----
usethis::use_pipe()
usethis::use_tidy_eval()
usethis::use_tibble()
usethis::use_package("ggplot2")
usethis::use_package("dplyr")
usethis::use_package("tidyr")
usethis::use_package("stats")
usethis::use_package("forcats")
usethis::use_package("latex2exp")
usethis::use_package("stringr")
usethis::use_package("vdiffr", "Suggests")
usethis::use_package("librarian", "Suggests")
usethis::use_package("tidymodels", "Suggests")
usethis::use_package("DataExplorer", "Suggests")
usethis::use_package("MASS", "Suggests")
usethis::use_package("corrplot", "Suggests")
usethis::use_package("tidyverse", "Suggests")

# * Create a Function ----
usethis::use_r("geom_rbar")
usethis::use_r("geom_rbar_interactive")

# * Sample Data ----
# - For testing/documentation purposes
raw_data <- readr::read_rds("C:/rprojects/ggradialbar/data-raw/team-project-data.rds")
usethis::use_data_raw("raw_data")

# * Tests ----
usethis::use_testthat()
usethis::use_test("setup_params")
usethis::use_test("setup_data")
usethis::use_test("draw_group_geom_rbar")
usethis::use_test("draw_group_geom_rbar_interactive")

# RBUILDIGNORE to exclude a a specific file or directory
usethis::use_build_ignore("data-raw")
usethis::use_build_ignore("raw_code")
usethis::use_build_ignore("project_documentation")
usethis::use_build_ignore("final_code")


# static code analysis
# lintr::lint_package() - at the root of package


# Advice about package building
# goodpractice::gp("ggradialbar")


# Remove typos!
# Use the devtools::spell_check() function.

# * Pkgdown Website ----
usethis::use_pkgdown()
pkgdown::build_site()

# * Continuous Integration ----
usethis::use_github_action()
usethis::use_github_action("check-standard")
usethis::use_travis()
Ashish-Soni08/ggradialbar documentation built on April 15, 2021, 4:11 a.m.