2012-07-03 20 views
27

slidifyというRパッケージを作成しており、R Markdownファイルから再現可能なHTML5スライドを簡単に生成できます。パッケージは、dzslides,deck.jsなどのいくつかの既存のHTML5スライド生成フレームワークのcssjsファイルを利用します。inst/librariesフォルダのこれらの外部アセットのダウンロードバージョンをslidifyに整理しました。インストール。Rパッケージの外部資産の管理

  1. これらのフレームワークは常にgithubに更新されています。このアプローチはシンプルですが、いくつかの欠点があります。現在の設定では、これらのフレームワークのいずれかが更新されるたびに、新しいバージョンのパッケージをプッシュする必要があります。私はこれらのフレームワークが付属してデフォルトcssjsへの微調整を行った場合

  2. 、その後、私はslidify固有のカスタマイズを失わないように慎重に更新をマージする必要があります。

私はこれを管理する方法についていくつか考えました。

  1. slidifyでこれらのライブラリをパッケージ化しないでください。代わりに、ユーザが望むフレームワークを追加できるようにfunctionを指定してください。

  2. inst\librariesフォルダーにslidifyのフォルダーにこれらのフレームワークを追加します(submodules)。今、誰かがdevtools::install_githubを使用していた場合、submodulesを追加してもそれらをインストールするかどうかはわかりません。

私は常に更新されている外部の非Rの依存関係を管理することができますどのようにRパッケージを書くときだから私の質問は、ありますか?

+3

私は本当にあなたの質問が好きです。最終的に「建設的でない」投票を避けるためにフレーズを微調整した。 – joran

+0

編集していただきありがとうございます。それは質問をきれいにする。 – Ramnath

+3

一つの可能​​性は、パッケージ 'xlsx'と' XLConnect'を見ることです。どちらもJavaライブラリに依存しています。 'xlsx'は、ライブラリのみを含むスタンドアロンパッケージ' xlsxjars'を定義します(依存します)。このようにして、下流のコードはライブラリから切り離されます。 – Andrie

答えて

2

類似の状況は、xlsxXLConnectのパッケージを見ています。

どちらのパッケージもJavaライブラリによって異なります。 xlsxは、ライブラリのみを含むスタンドアロンパッケージxlsxjarsを定義しています(依存しています)。

このようにして、下流のコードはライブラリから切り離されます。

関連する問題