| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| |
| <!-- Content Stylesheet for Site --> |
| |
| |
| <!-- start the processing --> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> |
| |
| <meta name="author" value="Adam Murdoch"> |
| <meta name="email" value="adammurdoch@apache.org"> |
| |
| <title>Apache Myrmidon - VFS User Guide</title> |
| </head> |
| |
| <body bgcolor="#ffffff" text="#000000" link="#525D76"> |
| <table border="0" width="100%" cellspacing="0"> |
| <!-- TOP IMAGE --> |
| <tr> |
| <td> <td colspan="2"> |
| <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" align="left" border="0"/></a> |
| </td> |
| </td> |
| <td valign="bottom"><div align="right"><b><font size="+3" color="#525D76">Apache Myrmidon</font></b></div></td> |
| </tr> |
| </table> |
| <table border="0" width="100%" cellspacing="4"> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| |
| <tr> |
| <!-- LEFT SIDE NAVIGATION --> |
| <td valign="top" nowrap="true"> |
| <p><strong>Myrmidon</strong></p> |
| <ul> |
| <li> <a href="./index.html">Introduction</a> |
| </li> |
| <li> <a href="./getinvolved.html">Get Involved</a> |
| </li> |
| <li> <a href="./user.html">Building Myrmidon</a> |
| </li> |
| <li> <a href="./todo.html">Todo List</a> |
| </li> |
| </ul> |
| <p><strong>User Guide</strong></p> |
| <ul> |
| <li> <a href="./buildfile.html">Build file</a> |
| </li> |
| <li> <a href="./vfs.html">Virtual File System</a> |
| </li> |
| </ul> |
| <p><strong>Extending Ant</strong></p> |
| <ul> |
| <li> <a href="./task.html">Task Writers HOWTO</a> |
| </li> |
| <li> <a href="./classloader.html">ClassLoader HOWTO</a> |
| </li> |
| <li> <a href="./librarys.html">Library HOWTO</a> |
| </li> |
| </ul> |
| <p><strong>Container Design</strong></p> |
| <ul> |
| </ul> |
| </td> |
| <td align="left" valign="top"> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#525D76"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Handling Files"><strong>Handling Files</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <p>Myrmidon includes a Virtual File System (VFS), which allows files from |
| different sources to be treated identically. The VFS currently supports |
| the following file types:</p> |
| <table> |
| <tr> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| File System |
| </font> |
| </td> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Description |
| </font> |
| </td> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| URL Format |
| </font> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Local Files |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Files on the local file system. |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Three different formats are currently supported for local file names: |
| <ul> |
| <li><code>file://</code> <i>absolute-file-name</i></li> |
| <li>Absolute file names</li> |
| <li>Relative file names. These are resolved relative to the |
| project's base directory. |
| </li> |
| </ul> |
| |
| </font> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Zip Files |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| The contents of Zip files (and Jar, War, and Ear files). |
| Currently, the VFS supports read-only access to Zip file contents, |
| and only for local Zip files. |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| <code>zip://</code> <i>zip-file-path</i> [<code>!</code><i>absolute-path</i>] |
| </font> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| FTP |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Files on an FTP server. |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| <code>ftp://</code> [[<i>password</i><code>:</code>] <i>username</i><code>@</code>] <i>hostname</i> [<code>:</code><i>port</i>] [<i>absolute-path</i>] |
| </font> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| SMB |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Files on a CFIS server, such as Samba or Windows shares. |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| <code>smb://</code> [[<i>password</i><code>:</code>] <i>username</i><code>@</code>] <i>hostname</i> [<code>:</code><i>port</i>] [<i>absolute-path</i>] |
| </font> |
| </td> |
| </tr> |
| </table> |
| <p>Here are some example URLs:</p> |
| <ul> |
| <li><code>build/classes</code></li> |
| <li><code>c:\program files\ant\bin</code></li> |
| <li><code>file://C:/program files/ant</code></li> |
| <li><code>zip://build/lib/ant.jar!/org/apache/tools</code></li> |
| <li><code>ftp://adam@somehost/pub/downloads</code></li> |
| <li><code>smb://password:adam@somehost/home/adam</code></li> |
| </ul> |
| <p>Currently, there are only a handful of VFS aware tasks. This will grow |
| as more tasks are ported to the new API, and data types.</p> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#828DA6"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="File Sets"><strong>File Sets</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <p>A file set in Myrmidon is more general than Ant 1's concept of a file set. |
| Firstly, there is more than one type of file set. Secondly, they are VFS enabled. |
| File sets are automatically converted to a <a href="#Paths">path</a>, and so |
| can be used anywhere that a path can.</p> |
| <h3><code><v-fileset></code></h3> |
| <p>This is the equivalent of Ant 1's <code><fileset></code> (The name |
| is temporary, it will be changed to <code><fileset></code> once more |
| porting work as been completed).</p> |
| <p>Rather than use a set of include and exclude patterns to choose the files |
| that make up the file set, <code><v-fileset></code> takes zero or more |
| <a href="#File Selectors">file selectors</a>. File selectors can be used to |
| select files based on any attribute of the file, rather than just the name. |
| You can use <code><name></code> selectors to achieve the same result |
| as using includes or excludes.</p> |
| <p>A <code><v-fileset></code> element takes the following attributes:</p> |
| <table> |
| <tr> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Attribute |
| </font> |
| </td> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Description |
| </font> |
| </td> |
| <td bgcolor="#039acc" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Default Value |
| </font> |
| </td> |
| </tr> |
| <tr> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| dir |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| The base directory for the file set. This can be any URL that the |
| VFS supports. |
| </font> |
| </td> |
| <td bgcolor="#a0ddf0" colspan="" rowspan="" |
| valign="top" align="left"> |
| <font color="#000000" size="-1" face="arial,helvetica,sanserif"> |
| Required |
| </font> |
| </td> |
| </tr> |
| </table> |
| <p>A <code><v-fileset></code> element takes any number of nested |
| <a href="#File Selectors">file selector</a> elements. To be included in the |
| file set, a file must be selected by all the file selectors. That is, the |
| file selectors are implicitly AND-ed together. If no file selector is provided, |
| all the files and directories are included in the set.</p> |
| <p>An example:</p> |
| <div align="left"> |
| <table cellspacing="4" cellpadding="0" border="0"> |
| <tr> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| <tr> |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#ffffff"><pre> |
| |
| <v-fileset dir="src"> |
| <name pattern="org/apache/tools/ant/**"/> |
| <is-file/> |
| </v-fileset> |
| </pre></td> |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| <tr> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| </table> |
| </div> |
| <h3><code><flat-fileset></code></h3> |
| <p>This file set takes a set of nested file sets and paths, and flattens them |
| into a single directory. It can be used as a way of converting a path into a |
| file set. It can also be used as a replacement for the <code>flatten</code> |
| attribute for the copy and move tasks.</p> |
| <p>A <code><flat-fileset></code> element takes no attributes, and a set |
| of nested paths or file sets.</p> |
| <p>An example:</p> |
| <div align="left"> |
| <table cellspacing="4" cellpadding="0" border="0"> |
| <tr> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| <tr> |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#ffffff"><pre> |
| |
| <v-copy todir="dist/lib"> |
| <flat-fileset> |
| <v-fileset dir="build/lib"> |
| <basename pattern="*.jar"/> |
| <v-fileset> |
| <v-path path="${classpath}"/> |
| </flat-fileset> |
| </v-copy> |
| </pre></td> |
| <td bgcolor="#023264" width="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| <tr> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| <td bgcolor="#023264" width="1" height="1"><img src="/images/void.gif" width="1" height="1" vspace="0" hspace="0" border="0"/></td> |
| </tr> |
| </table> |
| </div> |
| <h3><code><mapped-fileset></code></h3> |
| <p>A fileset that applies a <a href="buildfile.html#File Name Mappers">file name mapper</a> |
| to a nested fileset. |
| </p> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#828DA6"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="Paths"><strong>Paths</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <p>Paths are an ordered list of files.</p> |
| <h3><code><v-path></code></h3> |
| <p>This is the equivalent of Ant 1's <code><path></code>.</p> |
| <h3><code><filtered-path></code></h3> |
| <p>A path that applies file selectors to a set of nested file sets and paths.</p> |
| </blockquote> |
| </td></tr> |
| </table> |
| <table border="0" cellspacing="0" cellpadding="2" width="100%"> |
| <tr><td bgcolor="#828DA6"> |
| <font color="#ffffff" face="arial,helvetica,sanserif"> |
| <a name="File Selectors"><strong>File Selectors</strong></a> |
| </font> |
| </td></tr> |
| <tr><td> |
| <blockquote> |
| <p>File selectors are used to select files from file sets and paths.</p> |
| <h3><code><and></code></h3> |
| <p>Combines zero or more file selectors, using AND. An empty <code><and></code> |
| selector accepts all files.</p> |
| <h3><code><basename></code></h3> |
| <p>Selects files whose base name matches an Ant 1 style pattern, or a regular |
| expression.</p> |
| <h3><code><condition></code></h3> |
| <p>Takes a set of <a href="buildfile.html#Conditions">conditions</a>. If |
| the conditions evaluate to true, then select every file. Otherwise, |
| select no files.</p> |
| <h3><code><exists></code></h3> |
| <p>Selects files that exist.</p> |
| <h3><code><is-empty-folder></code></h3> |
| <p>Selects empty folders, that is, folders that have no children.</p> |
| <h3><code><is-folder></code></h3> |
| <p>Selects folders, does not select regular files.</p> |
| <h3><code><is-file></code></h3> |
| <p>Selects regular files, does not select folders.</p> |
| <h3><code><name></code></h3> |
| <p>Selects files whose path in a file set matches an Ant 1 style pattern, or |
| a regular expression.</p> |
| <h3><code><not></code></h3> |
| <p>Selects files that are not selected by a nested file selector.</p> |
| <h3><code><or></code></h3> |
| <p>Combines zero or more file selectors, using OR. An empty <code><or></code> |
| selector accepts all files.</p> |
| <h3><code><url></code></h3> |
| <p>Selects files whose URL matches an Ant 1 style pattern, or a regular expression.</p> |
| </blockquote> |
| </td></tr> |
| </table> |
| </blockquote> |
| </td></tr> |
| </table> |
| </td> |
| </tr> |
| |
| <!-- FOOTER --> |
| <tr><td colspan="2"> |
| <hr noshade="" size="1"/> |
| </td></tr> |
| <tr><td colspan="2"> |
| <div align="center"><font color="#525D76" size="-1"><em> |
| Copyright © 2000-2002, Apache Software Foundation |
| </em></font></div> |
| </td></tr> |
| </table> |
| </body> |
| </html> |
| <!-- end the processing --> |
| |
| |
| |
| |