質問

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 働き。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top