我已经设置并运行了 gradle。我的 build.gradle
内部定义了 2 个任务:
task setVersion() {
println('setVersion')
//...
}
task setIntegrationEnv() {
println('setIntegrationEnv')
//...
}
当我运行时
./gradlew clean
gradle 运行 setVersion
和 setIntegrationEnv
这两个任务,然后它对我的所有模块(app
、cloud_module
) 在该项目中,输出:
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
setVersion
setIntegrationEnv
:cloud_module:clean
:app:clean
BUILD SUCCESSFUL
Total time: 14.18 secs
为什么会发生这种情况,这种行为是在哪里定义的?
最佳答案
您能否提供完整的 build.gradle
脚本?我会更容易帮助你。您可能将 gradle build 阶段误认为是 configuration 阶段 - 这是这里的常见主题。
一般规则是,您希望在构建 阶段运行的代码应添加为操作:
task someTask << {
println 'runtime'
}
虽然您希望在配置阶段运行的代码应该添加到任务主体中:
task someTask {
println 'configuration
}
或一起:
task someTask {
println 'configuration'
doLast {
println 'runtime'
}
}
关于gradle - 为什么 gradle clean task 启动所有其他非默认任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468507/