【发布时间】:2015-03-21 02:52:28
【问题描述】:
测试 gradle 作为 maven 的替代品,我们有一个 build.gradle 文件,其中包含以下插件
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath "com.moowork.gradle:gradle-grunt-plugin:0.6"
classpath 'org.akhikhl.gretty:gretty:+'
}
}
apply plugin: 'scala'
apply plugin: "com.moowork.grunt"
apply plugin: 'war'
apply plugin: 'org.akhikhl.gretty'
./gradlew appStart 和 ./gradlew grunt_dev 在控制台中运行良好。
但是添加行的时候
appStart.dependsOn grunt_dev
对于脚本,./gradlew appStart 失败并显示
Could not find property 'appStart' on root project 'blah'.
为什么 appStart 任务在 gradle 包装器中可见,而不是在脚本中?
gretty appStart 上的文档
更新
按照下面的@Opal 解释,以下允许将任务挂钩
//Tasks defined in plugins are added after all projects are evaluated
//We have to hook after the evaluation to prevent an evaluation failure
project.afterEvaluate {
project.tasks.appStart.dependsOn grunt_dev
}
【问题讨论】: