source: other-projects/trunk/realistic-books/packages/AntInstaller/web/manual1.6.2/manual/Integration/VAJAntTool.html@ 19253

Last change on this file since 19253 was 19253, checked in by davidb, 15 years ago

Establishing a source code repository for Veronica's Realistic Book's software

File size: 23.3 KB
Line 
1<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
2<html>
3<head>
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 <meta http-equiv="Content-Language" content="en-us">
6 <title>Visual Age for Java Tasks and Plugin User Manual</title>
7<link rel="stylesheet" type="text/css" href="../stylesheets/antmanual.css">
8</head>
9<body>
10
11<h2>Visual Age for Java Tasks and Plugin User Manual</h2>
12 <a name="authors"></A>by<UL>
13 <LI>Wolf Siberski
14 (siberski at kbs.uni-hannover.de)
15 <LI>Christoph Wilhelms
16 (christoph.wilhelms at tui.de)</LI>
17 <LI>Martin Landers
18 (martin.landers at bea.de)</LI>
19 <LI>Franï¿œis Rey
20 (francois dot rey at capco dot com)</LI></UL>
21Version 1.2.1 - 2003/01/16<br>
22<hr>
23<h2>Table of Contents</H2>
24<ul>
25 <li><A href="#introduction">Introduction</A>
26 <li><A href="#tasks">The Tasks</A><A href="#introduction"></A>
27 <ul>
28 <li><A href="#vajload">VAJLoad</A>
29 <li><A href="#vajexport">VAJExport</A>
30 <li><A href="#vajimport">VAJImport</A></LI></UL>
31 <li><A href="#sample_buildfile">A sample build file</A><br>
32 <li><A href="#plugin">The Plugin</A>
33 <ul>
34 <li><A href="#installation">Installation</A>
35 <li><A href="#usage">Usage</A> </LI></UL>
36 <li><A href="#faq">Frequently Asked Questions</A>
37 <li><A href="#va_versions">Visual Age Versions</A>
38 <li><A href="#history">History</A><A href="#history"></A> </LI></UL>
39
40<hr>
41<h2><a name="introduction"></A>Introduction</H2>
42<P>Visual Age for Java is a great Java IDE, but it lacks
43decent build support; for creating deliveries. On the other hand, Ant supports
44the build process very good, but is (at least at the moment) command line based.
45So we decided to write some tasks to access the VAJ repository and a small
46visual Ant frontend to make running Ant from VAJ possible. We use the Tool API
47to integrate Ant in VisualAge for Java. In combination with the VAJ tasks
48(vajload, vajexport, vajimport) you can load defined&nbsp;versions of projects
49into your workspace, export the source code, compile it with an external
50compiler and build a jar without leaving the IDE. Of course compile messages are
51viewed in a logging window. Concluding: This tool provides decent deployment
52support VAJ has not (out of the box).</P>
53<H3>What's new</H3>
54<table border="1" cellpadding="2" cellspacing="0" width="500">
55 <tr valign="top">
56 <td valign="top">2003/01/16</TD>
57 <td valign="top">
58 <UL>
59 <LI>Now works outside of VAJ.
60 <LI>Added attribute haltonerror, "*" and "**" version qualifiers.
61 <LI>Amended documentation (this file) accordingly.
62 </LI></UL></TD></TR>
63 <tr valign="top">
64 <td valign="top">2001/06/14</TD>
65 <td valign="top">
66 <UL>
67 <LI>Now all tasks can access VAJ via 'Remote Access
68 To Tool API'. Therefore builds containing VAJ tasks can also be executed
69 from the command line (Kudos to Glenn McAllister for describing the
70 concept and providing source code at
71 <A href="http://www7.software.ibm.com/vad.nsf/Data/Document4366">
72 http://www7.software.ibm.com/vad.nsf/Data/Document4366</A>.&nbsp;
73
74 <LI>It is possible to cancel a running&nbsp;build
75 executed from the plugin
76 <LI>Improved error handling in the plugin. Now all
77 errors should show up either in the log window or in the
78 console.</LI></UL></TD></TR></TABLE>
79
80<h2><a name="tasks"></A>The Tasks</H2>
81At the moment there are three tasks which help integrating the VAJ repository
82contents into an external build process:
83
84<table border="1" cellpadding="2" cellspacing="0" width="500">
85
86 <tr valign="top">
87 <td valign="top"><A href="#vajload">VAJLoad</A><br></TD>
88 <td valign="top"> loads specified versions into the workspace<br></TD></TR>
89 <tr valign="top">
90 <td valign="top"><A href="#vajexport">VAJExport</A><br></TD>
91 <td valign="top"> exports specified packages into the file system<br></TD></TR>
92 <tr valign="top">
93 <td valign="top"><A href="#vajimport">VAJImport</A><br></TD>
94 <td valign="top"> imports specified files into the workspace<br></TD></TR></TABLE>
95<P>These tasks are described in detail below.</P>
96
97
98<hr>
99
100<P></P>
101<h2><a name="vajload"></A>VAJLoad</H2>
102<h3>Description:</H3>
103<p>Loads a specified VAJ project version into the
104workspace.</P>
105
106<h3>Parameters</H3>
107
108<table border="1" cellpadding="2" cellspacing="0">
109 <tr>
110 <td valign="top"><b>Attribute</B></TD>
111 <td valign="top"><b>Description</B></TD>
112 <td align="middle" valign="top"><b>Required</B></TD></TR>
113 <tr>
114 <td valign="top">remote</TD>
115 <td valign="top">
116 <P>name and port of a remote tool server. (format:
117 &lt;servername&gt;:&lt;port no&gt;).<BR>If this
118 attribute is set, the tasks will&nbsp;be executed on the specified tool
119 server.&nbsp;</P></TD>
120 <td valign="top" align="middle">no</TD></TR>
121 <tr>
122 <td valign="top">haltonerror</B></TD>
123 <td valign="top">
124 <P>Stop the build process if an error occurs,
125 (default: "yes")</P></TD>
126 <td align="middle" valign="top">no</TD></TR></TABLE>
127
128<h3>Parameters specified as nested elements</H3>
129<h4>vajproject</H4>
130<table border="1" cellpadding="2" cellspacing="0">
131
132 <tr>
133 <td valign="top"><b>Attribute</B></TD>
134 <td valign="top"><b>Description</B></TD>
135 <td align="middle" valign="top"><b>Required</B></TD></TR>
136 <tr>
137 <td valign="top">name</TD>
138 <td valign="top">name of the VAJ project to load into
139 the workspace</TD>
140 <td valign="top" align="middle">yes</TD></TR>
141 <tr>
142 <td valign="top">version</TD>
143 <td valign="top"><P>name of the requested version,
144 or one of the special qualifiers "*" or "**"<BR>
145 "*" loads the latest <b>versioned</b> edition of the project<BR>
146 "**" will load the latest version (including open editions)</P></TD>
147 <td valign="top" align="middle">yes</TD></TR>
148 </TABLE>
149
150<h3>Example</H3>
151<pre>&lt;vajload remote="localhost:32767"&gt;
152 &lt;vajproject name="My App" version="*"/&gt;
153 &lt;vajproject name="My Testcases" version="**"/&gt;
154 &lt;vajproject name="JUnit" version="3.2"/&gt;
155&lt;/vajload&gt;
156</PRE>
157
158<hr>
159<h2><a name="vajexport"></A>VAJExport</H2>
160
161<h3>Description:</H3> border="1" cellpadding="2" cellspacing="0"
162<p>Exports Java source files, class files and/or resources from the workspace
163to the file system. Exports can be specified by giving the VAJ project
164name and package name(s). This works very similar to
165<A href="../CoreTypes/fileset.html">FileSets</A>. </P>
166
167<h3>Parameters</H3>
168<table border="1" cellpadding="2" cellspacing="0">
169
170 <tr>
171 <td valign="top"><b>Attribute</B></TD>
172 <td valign="top"><b>Description</B></TD>
173 <td align="middle" valign="top"><b>Required</B></TD></TR>
174 <tr>
175 <td valign="top">destdir</TD>
176 <td valign="top">location to store the exported
177files</TD>
178 <td valign="top" align="middle">yes</TD></TR>
179 <tr>
180 <td valign="top">exportSources</TD>
181 <td valign="top">export source files (default:
182"yes")</TD>
183 <td valign="top" align="middle">no</TD></TR>
184 <tr valign="top">
185 <td valign="top">exportResources</TD>
186 <td valign="top">export resource files (default:
187 "yes")</TD>
188 <td valign="top" align="middle">no</TD></TR>
189 <tr valign="top">
190 <td valign="top">exportClasses</TD>
191 <td valign="top">export class files (default: "no")</TD>
192 <td valign="top" align="middle">no</TD></TR>
193 <tr valign="top">
194 <td valign="top">exportDebugInfo</TD>
195 <td valign="top">include debug info in exported class
196 files (default: "no")</TD>
197 <td valign="top" align="middle">no</TD></TR>
198 <TR>
199 <TD vAlign=top>defaultexcludes</TD>
200 <TD vAlign=top> border="1" cellpadding="2" cellspacing="0"
201 <P>use default excludes when exporting (default: "yes").<BR>Default excludes are:&nbsp;IBM*/**, Java
202 class libraries/**, Sun class libraries*/**, JSP Page Compile Generated
203 Code/**, VisualAge*/**&nbsp;</P></TD>
204 <TD vAlign=top align="middle">no</TD></TR>
205 <tr valign="top">
206 <td valign="top">overwrite</TD>
207 <td valign="top"> overwrite existing files (default:
208 "yes")</TD>
209 <td valign="top" align="middle">no</TD></TR>
210 <tr>
211 <td valign="top">remote</TD>
212 <td valign="top">
213 <P>name and port of a remote tool server. (format:
214 &lt;servername&gt;:&lt;port no&gt;).<BR>If this
215 attribute is set, the tasks will&nbsp;be executed on the specified tool
216 server.&nbsp;</P></TD>
217 <td valign="top" align="middle">no</TD></TR>
218 <tr>
219 <td valign="top">haltonerror</B></TD>
220 <td valign="top">
221 <P>Stop the build process if an error occurs,
222 (default: "yes")</P></TD>
223 <td align="middle" valign="top">no</TD></TR></TABLE>
224
225<h3>Parameters specified as nested elements</H3>
226
227<h4>include</H4>
228specifies the packages to include into the export
229
230<table border="1" cellpadding="2" cellspacing="0">
231
232 <tr>
233 <td valign="top"><b>Attribute</B></TD>
234 <td valign="top"><b>Description</B></TD>
235 <td align="middle" valign="top"><b>Required</B></TD></TR>
236 <tr>
237 <td valign="top">name</TD>
238 <td valign="top">name of the VAJ project and package to export.<br>
239 The first element of the name must be the project name, <br>
240 then the package name elements
241 separated by '/'.</TD>
242 <td valign="top">yes</TD></TR></TABLE>
243
244<h4>exclude</H4>
245specifies the packages to exclude from the export<br>
246
247<table border="1" cellpadding="2" cellspacing="0">
248
249 <tr>
250 <td valign="top"><b>Attribute</B></TD>
251 <td valign="top"><b>Description</B></TD>
252 <td align="middle" valign="top"><b>Required</B></TD></TR>
253 <tr>
254 <td valign="top">name</TD>
255 <td valign="top">name of the VAJ project/package not to
256 export</TD>
257 <td valign="top" align="middle">yes</TD></TR></TABLE>
258
259<h3>Example</H3>
260<pre>&lt;vajexport destdir="${src.dir}" exportResources="no"&gt;
261 &lt;include name="MyProject/**"/&gt;
262 &lt;exclude name="MyProject/test/**"/&gt;
263&lt;/vajexport&gt;
264</PRE>
265This example exports all packages in the VAJ project 'MyProject', except
266packages starting with 'test'.
267<h3>Default Excludes</H3>
268The default excludes are:<br>
269<pre> IBM*/**
270 Java class libraries/**
271 Sun class libraries*/**
272 JSP Page Compile Generated Code/**
273 VisualAge*/**
274</PRE>
275<hr>
276<h2><a name="vajimport"></A>VAJImport</H2>
277
278<h3>Description:</H3>
279<p>Imports Java source files, class files and/or resources
280from the file system into VAJ. These imports can be specified with a fileset.
281</P>
282<h3>Parameters</H3>
283<table border="1" cellpadding="2" cellspacing="0">
284
285 <tr>
286 <td valign="top"><b>Attribute</B></TD>
287 <td valign="top"><b>Description</B></TD>
288 <td align="middle" valign="top"><b>Required</B></TD></TR>
289 <tr>
290 <td valign="top">project</TD>
291 <td valign="top">imported files are added to this VAJ
292 project</TD>
293 <td valign="top" align="middle">yes</TD></TR>
294 <tr>
295 <td valign="top">importSources</TD>
296 <td valign="top">import source files (default:
297"yes")</TD>
298 <td valign="top" align="middle">no</TD></TR>
299 <tr valign="top">
300 <td valign="top">importResources</TD>
301 <td valign="top">import resource files (default:
302 "yes")</TD>
303 <td valign="top" align="middle">no</TD></TR>
304 <tr valign="top">
305 <td valign="top">importClasses</TD>
306 <td valign="top">import class files (default: "no")</TD>
307 <td valign="top" align="middle">no</TD></TR>
308 <tr>
309 <td valign="top">remote</TD>
310 <td valign="top">
311 <P>name and port of a remote tool server. (format:
312 &lt;servername&gt;:&lt;port no&gt;).<BR>If this
313 attribute is set, the tasks will&nbsp;be executed on the specified tool
314 server.&nbsp;</P></TD>
315 <td valign="top" align="middle">no</TD></TR>
316 <tr>
317 <td valign="top">haltonerror</B></TD>
318 <td valign="top">
319 <P>Stop the build process if an error occurs,
320 (default: "yes")</P></TD>
321 <td align="middle" valign="top">no</TD></TR></TABLE>
322
323<h3>Parameters specified as nested elements</H3>
324
325<h4>fileset</H4>
326A <A href="index.html#fileset">FileSet</A> specifies the files to import.
327
328<h3>Example</H3>
329<pre>&lt;vajimport project="Test" importClasses="true"&gt;
330 &lt;fileset dir="${import.dir}"&gt;
331 &lt;include name="com/sample/**/*.class"/&gt;
332 &lt;exclude name="com/sample/test/**"/&gt;
333 &lt;/fileset&gt;
334&lt;/vajimport&gt;
335</PRE>
336This example imports all class files in the directory ${import.dir}/com/sample
337excluding those in the subdirectory test<br>
338
339<hr>
340<h2><a name="sample_buildfile"></A>The
341Plugin</H2>
342The tasks are usable within VAJ by running the
343org.apache.tools.ant.Main class, but this is
344quite inconvenient. Therefore a small GUI is
345provided which allows selecting a build file
346and executing its targets. This Plugin is accessible
347from the VAJ Tools menu (see <A href="#usage">Usage</A>).
348
349<hr>
350<h2><a name="installation"></A>Installation</H2>
351<p>We assume <CODE>C:\IBMVJava</CODE> as VAJ
352install directory. If You have installed it elsewhere, adapt the pathes below.
353<h3>Plugin</H3>
354<ul>
355 <li>Create the directory <CODE>
356 C:\IBMVJava\ide\tools\org-apache-tools-ant</CODE>.
357 <li>Expand in that directory all the jars contained in the <code>lib</CODE>
358 directory of your Ant installation.
359 <li>copy <CODE>default.ini</CODE> (in <CODE>
360 org\apache\tools\ant\taskdefs\optional\ide</CODE>) to <CODE>
361 C:\IBMVJava\ide\tools\org-apache-tools-ant\default.ini</CODE>.
362
363 <li>if you want to access this help from the Workbench, create the
364 directory <CODE> C:\IBMVJava\ide\tools\org-apache-tools-ant\doc</CODE>
365 and copy the files <CODE>VAJAntTool.html</CODE>,
366 <CODE>toolmenu.gif</CODE> and <CODE>
367 anttool1.gif</CODE> to it.
368 <li>VAJ has to be restarted to recognize the new tool.
369 <li>Now if You open the context menu of a project, You should see the entry
370 'Ant Build' in the Tools submenu (see <A href="#usage">Usage</A>).
371 <li>Make sure the tool works as expected. </LI></UL>
372 <h3>Servlets for Remote Tool Access</H3>
373<UL>
374 <LI>
375 For
376 a good introduction into the VAJ Remote Tool Access see the
377 great introduction from Glenn McAllister at
378 <A href="http://www7.software.ibm.com/vad.nsf/Data/Document4366">
379 http://www7.software.ibm.com/vad.nsf/Data/Document4366</A>.&nbsp;It
380 is highly recommended to read this article before doing the installation (to
381 understand what you do :-) ).
382 <LI>insert the following lines into
383 <code>C:\IBMVJava\ide\tools\com-ibm-ivj-toolserver\servlets\servlet.properties</CODE>.
384 Typically this file is empty. If not, be careful not to delete the other lines.
385 <table cellpadding="0" cellspacing="0" border="0" width="500">
386 <tr valign="top">
387 <td valign="top">
388<PRE>servlet.vajload.code=org.apache.tools.ant.taskdefs.optional.ide.VAJLoadServlet
389servlet.vajexport.code=org.apache.tools.ant.taskdefs.optional.ide.VAJExportServlet
390servlet.vajimport.code=org.apache.tools.ant.taskdefs.optional.ide.VAJImportServletName<PRE>
391</TD></TR></TABLE>
392 <LI>Expand the Ant libraries (<code>ant.jar</CODE> and <code>optional.jar</CODE>
393 contained in the <code>lib</CODE> directory of your Ant installation) to the directory
394 <code>C:\IBMVJava\ide\tools\com-ibm-ivj-toolserver\servlets\</CODE>.
395 <LI>configure the Remote Access (via
396 Window-&gt;Options..., then choose 'Remote Access To Tool API') as shown in
397 the following picture:</LI></UL>
398 <P align=center><IMG height=645 alt="" src="remacc.gif"
399 width=587 border=0 ></P>
400<P>Now you should be able to execute VAJ Tasks from the
401command line.</P>
402
403<hr>
404<h2><a name="usage"></A>Usage</H2>
405<H3>Plugin</H3>
406<P>
407 When the tool is installed correctly and your Ant build
408file is configured, it is really easy to use.<br>
409Go to your Workbench, select the project you want to deploy and
410open its context menu. In the submenu <i>Tools</I> you should find
411the new entry <i>Ant Build</I>. Klick it to start the tool! </P>
412
413<center><IMG height=246 src="toolmenu.gif" width=393 border=0></CENTER>
414 After a short time this frame should pop up:
415<center><IMG height=241 alt=""
416 src="anttool1.gif"
417 width=389 border=0></CENTER>
418 This frame contains the following elements:
419<ul>
420 <li>A menubar with some options described later
421 <li>The name of your selected VAJ project
422 <li>An entry field for the Ant XML buildfile with a browse
423 [...] button. The full qualified filename, including the directory is needed
424 here.
425 <li>A list with tasks specified in the buildfile. Until your first save of
426 the build info (described later), this list will be empty. When loading
427 a build file by the ( <EM>Re)Load&nbsp;</EM> button, this list
428 is filled with all tasks which have a description attribute. The
429 task you select in this list will be executed when pressing the
430 <EM>Execute&nbsp;</EM> button.
431 <li>A pulldown box for specifying the log level.
432 <li>Four buttons. Two of them I have already
433 described. The other are the <EM>Stop</EM> button to cancel a running build
434 and the third one is just the <EM>Close</EM> button to exit our small tool!
435 <li>Note that the build is canceled on the next console
436 output after pressing the <EM>Stop</EM> button, not
437 directly after pressing it.</LI></UL>
438<P>
439After you have set up your buildprocess you might find it useful
440to save the data you've just entered, so we implemented an option to
441save it to the repository into your selected project. Make sure that you
442have an open edition of your project before selecting
443<i>Save
444BuildInfo To Repository</I> from the <i>File</I> menu.
445Now your information is saved to this edition of your project and will
446be loaded automatically the next time you start <i>Ant Build</I>.<br>
447If you have closed the log window accidentally, it can be reopened
448with the <i>Log</I> item in the <i>File</I> menu, and if you want to
449know who developed this, just select <i>About</I> in the <i>Help</I> menu. </P>
450<H3>Servlets for Remote Tool Access</H3>
451<P>With the servlets installed and the remote access
452running you can use Ant from the command line without any restrictions. Just
453make sure the remote attribute in your build file is set correctly.</P>
454<hr>
455<h2><a name="faq"></A>Frequently Asked
456Questions</H2>
457<P><STRONG>Q: If I try to load a build
458file, I get the error "Can't load default task list". Why?</STRONG><br>
459A: Ant not only contains class files, but also resource
460files. This messsage appears if the file
461<BR>.../org/apache/tools/ant/taskdefs/defaults.properties is
462missing. Make sure that you import/export not only java/class files, but also
463all resource files when importing/exporting Ant.</P>
464<P><STRONG>Q: If I try to re-load a build
465file, I get the error "XML parser factory has not been configured correctly". Why?</STRONG><br>
466A: Make sure the META-INF/services directory of the <code>xercesImpl.jar</CODE> has also been expanded
467into the <CODE>C:\IBMVJava\ide\tools\org-apache-tools-ant</CODE> directory.</P>
468<P><STRONG>Q: I want to load, export
469and build more then one Visual Age project to one jar! How to?</STRONG><br>
470A: The VA tasks are able to load and export several
471Projects all at once. You can choose whatever project you like for storing the
472tool information, it doesn't really matter </P>
473<p><STRONG>Q: When I load my build
474file, the list of targets is empty. Why?</STRONG><br>
475A: You
476need to add the optional "description" parameter to the targets you want to come
477up in the list. Then reload the build file in the "ant build" tool. We chose to
478display only targets with description to allow the build file developer to
479distinguish between targets for end users and helper targets. </P>
480<p><STRONG>Q: Is there a sample build
481file available? </STRONG><br>
482A: Now you can find an <A href="#sample_buildfile">example</A> in this manual </P>
483<p><STRONG>Q: Why does it export my
484entire workspace when I've already implicitly selected a project when starting
485the Tool?</STRONG><br>
486A: This selection does not carry into
487the buildfile you are using. Set the Project name at the beginning of the
488"includes" parameter. </P>
489<p><STRONG>Q: When I import Ant into
490my Workspace, I get Problems reported. Can I ignore them?</STRONG><br>
491A: It depends on the problems reported, and what you want to do with Ant.
492Problems you can't ignore:
493<ul>
494 <li>Classes from javax.xml.parser missing - install a compatible parser
495 (see <A href="#installation">installation</A>)
496 <li>Classes from com.ibm.ivj.util missing - install the Visual Age IDE
497 Utility feature (see <A href="#installation">installation</A>).
498 <li>Errors in optional tasks you use within your build
499 file</LI></UL>
500<br>
501
502<p><STRONG>Q: I want to use the same
503buildfile both within Visual Age and from the command line using my regular Ant
504environment. What do I need to be aware of?</STRONG><br>
505A:
506You have to specifie a remote server via the 'remote' attribute. Otherwise the
507three Visual Age tasks won't work when executing Ant from the command line. </P>
508
509<p><STRONG>Q: I can export packages
510from project 'ABC', but not from project 'XYZ'! Why?</STRONG><br>
511A: Common reasons are:</P>
512<UL>
513<li>The project is excluded by the default excludes (see
514 attribute 'defaultexcludes' of VAJExport)
515<li>When looking at the project in the workspace, it is
516 often difficult to distinguish between project name and version name (e.g. as
517 in 'My GUI Components Java 2 3.5'). Check if you have the right project name
518 by switching off the version name display temporarilly.</LI></UL>
519<p><STRONG>Q: How do I control the
520import/export of sourcefiles, compiled files and project resources
521explicity?</STRONG><br>
522A: Via the Boolean values
523exportClasses (default false) exportSources (default true) and exportResources
524(default true). In some situations, Resources are not exported correctly without
525this being explicity set. VAJ doesn't export resources correctly if a package
526contains only resources (see below).</P>
527<hr>
528<h2><a name="known_problems"></A>Known
529Problems</H2>
530<ul>
531 <li>Exporting a package containing just resources doesn't
532 work. This is a VAJ Tool API bug. Workaround: create a dummy class and set
533 'exportSources' to false. </LI></UL>
534<hr>
535
536<h2><a name="va_versions"></A>VisualAge
537for Java Versions</H2>
538This tool integration has been tested with versions 3.02 and 3.5
539of VisualAge for Java. It should run with the 2.x Versions, too, but
540we didn't try. The graphical user interface is built with AWT so it is
541JDK independent by now.
542<hr>
543
544<h2><a name="history"></A>History</H2>
545<table border="1" cellpadding="2" cellspacing="0" width="400">
546 <tr valign="top">
547 <td valign="top">1.0</TD>
548 <td valign="top">2000/09/11</TD>
549 <td valign="top">Initial Version</TD></TR>
550 <TR>
551 <TD vAlign=top>1.1</TD>
552 <TD vAlign=top>2001/02/14</TD>
553 <TD vAlign=top>Added Task documentation and more FAQs
554 (thanks to Richard Bourke for the FAQ additions) </TD></TR>
555 <tr valign="top">
556 <td valign="top">1.2</TD>
557 <td valign="top">2001/07/02</TD>
558 <td valign="top">
559 <P>Added documentation of new remote feature.<BR>Minor corrections.</P></TD></TR>
560 <tr valign="top">
561 <td valign="top">1.2.1</TD>
562 <td valign="top">2003/01/16</TD>
563 <td valign="top">
564 <P>Added documentation for haltonerror, "*" and "**" version qualifiers.</P></TD></TR></TABLE>
565<hr>
566<center>Copyright &copy 2001-2004 The Apache Software
567Foundation. All rights Reserved.</CENTER>
568</body>
569</html>
570
Note: See TracBrowser for help on using the repository browser.