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

时间:2017-11-28 13:37:48

标签: gradle groovy build.gradle

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

build.gradle文件

apply plugin: 'java'
apply plugin: 'application'
task me{
   //Can we perform gradle build command here.
       }

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

  

注意:我使用的是windows env,请假设我在build.gradle文件中提供所有其他语句。   我可以通过执行

从命令提示符构建

gradle build file

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

enter image description here

2 个答案:

答案 0 :(得分:3)

是的,如果您将任务class DatabaseColumnName class DatabaseTableName addItem(DatabaseColumnName.javaClass, "Age") addItem(DatabaseTableName.javaClass, "Person") ... getItemsByType(DatabaseTableName.javaClass) 发送到me

类型的任务

https://docs.gradle.org/current/dsl/org.gradle.api.tasks.GradleBuild.html

E.g。

GradleBuild

答案 1 :(得分:1)

你不能打电话" Gradle构建中的Gradle任务。

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

你的代码片段对我来说太大了,我现在想要解释它以了解你想要做什么,但如果你想要"呼叫"来自另一个Gradle任务的Gradle任务,您的逻辑是假的,应该更改。如果要在运行另一个Gradle任务之前或之后运行Gradle任务,唯一支持的方法是使用dependsOn(之前)或finalizedBy(之后),而不能在任务的执行阶段设置这些属性,但仅限于配置阶段。

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

相关问题