On Wed, Jul 31, 2013 at 7:35 PM, Simon Urbanek <simon.urba...@r-project.org> wrote: > > On Jul 31, 2013, at 7:14 PM, Paul Gilbert wrote: > >> I am being asked to modernize the Depends line in the DESCRIPTION file of >> some packages. Writing R Extensions says: >> >> The general rules are >> >> Packages whose namespace only is needed to load the package using >> library(pkgname) must be listed in the ‘Imports’ field and not in >> the ‘Depends’ field. Packages listed in imports or importFrom >> directives in the NAMESPACE file should almost always be in >> ‘Imports’ and not ‘Depends’. >> >> Packages that need to be attached to successfully load the >> package using library(pkgname) must be listed in the >> ‘Depends’ field, only. >> >> Could someone please explain a few points I thought I understood but >> obviously do not, or point to where these are explained: >> >> -What does it mean for the namespace only to be needed? I thought the >> namespace was needed if the package or some of its functions were mentioned >> in the NAMESPACE file, and that only the namespace was needed if only the >> generics were called, and not other functions. The above suggests that I may >> be wrong about this. If so, that is, Imports will usually suffice, then when >> would Depends ever be needed when a package is mentioned in the NAMESPACE >> file? >> > > In the namespace era Depends is never really needed. All modern packages have > no technical need for Depends anymore. Loosely speaking the only purpose of > Depends today is to expose other package's functions to the user without > re-exporting them. >
Just to make sure I understand this: an example would be if A provides an S3 generic and B provides a (registered but unexported) method for that generic -- this would be a great time for B to list A as "Depends" instead of "Imports" to make sure the generic is available to the user? Thanks, Michael ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel