Is there any better mailing list for utils related discussion? Jan On 16 June 2016 at 14:00, Michael Lawrence <lawrence.mich...@gene.com> wrote:
> I agree that the utils package needs some improvements related to > this, and hope to make them eventually. This type of feedback is very > helpful. > > Thanks, > Michael > > > > On Thu, Jun 16, 2016 at 1:42 AM, Jan Górecki <j.gore...@wit.edu.pl> wrote: > > Dear Joris, > > > > So it does looks like the proposed function makes a lot sense then, > isn't it? > > > > Cheers, > > Jan > > > > On 16 June 2016 at 08:37, Joris Meys <jorism...@gmail.com> wrote: > >> Dear Jan, > >> > >> It is unavoidable to have OS and R dependencies for devtools. The > building > >> process for packages is both OS and R dependent, so devtools has to be > too > >> according to my understanding. > >> > >> Cheers > >> Joris > >> > >> On 14 Jun 2016 18:56, "Jan Górecki" <j.gore...@wit.edu.pl> wrote: > >> > >> Hi Thierry, > >> > >> I'm perfectly aware of it. Any idea when devtools would be shipped as > >> a base R package, or at least recommended package? To actually answer > >> the problem described in my email. > >> I have range of useful functions available tools/utils packages which > >> are shipped together with R. They doesn't require any OS dependencies > >> or R dependencies, unlike devtools which requires both. Installing > >> unnecessary OS dependencies and R dependencies just for such a simple > >> wrapper doesn't seem to be an elegant way to address it, therefore my > >> proposal to include that simple function in tools, or utils package. > >> > >> Regards, > >> Jan Gorecki > >> > >> On 14 June 2016 at 16:17, Thierry Onkelinx <thierry.onkel...@inbo.be> > wrote: > >>> Dear Jan, > >>> > >>> Similar functionality is available in devtools::dev_package_deps() > >>> > >>> Best regards, > >>> > >>> ir. Thierry Onkelinx > >>> Instituut voor natuur- en bosonderzoek / Research Institute for Nature > and > >>> Forest > >>> team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance > >>> Kliniekstraat 25 > >>> 1070 Anderlecht > >>> Belgium > >>> > >>> To call in the statistician after the experiment is done may be no more > >>> than > >>> asking him to perform a post-mortem examination: he may be able to say > >>> what > >>> the experiment died of. ~ Sir Ronald Aylmer Fisher > >>> The plural of anecdote is not data. ~ Roger Brinner > >>> The combination of some data and an aching desire for an answer does > not > >>> ensure that a reasonable answer can be extracted from a given body of > >>> data. > >>> ~ John Tukey > >>> > >>> 2016-06-14 16:54 GMT+02:00 Jan Górecki <j.gore...@wit.edu.pl>: > >>>> > >>>> Hi all, > >>>> > >>>> Packages tools and utils have a lot of useful stuff for R developers. > >>>> I find one task still not as straightforward as it could. Simply to > >>>> extract dependencies of a package from DESCRIPTION file (before it is > >>>> even installed to library). This would be valuable in automation of CI > >>>> setup in a more meta-data driven way. > >>>> The simple function below, I know it is short and simple, but having > >>>> it to be defined in each CI workflow is a pain, it could be already > >>>> available in tools or utils namespace. > >>>> > >>>> package.dependencies.dcf <- function(file = "DESCRIPTION", which = > >>>> c("Depends","Imports","LinkingTo")) { > >>>> stopifnot(file.exists(file), is.character(which)) > >>>> which_all <- c("Depends", "Imports", "LinkingTo", "Suggests", > >>>> "Enhances") > >>>> if (identical(which, "all")) > >>>> which <- which_all > >>>> else if (identical(which, "most")) > >>>> which <- c("Depends", "Imports", "LinkingTo", "Suggests") > >>>> stopifnot(which %in% which_all) > >>>> dcf <- read.dcf(file, which) > >>>> # parse fields > >>>> raw.deps <- unlist(strsplit(dcf[!is.na(dcf)], ",", fixed = TRUE)) > >>>> # strip stated dependency version > >>>> deps <- trimws(sapply(strsplit(trimws(raw.deps), "(", fixed = > >>>> TRUE), `[[`, 1L)) > >>>> # exclude base R pkgs > >>>> base.pkgs <- c("R", rownames(installed.packages(priority = > "base"))) > >>>> setdiff(deps, base.pkgs) > >>>> } > >>>> > >>>> This allows to easily install all package dependencies just based on > >>>> DESCRIPTION file, so simplify that in custom CI workflows to: > >>>> > >>>> if (length(pkgs<-package.dependencies.dcf(which="all"))) > >>>> install.packages(pkgs) > >>>> > >>>> And would not require to install custom packages or shell scripts. > >>>> > >>>> Regards, > >>>> Jan Gorecki > >>>> > >>>> ______________________________________________ > >>>> R-devel@r-project.org mailing list > >>>> https://stat.ethz.ch/mailman/listinfo/r-devel > >>> > >>> > >> > >> ______________________________________________ > >> R-devel@r-project.org mailing list > >> https://stat.ethz.ch/mailman/listinfo/r-devel > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel