gradle - 孤立的 Gradle 任务?

标签 gradle build.gradle

我正在尝试将一个有些复杂的 Makefile 移植到 Gradle。我需要能够让一些任务彼此独立执行,但我不知道如何在 Gradle 中执行此操作;例如,如果我有一个如下所示的 build.gradle:

apply plugin: 'eclipse'
apply plugin: 'idea'

task foo {
  println 'foo'
}

task bar {
  println 'bar'
}

task baz {
  println 'baz'
}

如果我运行:

gradle -q foo

然后我希望看到

foo

但我看到:

foobarbaz

打印到我的终端。

如何将 Gradle 配置为仅执行单个任务?

最佳答案

您尚未为任务赋予任何功能;您看到的是正在实例化的任务的输出。

将你的 build.gradle 更改为此...

task foo {
  doLast {
    println 'foo'
  }
}

task bar << {
  println 'bar'
}

task baz {
  println 'baz'
}

然后运行 ​​foo 任务:

gradle foo

你的输出应该是...

baz
:foo
foo

...显示创建 baz 任务时输出 baz,然后执行 foo 任务(“:foo”),然后执行 foo 任务的输出。请注意,“<<”运算符是 doLast 的别名。

参见Build Script Basics在 Gradle 用户指南中。

关于gradle - 孤立的 Gradle 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458701/

相关文章:

java - 错误 :Execution failed for task ':app:transformClassesWithMultidexlistForDebug' . 修复此问题

android-studio - 尝试使用 Adob​​e Creative SDK 图像编辑制作 Android Studio 应用程序,无法在 gradle 中编译库

java - 用于构建的 Android Studio 设置节点目录(原因 : error=2, No such file or directory)

java - 如何为多个请求实例 1 个连接类?

java - 为什么我的 gradle 构建失败但 gradle 构建成功?

android - 尝试在项目中使用新的 com.android.test 插件时出错

android - 错误 : configuration 'implementation' to configuration 'internalRelease' is not declared in the descriptor for project

java - Gradle文件未运行测试

android - 在android项目中通过gradle添加依赖到eclipse