作为新手,我正在尝试使构建步骤依赖于自定义任务。

我的build.gradle包含以下代码:

repositories {
  jcenter()
}

apply plugin: 'base'

defaultTasks 'build'
build.dependsOn compileAll

task compileAll {
  doLast {
    println "hello"
  }
}

如果我删除build.dependsOn compileAll行,则可以正常工作。我认为我做错了事,但不确定。

最佳答案

问题是您在实际声明build任务之前创建了compileAllcompileAll之间的依赖项。因此Gradle不了解此任务,并生成错误Could not get property...
请记住,构建脚本实际上是真正的脚本,顺序说明/块很重要。

这将起作用:

// first declare "compileAll" task
task compileAll {
    doLast {
        println "hello"
    }
}
// then you can reference this compileAll task declare above
build.dependsOn compileAll

08-19 23:22