basilisk.utils 1.10.0
This document and package is strictly for the developers of basilisk. If you are a developer of a client package, you probably want to read the basilisk vignette instead. If you are an end-user of some client package, you are better off reading the documentation for that client instead.
This package centralizes various R functions that are required for installing basilisk.
By default, these functions are (potentially) called in basiliskStart()
during client run-time.
However, under certain conditions, they are called via the configure
file during basilisk installation.
Ideally, we would put these functions inside basilisk for use in all situations.
However, this is not possible as configure
runs before installation, i.e., before any functions are actually available!
The naive option is to simply duplicate the code in both the package and configure
;
this is unappealing as it requires us to maintain twice as much code and circumvents R CMD check
’s code quality checks.
The basilisk.utils package provides R functions that can be called in both configure
and basiliskStart()
.
This allows us to avoid code duplication and enjoy the safety of R CMD check
.
The consequence of this approach is that basilisk.utils has no direct relevance to other packages or end-users,
and thus should never be explicitly loaded into a package namespace or R session.
sessionInfo()
## R version 4.2.1 (2022-06-23)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.5 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] basilisk.utils_1.10.0 BiocStyle_2.26.0
##
## loaded via a namespace (and not attached):
## [1] bookdown_0.29 dir.expiry_1.6.0 digest_0.6.30
## [4] R6_2.5.1 jsonlite_1.8.3 magrittr_2.0.3
## [7] evaluate_0.17 stringi_1.7.8 cachem_1.0.6
## [10] rlang_1.0.6 cli_3.4.1 jquerylib_0.1.4
## [13] bslib_0.4.0 filelock_1.0.2 rmarkdown_2.17
## [16] tools_4.2.1 stringr_1.4.1 xfun_0.34
## [19] yaml_2.3.6 fastmap_1.1.0 compiler_4.2.1
## [22] BiocManager_1.30.19 htmltools_0.5.3 knitr_1.40
## [25] sass_0.4.2