gpt4 book ai didi

gradle 获取子项目名称、版本

转载 作者:行者123 更新时间:2023-12-03 03:47:00 26 4
gpt4 key购买 nike

根项目 build.gradle

subprojects {
jar {
manifest {
attributes Name: project.archivesBaseName,
Version: project.version
}
}
}

子项目 A build.gradle
archivesBaseName = 'AAA'
version = '1.0.1'

子项目 B build.gradle
archivesBaseName = 'BBB'
version = '1.0.2'

我想要的是运行后 gradlew build在根项目上,在项目 A 和 B 的 list 文件中,有 Name: AAA Version: 1.0.1Name BBB version: 1.0.2 .
但我得到的是名称是项目的名称: A ,版本为 unspecified ...
Name: A Version: unspecified

最佳答案

你需要包装你的subproject projectsEvaluated 中的配置关闭回调闭包:

gradle.projectsEvaluated {
subprojects { subproject ->

jar {
manifest {
attributes Name: subproject.archivesBaseName,
Version: subproject.version
}
}
}
}

为什么? 因为当你的 subproject配置关闭在根父项目中执行(在配置阶段), archiveBaseName 的值和 version子项目的属性尚未评估,因此 jar Manifest 属性的配置不正确。您需要在所有项目都已评估后设置此配置 ==> 使用 projectsEvaluated生命周期钩子(Hook)。

关于gradle 获取子项目名称、版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53185588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com