gradle:让工具api模型调用依赖于buildscript中的任务



我有一个构建脚本,其中一个任务将依赖项添加到配置中。那么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)

相关内容

  • 没有找到相关文章

最新更新