我有一个构建脚本,其中一个任务将依赖项添加到配置中。那么compileJava
依赖于该任务。
plugins {
`java-library`
}
repositories {
mavenCentral()
}
val setupDeps = tasks.register("setupDeps") {
doLast {
dependencies.add("implementation", "org.clojure:clojure:1.10.3")
}
}
tasks.named("compileJava") {
dependsOn(setupDeps)
}
在shell中这可以工作。而在intelllij中,使用gradle的工具api来构建依赖模型。而工具api并不知道它必须首先执行此任务。有什么方法可以配置这个吗?我当然可以在配置阶段动态添加依赖项,但我不想这样做,因为找出需要添加的内容很慢。
我自己找到了答案。
要dependdon的任务名是:prepareKotlinBuildScriptModel
这就解决了问题:
tasks.findByPath(":prepareKotlinBuildScriptModel")?.dependsOn(setupDeps)