From b.rowlingson at lancaster.ac.uk  Fri Dec  7 17:07:12 2007
From: b.rowlingson at lancaster.ac.uk (Barry Rowlingson)
Date: Fri, 07 Dec 2007 16:07:12 +0000
Subject: [Rd] Building packages
Message-ID: <47596FB0.7090904@lancaster.ac.uk>

I've started a new package and I'm trying to work out the best way to do 
it. I'm managing my package source directory with SVN, but "R CMD build" 
likes to dump things in the inst/doc directory when making vignette PDF 
files. I don't want to keep these in SVN (they aren't strictly 
'source'), so it set me thinking.

One of the other projects I work with has an out-of-source build system. 
You make a 'build' directory, run a config system (cmake-based) and then 
'make' does everything in the build directory without touching the 
source tree. Very nice and neat. How much work would it take to have 
something similar for building R packages? At present I've just got some 
svn:ignore settings to stop SVN bothering me.

  I also hit the problem of vignettes needing the package to be 
installed before being able to build them, but not being able to install 
the package because the vignettes wouldn't build without the package 
already being installed. The fix is to build with --no-vignettes, then 
install the package, then build with the vignettes enabled. Seems 
kludgy, plus it means that vignettes are always built with the currently 
installed package and not the currently-being-installed package. So I 
install and do a second pass to get it all right again.

  Or am I doing it wrong?

  Once I get smooth running of R package development and SVN I might 
write it up for R-newsletter - there's a couple of other tricks I've had 
to employ...

Barry



[Rd] Building packages
Barry Rowlingson