当前位置: 首页 > 知识库问答 >
问题:

如何从gradle运行gradle脚本

公冶子安
2023-03-14

如何从gradle运行另一个gradle脚本。我有多个gradle脚本在下运行测试

gradlerun_test

这应该运行

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

我该怎么做?有没有一种更渐变集成的方式来运行另一个渐变脚本,将所有必需的信息传递给子渐变脚本


共有2个答案

章博耘
2023-03-14

如果要指定其他渐变脚本,可以使用:

gradle --build-file anotherBuild.gradle taskName

gradle -b anotherBuild.gradle taskName
耿珂
2023-03-14

我做了类似的事情,其中一个gradle中的“构造”任务将它创建的目录(称为arteif)中的另一个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任务数量众多,种类繁多: 从Android Studio的

  • 本文向大家介绍Android 从Gradle执行Shell脚本,包括了Android 从Gradle执行Shell脚本的使用技巧和注意事项,需要的朋友参考一下 示例 Shell脚本是一种非常通用的方法,可以将您的构建扩展到您能想到的任何东西。 例如,这是一个简单的脚本,用于编译protobuf文件并将结果java文件添加到源目录中以进行进一步编译: 此示例的“ pbScript.sh” shell

  • 我想在gradle在Android中构建debug apk之前运行一些groovy脚本。 将此添加到Build.Gradle(应用程序) 将此添加到build.grade(android) 依赖关系{...classpath“org.codehaus.groovy:gradle-groovy-android-plugin:0.3.6”} 我一直收到错误:错误:原因:错误=13,拒绝权限 更新: 在

  • 我有一个Gradle项目,我正试图用它来运行Jetty。我的文件如下所示。 建筑格拉德尔 我试图从命令行运行这个项目,我使用的命令是: > 应构建项目,并输出以下内容: Jetty插件已被弃用,计划在Gradle 4.0中删除。考虑使用Gretty(https://github.com/akhikhl/gretty)而不是插件。在build_6xw4u3pr68h02k136x2vqowd。运行(

  • 问题内容: 我有一个非常简单的问题。我是Mac的新手,我正试图将Java项目移到新Mac上。该项目有一个Gradlew文件,我认为我可以从命令行运行以在任何计算机上构建和运行。当我从命令行(在gradlew文件的位置)执行gradlew时,它说未找到gradlew。我是否缺少有关如何从bash shell运行命令的内容? 问题答案: 您的gradlew目录未包含在PATH中,因此您必须指定grad

  • 我想使用“本地”环境变量从Gradle命令行运行Micronaut服务器。正规司令部 将使用文件中定义application.yml默认变量。我想用本地环境的值重写其中一些,因此需要指定系统属性micronaut.environments=本地来使用application-local.yml文件中的重写值。 上面的命令将不起作用,因为Gradle将仅使用-Dmicronaut作为系统属性,其余的“