gpt4 book ai didi

gradle - Gradle获取当前依赖项版本

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

我正在尝试创建一个删除所有旧版本依赖项的任务,我可以正常运行,但问题是我的依赖项版本的版本号带有“。+”,因此当我获取所有文件夹时,删除而不仅仅是旧版本。我目前有这个:

task cleanTerraCore(type: Delete) {
doLast {
def dirName = new File("${gradle.gradleUserHomeDir}/caches/minecraft/deobfedDeps/deobf/terrails/terracore/TerraCore")
dirName.eachDir { dir ->
project.configurations.deobfCompile.dependencies.each {
System.out.println(it.version)
if (dir.name.contains("SNAPSHOT") && it.name.contains("TerraCore")) {
if (!dir.name.contains(it.version)) {
delete(dir)
}
}
}
}
}
}

dependencies {
deobfCompile("terrails.terracore:TerraCore:" + getMajorMC() + "-" + "${terracore_version}-SNAPSHOT.+")
}

'it.version'总是打印出'SNAPSHOT。+',所以我不确定如何处理,我能以某种方式有效地检查最大的内部版本号吗?

最佳答案

几个小时后想通了。现在,它获得的最新版本不带“+”号

task cleanTerra(type: Delete) {
doLast {
def dirName = new File("${gradle.gradleUserHomeDir}/caches/minecraft/deobfedDeps/deobf/terrails/terracore/TerraCore")
dirName.eachDir { dir ->
configurations.deobfCompile.resolvedConfiguration.firstLevelModuleDependencies.each {
System.out.println(it.moduleVersion + ", ${it.moduleName}")
if (dir.name.contains("SNAPSHOT") && it.moduleName.contains("TerraCore")) {
if (!dir.name.contains(it.moduleVersion)) {
delete(dir)
}
}
}
}
}
}

因此,println现在将输出完整版本(当前为“1.12-2.1.10-SNAPSHOT.7”)和依赖项名称“TerraCore”

关于gradle - Gradle获取当前依赖项版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49602816/

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