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

Mar*_* L. 3 multi-project gradle

我开始使用Gradle进行多项目.但是,Gradle手册没有给出关于子项目命名的最佳实践的许多提示.

我有一个名为'datalogger'的多项目,它包含两个子项目'核心'和'条目':

- datalogger
--- core
--- entries
Run Code Online (Sandbox Code Playgroud)

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

- datalogger
--- datalogger-core
--- datalogger-entries
Run Code Online (Sandbox Code Playgroud)

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

Pet*_*ser 8

subprojects {
    tasks.withType(Jar) {
        baseName = "datalogger-$project.name"
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • maven-publishing 任务忽略 archivesBaseName (2认同)