[Rd] Strategies for keeping autogenerated .Rd files out of a Git tree
Kirill Müller
kirill.mueller at ivt.baug.ethz.ch
Thu Dec 12 01:39:39 CET 2013
Hi
Quite a few R packages are now available on GitHub long before they
appear on CRAN, installation is simple thanks to
devtools::install_github(). However, it seems to be common practice to
keep the .Rd files (and NAMESPACE and the Collate section in the
DESCRIPTION) in the Git tree, and to manually update it, even if they
are autogenerated from the R code by roxygen2. This requires extra work
for each update of the documentation and also binds package development
to a specific version of roxygen2 (because otherwise lots of bogus
changes can be added by roxygenizing with a different version).
What options are there to generate the .Rd files during build/install?
In https://github.com/hadley/devtools/issues/43 the issue has been
discussed, perhaps it can be summarized as follows:
- The devtools package is not the right place to implement
roxygenize-before-build
- A continuous integration service would be better for that, but
currently there's nothing that would be easy to use
- Roxygenizing via src/Makefile could work but requires further
investigation and an installation of Rtools/xcode on Windows/OS X
Especially the last point looks interesting to me, but since this is not
widely used there must be pitfalls I'm not aware of. The general idea
would be:
- Place code that builds/updates the .Rd and NAMESPACE files into
src/Makefile
- Users installing the package from source will require infrastructure
(Rtools/make)
- For binary packages, the .Rd files are already generated and added to
the .tar.gz during R CMD build before they are submitted to
CRAN/WinBuilder, and they are also generated (in theory) by R CMD build
--binary
I'd like to hear your opinion on that. I have also found a thread on
package development workflow
(https://stat.ethz.ch/pipermail/r-devel/2011-September/061955.html) but
there was nothing on un-versioning .Rd files.
Cheers
Kirill
More information about the R-devel
mailing list