From gmbecker at ucdavis.edu  Mon Apr  4 17:36:44 2016
From: gmbecker at ucdavis.edu (Gabriel Becker)
Date: Mon, 4 Apr 2016 08:36:44 -0700
Subject: [Rd] Suggested dependencies in context of R CMD check
In-Reply-To: <CABdHhvFX_24SAtgMCJ7peK6dw57LThq+gPoWKu6CFFQXgpL5yw@mail.gmail.com>
References: <CABE2sp6n5eOD4-O-kL50XT0CAo6P2K_QR+f=4A51r7drk609Gw@mail.gmail.com>
	<CABdHhvFX_24SAtgMCJ7peK6dw57LThq+gPoWKu6CFFQXgpL5yw@mail.gmail.com>
Message-ID: <CADwqtCO+OveKTDPH9mrgqeO7JA5RM3fqkv3u1Twt4H8BfOhsDg@mail.gmail.com>

Jan and Hadley,

There's also the issue of tests, vignettes, or examples requiring Suggested
packages (one of the core applications of Suggests, in fact). These are all
checked by R CMD check, so to ensure any package which should pass check
would do so without suggested packages installed would require turning all
of those checks off, which takes quite a few of the teeth out of R CMD
check (and thus the assurances granted by knowing a package passes it).
AFAIK (without going off and checking right now) you /could/ force R CMD
check to do this now with a combination of options, though, if that's
really what you want (which would allow your package to pass when
_R_CHECK_FORCE_SUGGESTS_ is set to false).

~G

On Mon, Apr 4, 2016 at 7:25 AM, Hadley Wickham <h.wickham at gmail.com> wrote:

> On Sat, Apr 2, 2016 at 5:33 AM, Jan G?recki <J.Gorecki at wit.edu.pl> wrote:
> > Dear R team,
> >
> > Are suggested dependencies mandatory in context of `R CMD check` when
> > using env var `_R_CHECK_FORCE_SUGGESTS_=FALSE`?
> >
> > Suggested dependencies are nice because are optional.
> > But that feature often isn't valid when trying to run `R CMD check` on
> them.
> > I would like to use `export _R_CHECK_FORCE_SUGGESTS_=FALSE`, which
> > according to the comment in `tools/R/check.R`:
> >
> >> The suggested packages are required for a complete check.
> >  Checking can be attempted without them by setting the environment
> > variable _R_CHECK_FORCE_SUGGESTS_ to a false value.
> >
> > should be sufficient to run *check* process without installing suggested
> deps.
> > If it is not true, then how to differentiate the suggested packages
> > which are optional from those mandatory?
> > It would be helpful to have kind of `vignetteBuilder` DESCRIPTION
> > field called `testChecker`, so DESCRIPTION file could precisely manage
> > packages dependencies.
> > That way batch checking packages would be easier, as required dep
> > metadata would be at hand in description file. Batch checking pkgs
> > with all their suggests will simply result into testing whole CRAN.
> >
> > In a single package it can be handled with `if (requireNamespace(.))
> > test_package(.)` for `testthat` and `knitr`, also with mocking up
> > `.Rout` files.
> >
> > But I'm interested into canonical design of a suggested package and
> > `_R_CHECK_FORCE_SUGGESTS_` env var.
> > Is there any R core dev team recommendation/suggestion on that? and
> > don't you thing new field `testChecker` in DESCRIPTION could help for
> > batch checking pkgs? Installing all suggested packages of all reverse
> > dependencies doesn't scale.
>
> In principle, I believe a package should pass R CMD check if no
> suggested packages are installed. However, since this is not currently
> automatically checked, many packages will fail to cleanly pass R CMD
> check if suggested packages are missing. In my experience, it's much
> easier to simply install all dependencies of your reverse dependencies
> (although this is obviously much easier when you're using a platform
> with binary packages available from CRAN). I routinely do this for
> hundreds to thousands of packages.
>
> Hadley
>
> --
> http://hadley.nz
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Gabriel Becker, PhD
Associate Scientist (Bioinformatics)
Genentech Research

	[[alternative HTML version deleted]]



[Rd] Suggested dependencies in context of R CMD check
Gabriel Becker