[Rd] Re R CMD check checking in development version of R

Gavin Simpson ucfagls at gmail.com
Thu Aug 28 20:43:27 CEST 2014


I fully agree.

This is how I have come to understand Depends vs Imports and why I
currently will not be removing vegan from Depends for my analogue package.
This is also why I was pushing back against the notion that was voiced
early in this thread that *nothing* should be in Depends.

Cheers

G


On 28 August 2014 08:47, Bert Gunter <bgunter at gene.com> wrote:

> This is a nice explanation of the Imports/Depends distinction. It
> ought to go into the Extensions ref manual imho.
>
> Cheers,
> Bert
>
> Bert Gunter
> Genentech Nonclinical Biostatistics
> (650) 467-7374
>
> "Data is not information. Information is not knowledge. And knowledge
> is certainly not wisdom."
> Clifford Stoll
>
>
>
>
> On Thu, Aug 28, 2014 at 7:39 AM, Simon Urbanek
> <simon.urbanek at r-project.org> wrote:
> >
> > On Aug 27, 2014, at 6:01 PM, Gavin Simpson <ucfagls at gmail.com> wrote:
> >
> >> On 27 August 2014 15:24, Hadley Wickham <h.wickham at gmail.com> wrote:
> >>
> >>>> Is that the cause of these NOTEs? Is the expectation that if I am
> using a
> >>>> function from a package, even a package that I have in Depends:, that
> I
> >>>> have to explicitly declare these imports in NAMESPACE?
> >>>
> >>> Yes.
> >>>
> >>> (Otherwise your package won't work if it's only attached and not
> >>> loaded. i.e. if someone does analogue::foo() only the imported
> >>> functions are available, not the functions in packages you depend on)
> >>>
> >>
> >> Cheers Hadley. Thanks for the confirmation, but...
> >>
> >> ...I don't get this; what is the point of Depends? I thought it was "my
> >> package needs these other packages to work, i.e. be loaded". Hence it is
> >> user error (IMHO ;-) to do `analogue::foo()` without having the
> >> dependencies loaded too.
> >>
> >
> > No. The point of Depends is that if your package is attached, it also
> attaches the other packages to make them available for the user.
> Essentially you're saying "if you want to use my package interactively, you
> will also want to use those other packages interactively". You still need
> to use import() to define what exactly is used by your package - as opposed
> to what you want to be available to the user in case it is attached.
> >
> > Cheers,
> > Simon
> >
> >
> >
> >> This check (whilst having found some things I should have imported and
> >> didn't - which is a good thing!) seems to be circumventing the
> intention of
> >> having something in Depends. Is Depends going to go away?
> >>
> >>
> >>> (And really you shouldn't have any packages in depends, they should
> >>> all be in imports)
> >>
> >>
> >> I disagree with *any*; having say vegan loaded when one is using
> analogue
> >> is a design decision as the latter borrows heavily from and builds upon
> >> vegan. In general I have moved packages that didn't need to be in
> Depends
> >> into Imports; in the version I am currently doing final tweaks on
> before it
> >> goes to CRAN I have remove all but vegan from Depends.
> >>
> >> Or am I thinking about this in the wrong way?
> >>
> >> Thanks again
> >>
> >> Gavin
> >>
> >>
> >>>
> >>> Hadley
> >>>
> >>>
> >>> --
> >>> http://had.co.nz/
> >>>
> >>
> >>
> >>
> >> --
> >> Gavin Simpson, PhD
> >>
> >>       [[alternative HTML version deleted]]
> >>
> >> ______________________________________________
> >> R-devel at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-devel
> >>
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Gavin Simpson, PhD

	[[alternative HTML version deleted]]



More information about the R-devel mailing list