gpt4 book ai didi

gradle - 识别已在gradle中调用的项目列表

转载 作者:行者123 更新时间:2023-12-03 05:55:39 24 4
gpt4 key购买 nike

我有一个支持多项目的设置插件。当前,它将自身应用于settings.gradle中标识的每个项目。但是,这是一个问题,因为每个子项目都没有相同的配置,并且我通过-P通过在命令行上设置的项目属性来控制某些插件行为。

问题是,在没有使用该属性所需的配置的项目上,此操作将失败,并且我知道通过命令行将属性应用于特定子项目的已知方法。

除了遍历settings.gradle.allprojects之外,还没有办法知道哪些项目实际上已包含在构建中?例如,当我这样做时:

gradle :subproject-name:build :other-subproject-name:build -PsomeProperty

我想知道只调用了subproject-nameother-subproject-name,因此我可以将设置插件仅应用于那些项目。

还是有办法将项目属性“范围”化到仅特定项目?

最佳答案

... is there a way to know what projects have actually been included as part of the build?



这是一个误解。当 settings.gradle包含所有项目时,所有项目都将成为构建的一部分,并且都将对其​​进行配置,以便它们具有关联的 Project

您最终要寻找的是,给定将要执行的任务,拥有这些任务的子项目是什么?为此,您可以获取Gradle的任务图,并针对将要执行的所有任务,找到拥有每个任务的项目。
gradle.taskGraph.whenReady { graph ->
def projects = graph.allTasks.collect { it.project }.toSet()
projects.each {
println "Project is being used in this build: " + it
}
}

关于gradle - 识别已在gradle中调用的项目列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040775/

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