On 03/09/2009 7:47 AM, Romain Francois wrote:
On 09/02/2009 01:13 PM, Duncan Murdoch wrote:
Romain Francois wrote:
Hello,

(This is a remix of this previous thread:
https://stat.ethz.ch/pipermail/r-devel/2009-August/054264.html , but
with a concrete example)

I am developing some packages that contain scripts (for Rscript) and
would like to know what is the best/recommended way to ship these
scripts.

An example is the "ant" package (R capable version of apache ant, see
http://tr.im/xHLs). The package has a ant.R script in the exec
directory and here is how I use it :

$ `Rscript -e "cat( system.file( 'exec', 'ant.R', package = 'ant' ) ) " `

... not so pretty. Meanwhile, "Writing R extensions" talks about the
exec directory, but it is not clear if I can use it this way or how.

I think exec is a reasonable place to put the script. If you don't want
to type that long command above, why not put it in a small function in
the package? E.g. define

antR <- function() cat( system.file( 'exec', 'ant.R', package = 'ant' ) )

then you can run it with

Rscript -e "ant::antR()"

Duncan Murdoch

I've implemented a minimal version of this in package "exec". For example.

$ Rscript -e "exec::rscript( 'ant', 'ant.R')"

Romain

btw, exec is maintained at r-forge :

$ svn checkout svn://svn.r-forge.r-project.org/svnroot/highlight/pkg/exec

That's a nice, simple function.  I might add an argument

dir = "exec"

rather than hard-coding that directory choice; others might keep their scripts somewhere else, or want to run one of the test scripts, etc.

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to