gpt4 book ai didi

Gradle配置 "builtBy"一个任务

转载 作者:行者123 更新时间:2023-12-02 04:23:36 26 4
gpt4 key购买 nike

考虑以下构建脚本

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 上即可接口(interface)(配置扩展FileCollection)

最佳答案

您真的需要一个任务来使用依赖项填充配置吗?

Configuration#withDependencies可用于在解析期间添加依赖项。像这样:

configurations {
myConfig
}

configurations.myConfig.withDependencies {deps ->
println "Resolving dependencies"
dependencies {
myConfig "log4j:log4j:1.2.17"
}
}

task useMyConfig {
doLast {
println "myConfig = $configurations.myConfig.files"
}
}

关于Gradle配置 "builtBy"一个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49295791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com