git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@721525 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -575,6 +575,12 @@ Other changes: | |||
| processing in Xerces, for example. | |||
| Bugzilla Report 36653. | |||
| * a new resource collection <archives> can be used to specify | |||
| collections of ZIP and TAR archives as source and extracts them on | |||
| the fly. This is a generalization of the <zipgroupfileset> found | |||
| as nested element of <zip> and friends. | |||
| Bugzilla Report 46257. | |||
| Changes from Ant 1.7.0 TO Ant 1.7.1 | |||
| ============================================= | |||
| @@ -314,6 +314,22 @@ The code | |||
| </pre> | |||
| <p> | |||
| <p>zips all files in the <code>htdocs/manual</code> directory into the <code>docs/user-guide</code> directory in the archive and includes all the files in any file that maches <code>examples*.zip</code>, such as all files within <code>examples1.zip</code> or <code>examples_for_brian.zip</code>. | |||
| The same can be achieved with | |||
| <pre> | |||
| <zip destfile="${dist}/manual.zip"> | |||
| <mappedresources> | |||
| <fileset dir="htdocs/manual"/> | |||
| <globmapper from="*" to="docs/user-guide/*"/> | |||
| </mappedresources> | |||
| <archives> | |||
| <zips> | |||
| <fileset dir="." includes="examples*.zip"/> | |||
| </zips> | |||
| </archives> | |||
| </zip> | |||
| </pre> | |||
| The next example | |||
| <pre> | |||
| <zip dest="release.zip"> | |||
| @@ -321,7 +337,7 @@ The code | |||
| </zip> | |||
| </pre> | |||
| <p>Re-packages a TAR archive as a ZIP archive. If Unix file | |||
| <p>re-packages a TAR archive as a ZIP archive. If Unix file | |||
| permissions have been stored as part of the TAR file, they will be | |||
| retained in the resulting ZIP archive.</p> | |||
| @@ -349,6 +349,9 @@ Ant's "legacy" datatypes have been modified to behave as Resource Collections: | |||
| <li><a href="#mappedresources">mappedresources</a> - generic | |||
| resource collection wrapper that maps the names of the nested | |||
| resources using a <a href="mapper.html">mapper</a>.</li> | |||
| <li><a href="#archives">archives</a> - wraps around different | |||
| resource collections and treats the nested resources as ZIP or TAR | |||
| archives that will be extracted on the fly.</li> | |||
| </ul> | |||
| <h4><a name="resources">resources</a></h4> | |||
| <p>A generic resource collection, designed for use with | |||
| @@ -1075,5 +1078,50 @@ larger collection. <strong>Since Ant 1.7.1</strong>.</p> | |||
| </pre> | |||
| </blockquote> | |||
| <h4><a name="archives">archives</a></h4> | |||
| <p>This resource collection accepts an arbitrary number of nested | |||
| resources and assumes that all those resources must be either ZIP or | |||
| TAR archives. The resources returned | |||
| by <code><archives></code> are the contents of the nested | |||
| archives.</p> | |||
| <p>This resource collection is a generalization | |||
| of <a href="../CoreTasks/zip.html#zipgroupfileset">zipgroupfileset</a> | |||
| which is only supported by the zip family of tasks.</p> | |||
| <p><em>archives</em> doesn't support any attributes.</p> | |||
| <blockquote> | |||
| <h4>Parameters specified as nested elements</h4> | |||
| <p><code><archives></code> has two nested | |||
| elements <code><zips></code> and | |||
| <code>&ls;tars></code> that are <a href="#union">unions</a> | |||
| themselves, i.e. they accept arbitrary many resource(collection)s | |||
| as nested elements.</p> | |||
| <p>The nested resources of <zips> are treated as ZIP archives, | |||
| the nested resources of <tars> as TAR archives.</p> | |||
| <h4>Examples</h4> | |||
| <p>Copies all files from all jars that are on the classpath | |||
| to <code>${target}</code>.</p> | |||
| <pre> | |||
| <copy todir="${target}"> | |||
| <archives> | |||
| <zips> | |||
| <restrict> | |||
| <path path="${java.class.path}"/> | |||
| <name name="*.jar"/> | |||
| </restrict> | |||
| </zips> | |||
| </archives> | |||
| </copy> | |||
| </pre> | |||
| </blockquote> | |||
| </body> | |||
| </html> | |||
| @@ -93,4 +93,44 @@ | |||
| </au:expectfailure> | |||
| </target> | |||
| <!-- works but takes a veeeeeery long time --> | |||
| <target name="XtestResourcesManualExample"> | |||
| <mkdir dir="${output}"/> | |||
| <copy todir="${output}"> | |||
| <archives> | |||
| <zips> | |||
| <restrict> | |||
| <path path="${java.class.path}"/> | |||
| <name name="*.jar"/> | |||
| </restrict> | |||
| </zips> | |||
| </archives> | |||
| </copy> | |||
| <au:assertFileExists | |||
| file="${output}/org/apache/tools/ant/launch/Launcher.class"/> | |||
| </target> | |||
| <target name="testZipManualExample"> | |||
| <mkdir dir="${output}/control"/> | |||
| <mkdir dir="${input}/htdocs/manual"/> | |||
| <touch file="${input}/htdocs/manual/foo.txt"/> | |||
| <zip destfile="${input}/examples-a.zip"> | |||
| <fileset dir="." includes="*.xml"/> | |||
| </zip> | |||
| <zip destfile="${output}/manual.zip"> | |||
| <mappedresources> | |||
| <fileset dir="${input}/htdocs/manual"/> | |||
| <globmapper from="*" to="docs/user-guide/*"/> | |||
| </mappedresources> | |||
| <archives> | |||
| <zips> | |||
| <fileset dir="${input}" includes="examples*.zip"/> | |||
| </zips> | |||
| </archives> | |||
| </zip> | |||
| <unzip src="${output}/manual.zip" dest="${output}/control"/> | |||
| <au:assertFileExists file="${output}/control/archives-test.xml"/> | |||
| <au:assertFileExists file="${output}/control/docs/user-guide/foo.txt"/> | |||
| </target> | |||
| </project> | |||