我正在尝试将一个有些复杂的 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/