首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从gradle运行gradle脚本

如何从gradle运行gradle脚本
EN

Stack Overflow用户
提问于 2014-10-20 05:30:06
回答 2查看 4.9K关注 0票数 8

如何从gradle运行另一个gradle脚本。我有多个gradle脚本可以在<root_project>/test目录下运行测试。使用要运行的测试gradle文件的名称调用<root_project>/build.gradle。例如

gradle run_test -PtestFile=foobar

它应该运行<root_project>/test/foobar.gradle (默认任务)

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

我该怎么做?是否有一种更完整的方式从另一个gradle脚本中运行一个gradle脚本,将所有所需的信息传递给子gradle脚本?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-20 09:12:35

我所做的类似的事情是,一个gradle中的"construct“任务在它创建的dir中的另一个gradle文件中传递给另一个gradle文件中的"perform”任务(称为伪),并且它也会通过所有的项目属性。

以下是切换的相关代码:

代码语言:javascript
复制
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()
票数 5
EN

Stack Overflow用户

发布于 2014-10-20 05:57:05

如果要指定另一个gradle脚本,可以使用:

代码语言:javascript
复制
gradle --build-file anotherBuild.gradle taskName

代码语言:javascript
复制
gradle -b anotherBuild.gradle taskName
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26459067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档