diff --git a/build.xml b/build.xml
index 1d89bea2d..ec7daff90 100644
--- a/build.xml
+++ b/build.xml
@@ -20,12 +20,12 @@
Version 1.0.3 - 2000/02/06
+Version 1.0.4 - 2000/02/10
Ant tries to execute the targets in the depends attribute in the order they appear (from left to right). Keep in mind that it is possible that a target can get executed earlier when an earlier target depends on it:
+<target name="A"/> <target name="B" depends="A"/> <target name="C" depends="B"/> <target name="D" depends="C,B,A"/>+
Suppose we want to execute target D. From its depends attribute, you might think that first target C, then B and then A is executed. Wrong! C depends on B, and B depends on A, so first A is executed, then B, then C, and finally D.
@@ -239,6 +239,15 @@ on B, and B depends on A, so first A is executed, then B, then C, and finally D. targets in the depends attributes.A target gets executed only once. Even when more targets depend on it (see the previous example).
+A target has also the ability to perform its execution if a property has been +set. This allows, for example, better control on the building process depending +on the state of the system (java version, OS, command line properties, etc...). +To make target sense this property you should add the if attribute +with the name of the property that the target should react to, for example
+++<target name="build-module-A" if="module-A-present"/>+
If no if attribute is present, the target will always be executed.
A target has the following attributes:
No | ||
if | +the name of the property that must be set in order for this + target to execute. | +No | +
A task is a piece of code that can be executed.
@@ -403,6 +418,7 @@ but excludes all "*.gif" files from the copy.<ant dir="subproject" />
Sets a property is a resource is available at runtime. This resource can be a +file resource, a class in classpath or a JVM system resource.
+The value part of the properties being set is true if the resource is +present, otherwise, the property is not set.
+Normally, this task is used to set properties that are useful to avoid target +execution depending on system parameters.
+Attribute | +Description | +Required | +
name | +the name of the property to set. | +Yes | +
class | +the class to look for in classpath. | +Yes | +
resource | +the resource to look for in the JVM | +|
file | +the file to look for. | +
<available class="org.whatever.Myclass" property="Myclass.present" />+
sets the property Myclass.present
to the value "true"
+if the org.whatever.Myclass is found in Ant's classpath.
Changes the permissions of a file. Right now it has efect only under Unix. @@ -1504,22 +1560,20 @@ This also holds for properties loaded from a property file.
runs the rmic compiler for the class com.xyz.FooBar
. The
compiled files will be stored in the directory ${build}/classes
.
Creates a tar archive.
+The basedir attribute is the reference directory from where to tar.
+It is possible to refine the set of files that are being tarred. This can be +done with the includes, excludes and defaultexcludes +attributes. With the includes attribute you specify the files you want to +have included by using patterns. The exclude attribute is used to specify +the files you want to have excluded. This is also done with patterns. And +finally with the defaultexcludes attribute, you can specify whether you +want to use default exclusions or not. See the section on directory based tasks, on how the +inclusion/exclusion of files works, and how to write patterns. The patterns are +relative to the basedir directory.
+The includes, excludes and defaultexcludes attributes +replace the items and ignore attributes. The following explains +how the deprecated items and ignore attribute behave.
+When "*" is used for items, all files in the basedir, and +its subdirectories, will be tarred. Otherwise all the files and directories +mentioned in the items list will tarred. When a directory is specified, then all +files within it are also tarred.
+With the ignore attribute, you can specify files or directories to +ignore. These files will not be tarred. The items in the ignore attribute +override the items in the items attribute. The names specified in the ignore +attribute are just names, they do not contain any path information!
+Note that this task does not perform compression. You might want to use the GZip +task to come up with a .tar.gz package.
+Attribute | +Description | +Required | +
tarfile | +the tar-file to create. | +Yes | +
basedir | +the directory from which to zip the files. | +Yes | +
includes | +comma separated list of patterns of files that must be + included. All files are included when omitted. | +No | +
excludes | +comma separated list of patterns of files that must be + excluded. No files (except default excludes) are excluded when omitted. | +No | +
defaultexcludes | +indicates whether default excludes should be used or not + ("yes"/"no"). Default excludes are used when omitted. | +No | +
<tar tarfile="${dist}/manual.tar" basedir="htdocs/manual" /> + <gzip zipfile="${dist}/manual.tar.gz" src="${dist}/manual.tar" />+
tars all files in the htdocs/manual
directory in a file called manual.tar
+in the ${dist}
directory, then applies the gzip task to compress
+it.
<tar tarfile="${dist}/manual.tar" + basedir="htdocs/manual" + excludes="mydocs/**, **/todo.html" + />+
tars all files in the htdocs/manual
directory in a file called manual.tar
+in the ${dist}
directory. Files in the directory mydocs
,
+or files with the name todo.html
are excluded.
Adds a task definition to the current project, such that this new task can be