Description Package options Project management Repository management PKGZIP building Bash installer RSuite miscellaneous Template management System requirements Extending RSuite - RC adapter Extending RSuite - Repository adapter and manager Project access/loading/unloading Project configuration
Supports safe and reproducible solutions development in R.
It will help you with environment separation per project, dependency
management, local packages creation and preparing deployment packs
for your solutions.
RSuite uses the following options to configure behavior:
rsuite.user_templ_path: path to folder containing user customized templates. If not set
(which is default) no user custom templates can be used.
rsuite.cache_path: path to RSuite's cache folder to store downloaded packages for
later usage and content index of used repositories. If not set (which is default) no caching
will be performed.
These functions will help you start a new RSuite project or package inside it, detect and install dependencies into the local environment, build your project packages and prepare deployment zip when you are done with the development.
prj_startCreates project structure at the specified path.
prj_start_packageCreates package structure inside a project.
prj_install_depsInstalls project dependencies and needed supportive packages.
prj_clean_depsUninstalls unused packages from project local environment.
prj_buildBuilds project internal packages and installs them.
prj_zipPrepares deployment zip tagged with version.
prj_packPrepares project source pack tagged with version.
prj_lock_envLocks the project environment.
prj_unlock_envUnlocks the project environment.
These functions make you able to manage package repositories. This RSuite built-in repository manager allows you to manage S3 based and local (in folder) repositories.
repo_mng_startStarts management over the repository.
repo_mng_initInitializes a repository (creates its structure).
repo_mng_stopStops management over the repository.
repo_mng_listRetrieves the list of packages available in the repository.
repo_mng_removeRemoves packages from the repository.
repo_upload_prj_packagesBuilds and uploads project package(s) into the repository.
repo_upload_package_filesUploads package file(s) into a managed repository.
repo_upload_ext_packagesUploads external packages into a managed repository.
repo_upload_pkgzipUploads PKGZIP into a managed repository.
repo_upload_github_packageLoads package from a GitHub repository.
repo_upload_bioc_packageLoads package from a BioConductor repository.
PKGZIPs are for management of repositories in an internet-less environment. There is often no internet access on corporate servers. In that case, you can prepare a PKGZIP with required packages somewhere with an internet connection and use it to update an internal CRAN-like repository which has no access to the internet.
pkgzip_build_prj_packagesBuilds PKGZIP out of project packages.
pkgzip_build_package_filesBuilds PKGZIP out of passed package files.
pkgzip_build_ext_packagesBuilds PKGZIP out of passed external packages.
pkgzip_build_github_packageBuilds PKGZIP out of a package on GitHub.
pkgzip_build_bioc_packageBuilds PKGZIP out of a package on BioConductor.
You can create bash installer script to deploy in optimized (intelligent & parallel) way you project.
inst_wrap_zipWraps deployment zip into bash installer script.
rsuite_check_versionChecks if a newer version of RSuite is available.
rsuite_updateUpdates RSuite to the newest available version
rsuite_register_repo_adapterRegisters repository adapter to use for projects.
rsuite_get_repo_adapter_namesGets all names of known repository adapters.
rsuite_register_rc_adapterRegisters RC (revision control) adapter to use for projects.
rsuite_unregister_rc_adapterUnregisters RC (revision control) adapter.
rsuite_get_rc_adapter_namesGets all names of known RC (revision control) adapters.
rsuite_getLoggerRetrieves RSuite logger.
rsuite_get_os_infoRetrieves information on current OS.
These functions will help you to manage RSuite templates. They allow you to create a project and package templates, register them in the local or global template directory and list all registered templates.
tmpl_startCreates a new template.
tmpl_list_registeredLists all registered templates
tmpl_registerRegisters a template.
Some packages have special system requirements declared. E.g. XML package on Linuxes requires the libxml2 system library to be installed. Such requirements are specified in free form in the SystemRequirements field in the package DESCRIPTION. The team from R Consortium (https://www.r-consortium.org/) performed a great job with collecting sysreqs database. As RSuite is supposed to work also in a connection-less environment the database they created is included in RSuite.
These functions extract system requirements for the whole project environment and make it possible to prepare installation scripts or update your system if you have privileged access.
sysreqs_collectPrints out all system requirements from dependencies and project packages.
sysreqs_checkChecks for system requirements availability.
sysreqs_installUpdates the system to satisfy detected requirements.
sysreqs_scriptCreates a script to update a system to satisfy project requirements.
This API allows you to implement your own RC (revision control) adapter for RSuite.
RSuite has SVN and Git adapters built-in for you.
After you developed your very own RC adapter you can register it in RSuite
with the rsuite_register_rc_adapter function.
rc_adapter_create_baseCreates a base presentation for RC adapter to use by concrete implementations.
rc_adapter_is_under_controlDetects if directory is under adapter's managed version control.
rc_adapter_prj_struct_addPuts project structure under RC adapter's managed version control.
rc_adapter_pkg_struct_addPuts package structure under RC adapter's managed version control.
rc_adapter_get_versionRetrieves current RC version number for working copy at the passed directory.
rc_adapter_remove_adminsRemoves all RC related administrative entries from folder tree at the directory.
This API allows you to implement your own repository adapter for RSuite. If the repository can be managed (you can add/remove/update packages in it) you can provide a repo manager object creation ability to manage it with RSuite.
RSuite has CRAN, MRAN, S3(Amazon S3 bucket base repository), Url(repository under Url) and Dir(local CRAN-like folder) repo adapters and Dir and S3 repo managers built-in for you.
After you develop your very own repository adapter you can register it in
RSuite with the rsuite_register_repo_adapter function.
repo_adapter_create_baseCreates the base presentation for the repo adapter to use by concrete implementations.
repo_adapter_get_infoReturns information about the repository the adapter is working on.
rc_adapter_prj_struct_addPuts the project structure under RC adapter's managed version control.
repo_adapter_get_pathReturns adapter path related to project to use for dependencies resolution.
repo_adapter_create_managerCreates repo manager to manage its repository.
repo_manager_get_infoReturns information on repo manager.
repo_manager_initInitializes managed repository structure.
repo_manager_uploadAdds packages to the managed repository.
repo_manager_removeRemoves specified packages from the repository.
repo_manager_destroyReleases resources allocated to manage the repository.
You normally will not need to use these functions unless you want to perform some scripting with use of RSuite.
prj_initLoads project settings without loading it into the environment.
prj_loadLoads project into the environment so all master scripts can run.
prj_unloadUnloads last loaded project.
These functions are a convenient way to change the project global configuration.
You normally will not need to use these functions unless you want to perform some scripting with use of RSuite.
prj_config_set_repo_adaptersUpdates the project configuration to use only specified repository adapters.
prj_config_set_rversionUpdates the project configuration to use specified R Version.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.