Может ли roxygen2 автоматически записывать директивы NAMESPACE для пакетов "Импорт:"?
tl; dr версия моего вопроса
Если я хочу импортировать пакеты, нужно ли вручную записывать директивы import()
в файл NAMESPACE? Кажется, что roxygen2 не будет волшебным образом делать это для меня, даже если я их перечисляю как "Импорт:" в моем описании.
Полная версия
Это довольно глупый вопрос, но я спрашиваю, потому что ответ не очевиден для меня.
Я использую roxygen2
для обработки моего пакета R. Когда я хочу убедиться, что функция экспортирована, я добавляю тег @export
в свой блок roxygen. Последующие прогоны roxygenize()
будут соответствующим образом записывать директиву NAMESPACE.
Но мой пакет в настоящее время импортирует несколько других:
Depends:
R (>= 2.13.0),
ggplot2 (>= 0.8.9)
Imports:
RColorBrewer,
plyr,
gridExtra
Похоже, что в то время как roxygen2
будет переписывать директиву NAMESPACE для экспортируемых функций, он не будет автоматически переписывать NAMESPACE, чтобы отражать пакеты, которые я обозначил, должен быть импортирован в моем DESCRIPTION.
Ответы
Ответ 1
Развернув мой комментарий, если вы хотите автоматически добавить директивы namespace
для пакетов/функций, которые вы import
, вы можете сделать это, добавив строку @imports package
или @importFrom package function
в заголовок документации roxygen2
ваша функция.
Однако, как заметил @hadley, он изменит только namespace
, но не повлияет на пакет DESCRIPTION