Gradle-解压缩最新版本的依赖项

Gradle-解压缩最新版本的依赖项,gradle,Gradle,我有下面的gradle任务来解压已下载到tmp的依赖项 task unzip(type: Copy) { def zipFile = file('tmp/dist-1.0.1.zip') def outDir = file("unpacked/dist") from zipTree(zipFile) into outDir } 但是,我希望下载最新版本的依赖项,而不是特定版本(即脚本将下载dist-1.0.+) 是否有一种方法可以解压依赖项,无论下载了哪个版本的依赖项

我有下面的gradle任务来解压已下载到
tmp
的依赖项

task unzip(type: Copy) {
   def zipFile = file('tmp/dist-1.0.1.zip')
   def outDir = file("unpacked/dist")

   from zipTree(zipFile)
   into outDir
}
但是,我希望下载最新版本的依赖项,而不是特定版本(即脚本将下载
dist-1.0.+


是否有一种方法可以解压依赖项,无论下载了哪个版本的依赖项

添加新配置,以免污染现有项目配置:

configurations{
    download 
}
将依赖项添加到声明的配置中,并根据需要使用版本通配符。只需使用
+
for version,即可获得声明存储库中可用的最新版本:

dependencies{
    download `foo:bar:+`
}
解压缩已解析的依赖项:

task unzip(type: Copy) {
    def zipPath = project.configurations.download.find {it.name.startsWith('bar') }
    def zipFile = file(zipPath)
    def outDir = file("unpacked/dist")

    from zipTree(zipFile)
    into outDir
}

注意:在项目依赖关系版本中使用通配符通常是一种不好的做法。这使得构建具有不确定性——如果将具有中断更改的依赖项的较新版本发布到源repo,它可能会中断您的构建

要了解依赖项的最新版本是什么,在运行时,最好使用gradle的依赖项解析机制。