我有以下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
}
将依赖项添加到已声明的配置中,并根据需要使用版本通配符。仅+
用于版本将为您提供已声明存储库中可用的最新版本:
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
}
注意:在项目依赖项版本中使用通配符通常是一种不好的做法。这使得构建没有确定性-如果将具有重大更改的较新版本的依赖项发布到源存储库,则可能会破坏您的构建。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句