gpt4 book ai didi

groovy - 如何转储用于构建的所有gradle值

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

我们在android studio中有一个多项目gradle构建。有时我们不得不更改其中的某些内容,通常只有一两行代码,但是要知道将其放置在何处却从来都不容易。我很难知道哪些属性存在于哪里,所以我很想拥有类似dump-everything之类的东西,以便在该时间点可以看到所有属性及其子级,这将使更改变得容易得多

我发现了这个

def void explainMe(it){
//println "Examining $it.name:"
println "Meta:"
println it.metaClass.metaMethods*.name.sort().unique()
println "Methods:"
println it.metaClass.methods*.name.sort().unique()
println "Depends On:"
//println it.dependsOn.collect({it*.getName()})
println "Properties:"
println it.properties.entrySet()*.toString()
.sort().toString().replaceAll(", ","\n")
}

可以,但是我想在顶级范围内对其所有子级进行递归调用,最好将输出存储到文件中以便能够对其进行搜索。任何想法将不胜感激?或者可以将调试器附加到gradle构建并检查/ watch里面的变量吗?

谢谢

最佳答案

Gradle具有非常特定的支持来检查构建模型的某些部分(gradle tasksgradle help --task taskNamegradle propertiesgradle projectsgradle dependenciesgradle dependencyInsight等),但目前尚不具有用于深入检查任意构建模型属性及其值的通用功能。 。相反,通常将一些println添加到构建脚本和/或查询Gradle Build Language Reference

要回答第二个问题,可以使用与任何其他外部应用程序相同的方式来调试Gradle构建。可以通过JAVA_OPTSGRADLE_OPTS环境变量设置必需的JVM args(通常由调试器提供)。调试时最好使用--no-daemon执行Gradle。

关于groovy - 如何转储用于构建的所有gradle值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203947/

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