|
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html lang="en">
- <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
- <head>
- <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Apache Ant - Antlib Descriptor</title>
- <link type="text/css" href="../../page.css" rel="stylesheet">
- <meta name="author" content="Antoine Levy-Lambert">
- <meta name="email" content="antoine@apache.org">
- </head>
-
- <body>
- <p class="navpath">
- <script src="../../breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
- </p>
-
- <div class="logobar">
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td align="left"><img border="0" alt="Apache Ant site" src="../../images/group-logo.gif"></td>
- <td align="center" width="100%"><img alt="Apache Ant logo" border="0" src="../../images/project-logo.gif"></td>
- <td align="right">
- <form target="_blank" onsubmit="q.value = query.value + ' site:ant.apache.org'" action="http://www.google.com/search" method="get">
- <table summary="search" border="0" cellspacing="0" cellpadding="0" bgcolor="#4C6C8F">
- <tr>
- <td colspan="3"><img height="10" width="1" alt="" src="../../images/spacer.gif"></td>
- </tr>
- <tr>
- <td><img height="1" width="1" alt="" src="../../images/spacer.gif"></td>
- <td nowrap="nowrap" class="searchcaption">
- <input name="q" type="hidden">
- <input size="15" id="query" type="text">
- <img height="1" width="5" alt="" src="../../images/spacer.gif">
- <input name="Search" value="Search" type="submit">
- <br>
- the Apache Ant site
- </td>
- <td><img height="1" width="1" alt="" src="../../images/spacer.gif"></td>
- </tr>
- <tr>
- <td><img alt="" border="0" height="10" width="9" src="../../images/search-left.gif"></td>
- <td><img height="1" width="1" alt="" src="../../images/spacer.gif"></td>
- <td><img alt="" border="0" height="10" width="9" src="../../images/search-right.gif"></td>
- </tr>
- </table>
- </form>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="tab">
- <table summary="tab bar" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td width="5"><img alt="" height="8" width="8" src="../../images/spacer.gif"></td><td valign="bottom">
- <table summary="non selected tab" style="height: 1.4em" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../index.html"><font size="2" face="Arial, Helvetica, Sans-serif">Home</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../images/tab-right.gif"></td>
- </tr>
- </table>
- </td>
- <td width="5"><img alt="" height="8" width="8" src="../../images/spacer.gif"></td><td valign="bottom">
- <table summary="non selected tab" style="height: 1.4em" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../images/tab-left.gif"></td><td valign="middle" bgcolor="#B2C4E0"><a href="../../projects/index.html"><font size="2" face="Arial, Helvetica, Sans-serif">Projects</font></a></td><td valign="top" width="5" bgcolor="#B2C4E0"><img height="5" width="5" alt="" src="../../images/tab-right.gif"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="bluebar"></div>
-
- <div class="menucontainer">
- <div class="menu">
- <ul>
- </ul>
- </div>
- <img style="float: left" height="10" width="10" border="0" alt="" src="../../images/menu-left.gif">
- <img style="float: right" height="10" width="10" border="0" alt="" src="../../images/menu-right.gif">
- </div>
- <div class="lightbluebar"> </div>
- <div class="main">
- <div class="content">
- <h1 class="title">Antlib Descriptor</h1>
- <h3 class="section">
- <a name="antlib descriptor in the proposal"></a>
- antlib descriptor in the proposal
- </h3>
- <pre class="code">
- <antlib version="1.5" >
- <task name="mkdir" class="org.apache.tools.ant.taskdefs.Mkdir"/>
- ...
- <data-type name="fileset" class="org.apache.tools.ant.types.FileSet"/>
- ...
- <role name="filter" class="org.apache.tools.ant.filters.ChainableReader"/>
- ...
- <filter name="escapeunicode" class="org.apache.tools.ant.filters.EscapeUnicode"/>
- </antlib>
- </pre>
- <p>
- This is the layout of the antlib descriptor in the proposal. In each antlib jar file, the descriptor would be found under
- META-INF/antlib.xml
- </p>
- <h3 class="section">
- <a name="concerns concerning the location of the descriptor (Costin Manolache)"></a>
- concerns concerning the location of the descriptor (Costin Manolache)
- </h3>
- <ol>
- <li>
- startup time. In order to load one library you need to process all
- of them. It can be resolved with caching the result and looking at .jar
- modifications. Most likely we'll have dozens of antlibs - and that'll only
- grow in time. The processing of (all) TLDs at startup ( for tomcat ) adds a
- very visible overhead on startup, and at least tomcat is a long-running
- process.
- </li>
- <br />
- <li>
- Placing multiple antlibs in a single jar may be trickier.
- </li>
- <br />
- <li>
- It may place too much emphasis on the .jars and filesystem layout.
- </li>
- <br />
- <li>
- A bit harder to control ( as we know from c-logging and JAXP ),
- </li>
- <br />
- <li>Explicit control over what antlibs are to be used - versus loading
- everything. Well - I like "magic" loading, but a lot of things in ant
- are done explicitely.
- </li>
- </ol>
- <br />
- <p>
- I have no problem accepting a getResources() solution ( just like I'm
- ok with using XML - but not any XML :-), but those issues should be
- considered.
- <br />
- A lot of the "mess" in ant is the result of doing some things without
- considering all implications or just as side effect of how code happened
- to work. That's why I'm so strongly for breaking things down to individual
- problems instead of a bundle solution.
- </p>
-
- </div>
- </div>
-
- <p class="copyright">
- Copyright © 2000-2003 The Apache Software Foundation. All rights reserved.
- <script type="text/javascript" language="JavaScript"><!--
- document.write(" - "+"Last Published: " + document.lastModified);
- // -->
- </script>
- </p>
- </body>
- </html>
-
-
-
-
-
-
-
-
|