[R-pkg-devel] Handling Not-Always-Needed Dependencies? - Part 2

Uwe Ligges ligges at statistik.tu-dortmund.de
Thu Aug 4 19:10:08 CEST 2016



On 04.08.2016 18:55, Bill Denney wrote:
> On 8/4/2016 11:51 AM, Dirk Eddelbuettel wrote:
>> On 4 August 2016 at 11:46, Paul Gilbert wrote:
>> | If my package has a test that needs another package, but that
>> package is
>> | not needed in the /R code of my package, then I indicate it as
>> | "Suggests", not as "Depends" nor as "Imports".  If that package is not
>> | available when I run R CMD check, should the test pass?
>>
>> Wrong question.
>>
>> Better question:  Should the test be running?  My preference is for only
>> inside of a requireNamespace() (or equivalent) block as the package is
>> not
>> guaranteed to be present.  In theory.
>>
>> In practice people seem to unconditionally install it anyway, and
>> think that
>> is a good idea.  I disagree on both counts but remain in the vocal
>> minority.
> As another package maintainer, I had almost the identical question
> reading the previous (long) thread, but the three answers here don't
> give the same answer.  My question I can make even more concrete:
>
> I use the testthat package for my testing.  I never use it in the R code
> itself, and it is explicitly only used for testing.  Should that be
> included as "Depends" because every test requires it or "Suggests"
> because no end user ever needs it?
>
> If "Depends", then it leads to over-installation of the package by end
> users who don't care about running tests locally.  If "Suggests", then
> all of the tests would fail (assuming that Dirk's suggestion is
> implemented).

Suggests.

Best,
Uwe Ligges


>
> At a loss,
>
> Bill
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel



More information about the R-package-devel mailing list