使用gradle将maven存储库中的tar.gz文件解压缩到build目录中

时间:2011-11-20 19:54:43

标签: copy tar unzip gradle gz

我有一个tar.gz文件,其中包含webservice的WSDL文件,并希望将此文件解压缩到build目录中。 tar.gz文件位于maven存储库中。 例如文件名是my-webservice-1.10.5-wsdl.tar.gz

我尝试使用复制任务然后使用ant.unzip,但这不起作用。

在maven中,我使用了maven-dependency-plugin。不幸的是,没有gradle等价物。

1 个答案:

答案 0 :(得分:3)

以下快速和肮脏的脚本应该有效;我相信你会设法让它变得更漂亮。据我所知,没有方法可以一步解压缩tar.gz。

apply plugin: 'java'

configurations {
  tar
}

repositories {
  mavenCentral()
}

dependencies {
  tar 'spice:spice-converter:1.0@tar.gz'
}

assemble << {
  // not very pretty, but fileCollection() will not work, since it performs
  // the evaluation lazily
  ant.gunzip(src: configurations.tar.files.iterator().next(), dest: 'build/tmp/ungziped.tar')
  copy {
    from tarTree('build/tmp/ungziped.tar')
    into 'build/target'
  }
}