[Rd] Writing a package in which files must be sourced in a specific order

Oleg Sklyar osklyar at ebi.ac.uk
Fri Feb 23 00:28:50 CET 2007


Put all loadings into functions and call the functions in .onLoad or 
.FirstLib, whatever you have there. I would simply advise not to put any 
  code outside of functions or class methods. In this way the order of 
loading will not matter, it will not depend on system or alphabet and 
you will also be able to save the loaded image of the package for faster 
loading.

Best
Oleg

hadley wickham wrote:
> Dear all,
> 
> I have been using the proto package to create objects with mutable
> state for my ggplot package.  This has been very successful so far,
> but I have run into a problem when building/installing the package,
> because the source files need to be loaded in a specific order so that
> dependencies are initialised correctly.
> 
> I have named the files so that dependencies are loaded before they are
> needed, so that
> 
> lapply(dir("~/documents/ggplot/ggplot/R", full.name=T), source)
> 
> runs without error, but when installing the package I get an error
> than indicates that the files aren't being loaded in alphabetical
> order:
> 
> Error in proto(Geom, { : object "Geom" not found
> Error: unable to load R code in package 'ggplot'
> Error: package/namespace load failed for 'ggplot'
> 
> Can anyone suggest how I could get around this?
> 
> Regards,
> 
> Hadley
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Dr Oleg Sklyar | EBI-EMBL, Cambridge CB10 1SD, UK | +44-1223-494466



More information about the R-devel mailing list