Gradle多项目命名:如何为所有子项目设置属性(例如baseName)?

时间:2013-02-03 15:51:02

标签: gradle multi-project

我开始使用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。但是,如前所述,我宁愿找到一种以通用方式执行此操作的方法。

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:1)

我们通过重命名子项目来处理这个问题,在创建/命名你的罐子时会考虑新的名字: 参考:how to rename the project in gradle instead of using folder name?

include 'xxx', 'yyy'
rootProject.children.each { it.name = rootProject.name + it.name }