Development of the SNAPverse R package ecosystem has been frozen indefinitely. This project was never directly funded. I began it out of personal interest, but no longer work for SNAP. It will remain archived here for historical reference.
snapmeta contains a collection of utility functions for the development of other SNAPverse packages.
snapmeta is a satellite package of the SNAPverse collection of R packages.
You can install snapmeta from github with:
# install.packages('devtools') devtools::install_github("leonawicz/snapmeta")
First, take a look at the helpful reminders in the console output from
reminders. It will be somewhat specific to your account and project if you pass arguments. For example, using my defaults:
library(snapmeta) reminders() #> 1. Create a new R package via RStudio > New Project > R Package #> with 'Create a git repository' checked. #> 2. Make initial commit by adding the initial .Rbuildignore, .gitignore and [pkgname].Rproj files. #> 3. Add the repo on GitHub: #> Use default settings (Do not create README.md). #> Set docs/ directory for hosting project website (Must first push docs/ to GitHub). #> 4. In git shell, enter: #> git remote add origin firstname.lastname@example.org:leonawicz/snapmeta.git #> git push -u origin master #> 5. Then return to R console and run: #> snapmeta::use_these() #> NOTE: Run Rstudio session as Administator in Windows so usethese() can create lintr symbolic link. #> 6. Add Travis CI, Appveyor and code coverage badges to README.Rmd. Add projects on respective sites. #> Badges are in console output. Remember to add the `after_success` segment to .travis.yml as well. #> 7. Check the following: #> Delete absolute path to `docs` created by pkgdown in .Rbuildignore. #> Make initial updates to DESCRIPTION and other files, e.g., README.Rmd, vignette Rmd file, LICENSE.md. #> Delete NAMESPACE so it can be auto-generated via devtools. #> Delete any Hello World files. #> At least one inital unit test is required to pass build. Lintr test will suffice. #> Commit changes, but hold off on cran-comments.md and revdep until meaningful.
This should all be familiar if you develop R packages, but it can be easy to occasionally neglect a step. The recommendations are not completely universal, however, and cater specifically to SNAPverse package development.
If it meets all needs, run:
If something different is needed, ignore the above wrapper function. Instead, make individual calls to whichever package setup functions are required.
A table of all SNAPverse packages can be obtained by:
sv_pkgs() #> # A tibble: 25 x 3 #> pkg type local #> <chr> <chr> <lgl> #> 1 snapverse sector TRUE #> 2 snaplite sector FALSE #> 3 snapdata sector FALSE #> 4 snapwebs sector FALSE #> 5 snapstat functions TRUE #> 6 snapplot functions TRUE #> 7 snaplocs functions TRUE #> 8 snapprep functions TRUE #> 9 alfresco functions TRUE #> 10 snapclim data TRUE #> # ... with 15 more rows
The table includes columns giving the section of the verse a package belongs to and whether or not a local git repository/R source package exists sharing the same parent directory as the current package (current working directory). A short list of the latter existing local packages can be obtained by:
sv_local_pkgs() #>  "alfresco" "apputils" "jfsp" "maputils" "rvtable" #>  "snapapps" "snapclim" "snapfire" "snapflex" "snapgrid" #>  "snaplocs" "snapmeta" "snapplot" "snappoly" "snapprep" #>  "snapsite" "snapstat" "snaputils" "snapverse"