Hi Terry I suspect many people struggle with similar issues.
The new version of mvbutils contains a number of routines that facilitate creation & maintenance of a package, hopefully through its entire life-cycle: from "documenting your own stuff for personal use", through "giving out semi-documented code that your mates can use", through "getting it through all the CRAN hoops", through "maintaining & changing an already-installed-and-loaded package". There is support for creating & editing functions (etc) in your own "development" package while it's already loaded, plus speedy on-the-fly updating of the installed version of the package. These in particular are things that R does not make easy by default (probably for good reasons). Plus: you don't have to learn Rd format if you don't want to-- the package-creator in mvbutils will generate Rd documentation for you based on plain-text documentation. Use of these package-creation-maintenance routines does require some level of buy-in to 'mvbutils's view of how your working life in R should be organized... basically 'cd' and 'fixr'. I don't reckon this should be much of a drama for most people, but there are so many different ways of working in R, so who knows? I use these routines perpetually (maintaining about 6 packages), but as far as the rest of the universe goes, they are still alpha-releases. They are geared to the way I work, and so as yet might not do what others want; however, if there's demand and feasibility, I'm happy to try to incorporate other features. In particular, the documentation is incomplete at present, and I therefore haven't over-advertised the package-maintenance stuff until I get time to write a "how-to" article. [I've had to release the package-maintenance stuff in a slightly undercooked state, because it is intimately bound to the guts of mvbutils, and it became necessary to roll out a maintenance release of mvbutils for other reasons.] Let me know if this might be of further interest to you Mark -- Mark Bravington CSIRO Mathematical & Information Sciences Marine Laboratory Castray Esplanade Hobart 7001 TAS ph (+61) 3 6232 5118 fax (+61) 3 6232 5012 mob (+61) 438 315 623 Terry Therneau wrote: > I'm making the move of the survival package from my own environment > to, > and have stumbled into a vacuum. The R Extensions manual has really > nice instructions about how to lay out the directories, order the > files, and > run tests for DISTRIBUTION of a product, but I can't find anything on > how > to set up a reasonable DEVELOPMENT environment. > In my local world, I had the .c and .s files in a common > directory, with > a Makefile that I had created, and the test suite in a subdirectory. > Debugging and development was quite nice. > make > cd test > R > attach("..") > try something and perhaps it fails > q() > cd .. > Fix and repeat. The Makefile took some time to create, but paid for > itself a hundred times over. > > So, I've now rearranged everything into standard R order. Then I > did the only thing I could find > R CMD INSTALL ~/myRlib survival > where "survival" is said directory. This turns out to be not useful > at all. The survival package is large, and I rather suspected that I > would goof something up, and I did, resulting in the following message > > Error in parse(n = -1, file = file) : unexpected end of input at > 14450: } > 14451: > > It is not exactly obvious which of the 132 files in my R/ directory > is the culprit here. > > In general: > 1. The library is large, and recompiling/reparsing everything is very > far from instantaneous. It is not the edit/load cycle I desire. > > 2. I take testing seriously: the test suite takes on the order of 15 > minutes to run on a fast machine. I most certainly don't want to run > it in the mid cycle. > > Someone must have tackled this. I'm hoping that there is some > documentation that I have managed to overlook which discussess a good > setup for this middle ground between concieving of a library and > packaging it for delivery; the "build, test, make sure it acually > works" part of development. > > Terry Therneau > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel