gpt4 book ai didi

gradle - 自定义选择依赖版本

转载 作者:行者123 更新时间:2023-12-03 05:46:48 25 4
gpt4 key购买 nike

在我正在使用的项目依赖项中,有许多类似的版本名称,例如:1.0.0、1.0.0-dev,1.0.0-dev2 ...是否可以列出从1.0.0开始的所有版本并选择该列表中的有趣版本?
我当时正在考虑resolutionStrategy,但其中不包含可能的版本列表

最佳答案

你可以这样做

configurations.all.resolutionStrategy {
List<DependencyResolveDetails> drdList = []
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'foo' && details.requested.name = 'bar') {
drdList << details
}
}
if (drdList.size() > 1) {
List<String> versionOptions = drdList*.requested*.version
String selectedVersion = selectBestVersion(versionOptions) // TODO: implement
drdList.each { DependencyResolveDetails details ->
if (details.requested.version != selectedVersion) {
details.useVersion(selectedVersion).because("I picked $selectedVersion using a custom strategy")
}
}
}
}

也许您可以为此创建一个插件,以便通过为组/名称组合注册一个 Comparator<String>来为组/名称应用自定义策略更加简洁

例如:
apply plugin: 'x.y.custom-version-strategy'

Comparator<String> customVersionComparator = (String version1, String version2) -> { ... }
customVersionStrategy {
strategy 'foo', 'bar', customVersionComparator
}

关于gradle - 自定义选择依赖版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49687629/

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