如何从 gradle.build 脚本执行“gradle build”命令

diw*_*att 6 groovy gradle build.gradle

我想从build.gradle文件执行gradle 构建命令。

构建.gradle 文件

apply plugin: 'java'
apply plugin: 'application'
task me{
   //Can we perform gradle build command here.
       }
Run Code Online (Sandbox Code Playgroud)

问题: 我们可以在任务我中执行 gradle build 命令吗,就像我们在命令提示符下执行的那样(附有屏幕截图)..?

注意:我使用的是 Windows 环境,请假设我在 build.gradle 文件中提供所有其他语句。我可以通过执行从命令提示符构建

gradle 构建文件

想从命令提示符执行此任务,它应该负责调用gradle build命令。(附截图)

在此输入图像描述

Vam*_*ire 2

您无法在 Gradle 构建中“调用”Gradle 任务。

您可能会偶然发现每个 Gradle 任务都有的方法execute(),但这是一个纯粹的内部方法,任何构建脚本都不得使用。使用它将无法正常工作。它不会确保任务只运行一次,也不会确保依赖任务之前运行等等,只是不要使用它。

你的代码片段太大了,我现在想解释它以准确理解你想要做什么,但如果你想从另一个 Gradle 任务“调用”一个 Gradle 任务,你的逻辑是假的,应该改变。如果您想在另一个 Gradle 任务运行之前或之后运行一个 Gradle 任务,唯一支持的方法是使用dependsOn(before) 或finalizedBy(after),并且您不能在任务的执行阶段设置这些属性,而只能在配置阶段设置。

好吧,还有另一种方法可以从构建脚本调用 Gradle 任务,但这是通过使用类型的任务来GradleBuild启动您指定的项目的全新且单独的构建,这通常不是您真正想要的操作去做。