我已经设置并运行了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
为什么会发生这种情况,定义了这种行为?
答案 0 :(得分:5)
你能提供完整的build.gradle
脚本吗?我会更容易帮助你。您可能会误认为使用配置阶段的gradle build 阶段 - 这是一个常见的主题。
一般规则是您希望在 build 阶段运行的代码应添加为操作:
task someTask << {
println 'runtime'
}
代码您希望在配置阶段运行代码应添加到任务正文中:
task someTask {
println 'configuration
}
或全部:
task someTask {
println 'configuration'
doLast {
println 'runtime'
}
}