2015-06-03 4 views
5

Я хотел бы положить пакет на CRAN. Тем не менее, в настоящее время в пакете используется внешняя модель C (стандартная модель ISDA), которая создается в рамках публичной повторно распространяемой лицензии. Однако администратор CRAN отказывается помещать пакет в CRAN, если он содержит эту модель C. Так или иначе, чтобы поставить пакет на CRAN без этой модели C, и при вызове install.packages("my.package") он может автоматически загрузить модель C из github.com/my_github?Установите некоторые детали из Github при вызове «install.packages()» в R

На данный момент, я написал следующий код в zzz.R:

.onLoad <- function(libname, pkgname) { 
    if (! "Github_pkg" %in% (all.available = TRUE)){ 
     devtools::install_github("myGithub/Github_pkg") 
    } 
} 

Является ли это хорошо, если я представить CRAN? Или я должен использовать пакет drat от Dirk? Благодаря!!

ответ

6

Вы можете посмотреть мой пакет drat, чтобы создать свой собственный репозиторий на GitHub. Я использую это, например, для размещения пакета Rblpapi, в который я вношу (и который опирается на library from Bloomberg) в this ghrr repository built using drat.

Все это работает. CRAN даже принял пакет, который использовал ghrr drat repo в качестве внешнего репозитория (но после удаления этого пакета по другой причине).

Вам по-прежнему необходимо организовать свой «первичный» пакет на CRAN таким образом, что «вторичный» пакет - это только «Предлагает:», поскольку фактические зависимости также должны быть на CRAN. Но, по крайней мере, это дает вам возможность автоматизировать эти процессы.

+0

Я отправлю КРАН этим двум неделям, и у меня возник вопрос. На данный момент я не использовал 'drat', а написал следующий код в' zzz.R': '.onLoad <- function (libname, pkgname), если (!" Github_pkg "% in% (all.available = TRUE)) {DevTools :: install_github ("myGithub/Github_pkg")} '. Считаете ли вы, что это нормально, если я подчиняюсь CRAN? И если 'drat' является предпочтительным, не могли бы вы дать мне немного больше рекомендаций о том, как вставить мой' Github_pkg', используя 'drat'? Большое спасибо!! –

Смежные вопросы