ant/docs/projects/antlib/antlib_descriptors.html
Stefan Bodewig 6e883af17b Regenerate docs
git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274570 13f79535-47bb-0310-9956-ffa450edef68
2003-05-14 11:34:27 +00:00

172 lines
7.6 KiB
HTML

<!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">&nbsp;</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">
&lt;antlib version=&quot;1.5&quot; &gt;
&lt;task name=&quot;mkdir&quot; class=&quot;org.apache.tools.ant.taskdefs.Mkdir&quot;/&gt;
...
&lt;data-type name=&quot;fileset&quot; class=&quot;org.apache.tools.ant.types.FileSet&quot;/&gt;
...
&lt;role name=&quot;filter&quot; class=&quot;org.apache.tools.ant.filters.ChainableReader&quot;/&gt;
...
&lt;filter name=&quot;escapeunicode&quot; class=&quot;org.apache.tools.ant.filters.EscapeUnicode&quot;/&gt;
&lt;/antlib&gt;
</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 &copy; 2000-2003&nbsp;The Apache Software Foundation. All rights reserved.
<script type="text/javascript" language="JavaScript"><!--
document.write(" - "+"Last Published: " + document.lastModified);
// -->
</script>
</p>
</body>
</html>