我很陌生并且有一个基本的问题。
当我将自定义任务添加到我的gradle.build文件并调用“gradlw build”或“gradle clean”或任何其他gradle命令时, 它会自动运行我的自定义任务。
那是事情在gradle中如何运作?运行构建文件中的每个任务? 有没有办法只在我手动操作时运行任务?
答案 0 :(得分:2)
task foo {
println 'hello'
}
这会创建一个任务,并且在任务的配置期间,它会告诉gradle执行println 'hello'
。每个构建都配置了每个任务,因为gradle需要知道它的配置是什么,以确定是否必须执行任务。
task foo << {
println 'hello'
}
这会创建一个任务,并且在任务的执行期间,它会告诉gradle执行println 'hello'
。因此,只有在您明确选择运行任务foo
或依赖foo
的任务时才会执行代码。
它相当于
task foo {
doLast {
println 'hello'
}
}
您选择不发布您的代码,可能假设gradle表现得很奇怪,并且您的代码与问题无关。所以这只是一个猜测,但你可能使用了第一个不正确的代码,而不是第二个,正确的代码。