gpt4 book ai didi

gradle - 阅读gradle脚本并找到其中定义的任务

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

我有一个要求gradle脚本(或gradle插件)必须解析gradle文件并打印所有特定类型的任务;我尝试引用gradle工具api,但未成功。

这是我尝试的:

ProjectConnection connection = GradleConnector.newConnector().forProjectDirectory(new File(System.env.REPO_ROOT)).connect()
try {
BuildEnvironment environment = connection.model(BuildEnvironment.class).get()
connection.model(GradleProject.class).get().getTasks().each {
if (it instanceof EMTest) {
println it
}
}
} finally {
connection.close()
}

这会在我当前的build.gradle中打印任务列表,这是预期的,因为我没有在任何地方指定目标gradle文件。

当我尝试使用以下代码运行(而不是在其中打印/查找任务)时。有用。
ProjectConnection connection = GradleConnector.newConnector().forProjectDirectory(new File(System.env.REPO_ROOT)).connect()
try {
BuildEnvironment environment = connection.model(BuildEnvironment.class).get()
def build = connection.newBuild()
/* This is where the gradle script location is provided */
build.withArguments("--continue", "-b", System.env.REPO_ROOT + "/tests/suites/${project.lrgs}.gradle",
"-PlrgName=${project.lrgs}", "-PlrgMetadataLoc=${lrgMetadataLoc}")
build.forTasks(project.lrgs)
build.setStandardOutput(System.out)
build.run()
} finally {
connection.close()
}

我检查了gradle工具API,但未成功。请帮忙。

最佳答案

工具API允许外部工具(例如IDE)与Gradle构建进行交互。 Gradle构建脚本或插件可以仅遍历project.tasks

关于gradle - 阅读gradle脚本并找到其中定义的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26726396/

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