Provides an abstraction for managing, installing, and switching between sets of installed R packages. This allows users to maintain multiple package libraries simultaneously, e.g. to maintain strict, package-version-specific reproducibility of many analyses, or work within a development/production release paradigm. Introduces a generalized package installation process which supports multiple repository and non-repository sources and tracks package provenance.
An R package for managing, installing into, and seamlessly switching between R package libraries ("software contexts")
To switch to a different library, creating it if necessary, use the
Then work normally, when you wish to switch back to your original library,
Minor API changes
Miscellaneous * Gracefully handle expected failures of BiocSVNManifest test, on systems which choke on https svn urls. * No longer evaluate libManifest chunk in vignette due to problems on CRAN build system.
API changes * addPkgs generic now has replace argument controlling behavior in case that the package already appears in the manifest. * New nrow generic and methods for PkgManifest and SessionManifest. * makeBiocSVNUrl now takes pkgtype argument and supports both software and experimental data packages.
Bugfixes * Fix major bug which broke versioned package installation from CRAN archive. * download.packages2 utility function now has necessary type argument. * BiocSVNManifest now grabs the correct branch of the data repository when software_only is FALSE. * Reordered NEWS to be most-recent-first
Minor API changes * export .libPaths2
Bugfixes * fix bug in updateSVN when user/password are not specified
Bugfixes * Switch R system call to Rcmd in findPkgVersionInBioc * Fix code which determines bioconductor branch to search for exact bioc version. * Make download method defaults more robust (on systems without wget)
Bugfixes * Fix svn update code by initializing args variable so function is not hit * Fix code in findSVNRev to use new system_w_init api
API Changes * system_w_init not accepts args and env arguments a la system2, though ... still accepts system() based arguments, as that is called underneath * BiocSVNManifest now uses 'svn ls' rather than available.packages to populate the manifest. not_in_repo argument removed.
Bugfixes * Updated Bioc devel and Bioc release version numbers * Fixed system calls which were failing on Windows * annotateDESC now protects against packages appearing in more than one place in the provided manifest
Miscellaneous * Added basic testing for svn-based ops, including makePkgSource and BiocSVNManifest
Minor API changes * makeManifest() constructor now normalizes path for local packages in manifest
Miscellaneous * disable git-based tests on build systems that don't have git installed
Bugfixes * fix dependencies test. * fix documentation
Bugfixes * fix problems related to git checkouts that were breaking tests (and functionality) in Windows
Minor API Changes * Add mustWork argument to normalizePath2, passthrough on Windows
API Changes * Add shell_timing slot to SwitchrParam, and add accessor * Use shell_timing to split git commands * add experimental makePkgCheckout function
Bugfixes * fix typo in git command * findPkgDir no longer takes a repo argument, which was unused.
Bugfixes * further iteration on how git checkouts are updated.
Bugfixes * refine how git existing git checkouts are updated. * Add testing of git-based makePkgDir and updateGit functions
Bugfixes * Fix regression in publishManifest resulting in files which contain only the header comments
Miscellaneous * Remove unnecessary usage of globalVariable to increase compatability with old R versions * Add requireNamespace2 for backwards compatability with old Rs, switch to using that throughout package * Add alternative definition of paste0 for backwards compatability with Rs old enough not to have it.
Miscellaneous * We no longer use tools::package_dependencies to determine depedencies because it is relatively new and prevents switchr from installing in older Rs.
Bugfixes * Fix regression(?) where specifying a SessionManifest seed for an existing library would force it to rebuild and reinstall everything in the seed. * Calling switchTo with a seed for library that already exists now invokes a message rather than a warning * We now import symbols from base packages (other than base) as per new R CMD check requirements.
Minor API changes
New features * Added BiocSVNManifest function which creates a manifest of all svn locations for Bioc packages for a specific release (or the current devel trunk).
Minor new features