如何从gradle运行另一个gradle脚本.我有多个gradle脚本在<root_project>/test目录下运行测试.使用<root_project>/build.gradle要运行的测试gradle文件的名称调用.例如
gradle run_test -PtestFile=foobar
这应该运行<root_project>/test/foobar.gradle(它的默认任务)
什么我目前做的是调用project.exec的run_test任务.这有效但现在我需要将项目属性从运行run_test的gradle进程传递给运行foobar.gradle的进程
我怎样才能做到这一点 ?是否有更多的gradle集成方式从另一个运行gradle脚本,将所有必需的信息传递给子gradle脚本?
我做过类似的事情,其中一个gradle中的“ construct”任务转交给它创建的目录中的另一个gradle文件中的“ perform”任务(称为工件),并且该任务也通过所有项目属性。
这是移交的相关代码:
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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3708 次 |
| 最近记录: |