roxygen、パッケージの構築、およびuse.rd2 = true
質問
Roxygenドキュメントを構築し、パッケージを構築し、チェックしてから、新しく構築されたパッケージをマシンにインストールするシンプルなシェルスクリプトがあります。とても簡単です:
#! /bin/sh
R CMD roxygen -d myPackage
R CMD build myPackage/
R CMD check myPackage_0.01.tar.gz
R CMD INSTALL myPackage myPackage_0.01.tar.gz
しかし、私はroxygenが私の.onload()関数をとしてピックアップすることに問題を抱えています StackOverFlowで以前に説明しました. 。解決策は、roxygenizeを使用してuse.rd2 = trueオプションを使用することです。コマンドプロンプトから構築したいので、このラインを変更しました
R CMD roxygen -d myPackage
roxygenize lineをstdinを通ってrに押し込む次の線に:
echo 'require("roxygen"); roxygenize("myPackage", roxygen.dir="myPackage",
copy.package=FALSE, use.Rd2=TRUE)' | R --no-save < /dev/stdin
これ 思われる ダンディだけで働くために。しかし、それは少し複雑に感じられます。より簡単で、よりエレガントな方法はありますか?
解決
私は同様のことをしていますが、シェルスクリプトのここのドキュメントを使用して、クリーナーに見せます。
#!/bin/sh
##
##
## Must be run from the parent of the package directory (no options
## to change target of check or tarball!?!)
PACKAGE="analyzeNMON"
VERSION=$(awk -F": +" '/^Version/ { print $2 }' ${PACKAGE}/DESCRIPTION)
R --no-restore --slave <<EOR
library(roxygen)
roxygenize(package.dir="${PACKAGE}",
roxygen.dir="${PACKAGE}",
use.Rd2=TRUE,
overwrite=TRUE,
copy.package=FALSE,
unlink.target=FALSE)
EOR
R CMD build ${PACKAGE}
R CMD check ${PACKAGE}_${VERSION}.tar.gz
R CMD INSTALL ${PACKAGE}_${VERSION}.tar.gz
Rコードは、スクリプトの間に実行されるものと非常に似ています R CMD roxygen
.
私のシステムにインストールされているroxygen(バージョン0.1;今週のCRANからインストール)は、 -s
上記のオプション...
他のヒント
かもしれません R CMD roxygen -s
オプションはここで役立ちます。私はそれが事実上設定と同じであると信じています use.Rd2=TRUE
の中に roxygenize
働き。
所属していません StackOverflow