Ant:压缩目录的内容,不包含顶级目录本身

  • 本文关键字:包含顶 压缩 Ant ant zip
  • 更新时间 :
  • 英文 :


如何使用Ant创建包含某些根目录中的所有文件和嵌套目录的zip,但将顶级目录本身排除在zip之外。

例如,假设我有这样的文件结构:

/foo
    splat.js
    /bar
        wheee.css

我希望zip包含splat和wheee在/bar中,但我不希望所有这些都包含在"foo"目录中。换句话说,将其解压缩到/honk应该而不是创建一个foo目录;splat和bar应该在/honk的词根处结束。

我目前正在使用这个(无关细节删除):

<zip destfile="${zipfile}" basedir="" includes="${distRoot}/**/*.*" />

选择哪种类型的文件集可以取代"includes"规范来实现这一点?

它不是动态的,但使用fullpath属性可以定义zip文件的路径结构。请参阅ant文档:http://ant.apache.org/manual/Types/zipfileset.html

<zip destfile="YourZipName.zip">
    <zipfileset fullpath="splat.js" dir="foo" includes="splat.js"/>
    <zipfileset fullpath="bar/wheee.css" dir="foo/bar" includes="wheee.css"/>
</zip>

这可能会得到你想要的动态。它应该拉入foo目录中的所有内容,然后将其压缩。只是多走几步而已。

<mkdir dir="DirToBeZipped"/>
<copy todir="DirToBeZipped">
    <fileset dir="foo" includes="*"/>
</copy>
<zip destfile="YourZipName.zip" basedir="DirToBeZipped"/>

相关内容

  • 没有找到相关文章

最新更新