R: пропустить виньетирование, выполняемое при проверке CRAN R CMD

У меня есть несколько виньеток в R пакет, который медленно запускается. Как я понимаю, это КРАН R CMD check не будет перестраивать виньетку, но будет запускать соответствующий код.

Поскольку виньетки работают медленно, я не думаю, что придерживаюсь политики CRAN. Но виньетки - это полезные примеры с цифрами. Поэтому мне было интересно, можно ли пропустить запуск кода виньетки только для CRAN R CMD checkнемного как вы можете пропустить модульный тест, используя testthat::skip_on_cran()?

2 ответа

Комментарий Дирка оR CMD checkявляется--helpполный Вы увидите--no-vignettesфлаг.

Если вы используетеdevtoolsиз консоли R просто используйте:

devtools::check(vignettes = FALSE)

Я только что обнаружил, что есть переменная окружения, используемая devtools называется NOT_CRANи мы должны быть в состоянии использовать те же идеи, чтобы проверить, что все работает как CRAN. Я считаю, что код упаковки в следующем if Заявление будет означать, что он запускается, только если вы не используете --as-cran заявление.

if (identical(Sys.getenv("NOT_CRAN", unset = "true"), "true")) {
    ###CODE HERE###
}

Я думаю, что даже если это было установлено devtools это все еще должно работать.

Источники: Testing - R Packages by Hadley Wickham; testthat источник пакета; devtools источник пакета.

Другие вопросы по тегам