【发布时间】:2021-11-02 03:43:37
【问题描述】:
考虑以下构建脚本
-
addToMyConfig将依赖项添加到名为myConfig的 Configuration -
useMyConfig消耗myConfigConfiguration 并强制它到 resolve()
configurations {
myConfig
}
task addToMyConfig {
doLast {
println "Doing some work"
dependencies {
myConfig 'log4j:log4j:1.2.17'
}
}
}
task useMyConfig {
doLast {
println "myConfig = $configurations.myConfig.files"
}
}
问题:有没有办法在每次解决configurations.myConfig 时触发addToMyConfig,而不添加useMyConfig 依赖于addToMyConfig 的任务依赖项?
我想说:
configurations.myConfig.builtBy addToMyConfig
**我不想说**
useMyConfig.dependsOn addToMyConfig
我想避免useMyConfig.dependsOn addToMyConfig,因为可能有很多任务消耗configurations.myConfig
注意:有一个ConfigurableFileCollection.builtBy(Object... tasks) 方法可以解决我的问题,只要它存在于Configuration 接口上(配置扩展FileCollection)
【问题讨论】:
标签: gradle dependencies directed-acyclic-graphs