gpt4 book ai didi

gradle - 如何从 gradle 运行 gradle 脚本

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

如何从 gradle 运行另一个 gradle 脚本。我有多个 gradle 脚本可以在 <root_project>/test 下运行测试目录。 <root_project>/build.gradle使用要运行的测试 gradle 文件的名称调用。例如
gradle run_test -PtestFile=foobar
这应该运行 <root_project>/test/foobar.gradle (它的默认任务)

我目前正在做的是调用 project.execrun_test任务。这有效,但现在我需要将项目属性从运行 run_test 的 gradle 进程传递给运行 foobar.gradle 的进程

我怎样才能做到这一点 ?是否有更多与 gradle 集成的方式来运行另一个 gradle 脚本,将所有必需的信息传递给子 gradle 脚本?

最佳答案

我做了类似的事情,其中​​一个 gradle 中的“构造”任务移交给它创建的目录中另一个 gradle 文件中的“执行”任务(称为人工制品),并且它也通过所有项目属性。

这是交接的相关代码:

def gradleTask = "yourTaskToEventuallyRun"
def artefactBuild = project.tasks.create([name: "artefactBuild_$gradleTask", type: GradleBuild])
artefactBuild.buildFile = project.file("${artefactDir}/build.gradle")
artefactBuild.tasks = [gradleTask]

// inject all parameters passed to this build through to artefact build
def artefactProjectProperties = artefactBuild.startParameter.projectProperties
def currentProjectProperties = project.gradle.startParameter.projectProperties
artefactProjectProperties << currentProjectProperties
// you can add more here
// artefactProjectProperties << [someKey: someValue]

artefactBuild.execute()

关于gradle - 如何从 gradle 运行 gradle 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459067/

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