引用从devtools创建的包中的作者姓名

时间:2014-07-14 15:31:46

标签: r devtools

所以,我正在创建一个脚本来扩展devtools::create()的功能,并且当我用utils::maintainer仔细检查时,我注意到一些有点奇怪的行为。这是一个MWE,我通过Authors@R选项设置了描述文件的devtools.desc.author部分:

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>"

所以我的问题是:为什么维护者的名字在这里被引用?

1 个答案:

答案 0 :(得分:1)

这似乎是关于如何从Authors @ R自动生成Maintainer字段的问题。见:http://cran.r-project.org/doc/manuals/r-release/R-exts.html

  

如果给出合适的'Authors @ R'字段,则可以省略'Author'和'Maintainer'字段。该字段可用于通过合适的R代码提供包“作者”(特别是指定其精确角色)的精炼和机器可读描述。这些角色可以包括'&#34; aut&#34;'(作者)为完整作者,&#34; cre&#34;'(创建者)为包维护者,'&#34; ctb&#34;' (贡献者)其他贡献者,'&#34; cph&#34;'(版权所有者)等。有关更多信息,请参阅?person。请注意,默认情况下不承担任何角色。自动生成的包引用信息利用了此规范。如果在构建5或安装时需要,可以从中自动生成“作者”和“维护者”字段。

因此,您应该使用person函数指定作者列表,如下所示:

options(devtools.desc.author ="c(person('Joe','Dirt',email='joe@durt.ee',role=c('aut','cre')))")