如何在使用Gradle进行压缩时压扁目录结构? [英] How Do I Flatten The Directory Structure When UnZipping With Gradle?

查看:82
本文介绍了如何在使用Gradle进行压缩时压扁目录结构?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从战争中提取一些瓶子作为我的gradle(2.0)版本的一部分。
到目前为止,我有这个:

pre $ task unzip(type:Copy){
def zipFile = file ('D:/external/dependent.war')
def outputDir = file('lib')

from zipTree(zipFile)
into outputDir
include' WEB-INF / lib / *。jar'
}

这使WEB-INF / lib目录在outputDir中。
我只是想把罐子放平。



要在Ant中做到这一点,我会这样做:

 < target name =unzip> 
< unzip src =D:/external/dependent.wardest =lib>
< patternset>
< include name =WEB-INF / lib / *。jar/>
< / patternset>
< mapper type =flatten/>
< / unzip>
< / target>

我如何在gradle中执行它?

.files 附加到你的 zipTree 中。

 任务解压缩(类型:复制){
def zipFile = file('D:/external/dependent.war ')
def outputDir = file('lib')

from zipTree(zipFile).files
into outputDir
include'WEB-INF / lib / *。 jar'
}


I want to extract some jars from a war as part of my gradle (2.0) build. So far I have this:

task unzip(type: Copy) {
    def zipFile = file('D:/external/dependent.war')
    def outputDir = file('lib')

    from zipTree(zipFile)
    into outputDir
    include 'WEB-INF/lib/*.jar'
}

This puts the WEB-INF/lib dir in the outputDir. I just want the jars flat.

To do it in Ant I would do this:

  <target name="unzip">
    <unzip src="D:/external/dependent.war" dest="lib">
        <patternset>
            <include name="WEB-INF/lib/*.jar"/>
        </patternset>
        <mapper type="flatten"/>
    </unzip>
  </target>

How do I do it in gradle?

解决方案

I believe you can simply append .files to your zipTree.

task unzip(type: Copy) {
    def zipFile = file('D:/external/dependent.war')
    def outputDir = file('lib')

    from zipTree(zipFile).files
    into outputDir
    include 'WEB-INF/lib/*.jar'
}

这篇关于如何在使用Gradle进行压缩时压扁目录结构?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆