因此,我正在创建一个脚本来扩展devtools::create()的功能,并且当我使用utils::maintainer进行双重检查时,我注意到了一些有点奇怪的行为。下面是通过Authors@R选项设置描述文件的devtools.desc.author部分的MWE:
options(devtools.desc.license = "AGPL-3")
options(devtools.desc.author = "'Joe Dirt <joe@durt.ee> [aut, cre]'")
descArgs <- list(Package = "testPkg",
Title = "testPkg",
Description = "some desc.")
options(devtools.desc = descArgs)
devtools::create(path = "testPkg", check = TRUE)现在,如果您继续运行devtools::install("testPkg", quiet=TRUE),然后运行maintainer("testPkg"),您将得到
> maintainer("testPkg")
[1] "'Joe Dirt' <joe@durt.ee>"所以我的问题是:为什么这里引用了维护人员的名字?
发布于 2014-07-14 16:10:41
这似乎是关于如何自动从Authors@R. (参见:http://cran.r-project.org/doc/manuals/r-release/R-exts.html)自动生成维护人员字段的问题。
如果给出一个合适的“Authors@R”字段,则可以省略“作者”和“保持器”字段。通过适当的R代码,该字段可用于提供包“authors”的精化和machine-readable描述(特别是指定它们的确切角色)。这些角色可以包括完整作者的“aut”(作者),包维护者的“cre”(创建者),以及其他贡献者的“ctb”(贡献者),‘cph’(版权持有人)等等。看到了吗?更多的信息。注意,默认情况下不承担任何角色。自动生成的包引用信息利用了本规范.在building5或安装时,“作者”和“保持器”字段是自动生成的。
因此,您应该使用person函数指定作者列表如下:
options(devtools.desc.author ="c(person('Joe','Dirt',email='joe@durt.ee',role=c('aut','cre')))")https://stackoverflow.com/questions/24740194
复制相似问题