在Nexus上有一个zip文件(具体来说,它是一个selenium zip文件),我需要解压缩并添加到项目的依赖项中。在工作中Nexus被锁定,所以在那里得到任何东西是痛苦的,或者我只是自己解压缩文件。我不知道如何实现这一点,因为我遇到了循环依赖。
有没有办法让这项工作?
以下是示例代码:
configurations{
selenium
}
dependencies {
selenium 'org.seleniumhq.selenium:selenium:3.1.0@zip'
}
task unzip(type: Copy) {
configurations.selenium.resolvedConfiguration.resolvedArtifacts.each { artifact ->
if (artifact.file.name.endsWith('.zip')) {
from zipTree(artifact.file)
into outputDir
}
}
}
答案 0 :(得分:0)
我找到了一个不太优雅的解决方案。
def outputDir = file('Dependency location')
dependencies {
compile fileTree(dir: outputDir)
}
compileJava.doFirst { tasks.unzip.execute() }
task unzip(type: Copy) {
def f = new File(outputDir, 'selenium zip file')
new URL('Nexus url to selenium zip').withInputStream { -> f.withOutputStream { it << i }}
FileTree zip = zipTree(f)
from (zip)
into outputDir
}