3

我开始将 Gradle 用于多项目。然而,Gradle 手册并没有给出关于子项目命名的最佳实践的很多提示。

我有一个名为“datalogger”的多项目,它由两个子项目“核心”和“条目”组成:

- datalogger
--- core
--- entries

当我构建项目时,我得到了 jar 'core-1.0.jar' 和 'entries-1.0.jar'。如何以通用方式管理命名为“datalogger-core-1.0.jar”和“datalogger-entries-1.0.jar”?我知道,我可以按如下方式更改文件夹的名称:

- datalogger
--- datalogger-core
--- datalogger-entries

但我认为,这不会被视为好方法。我也可以手动更改archivesBaseName每个项目的。但如前所述,我宁愿找到一种以通用方式执行此操作的方法。

4

2 回答 2

9
subprojects {
    tasks.withType(Jar) {
        baseName = "datalogger-$project.name"
    }
}

或者,您可以archivesBaseName以类似的方式进行设置。

于 2013-02-03T16:18:40.567 回答
1

我们通过重命名子项目来处理这个问题,在创建/命名您的 jar 时将考虑新名称:参考:如何在 gradle 中重命名项目而不是使用文件夹名称?

include 'xxx', 'yyy'
rootProject.children.each { it.name = rootProject.name + it.name }
于 2013-02-04T11:19:22.547 回答