diff --git a/build.xml b/build.xml index 910f921310..1f3ef40c97 100644 --- a/build.xml +++ b/build.xml @@ -62,7 +62,7 @@ - + @@ -152,13 +152,13 @@ - + - + - + @@ -326,18 +326,6 @@ - - - - - - - - - - - Ant Functional Requirements Document - - -

Ant Functional Requirements

-

Roles

-

User: runs Ant with a complete build specification and/or -writes Ant build specifications.

-

Task Developer: writes/modifies Ant tasks.

-

Extensions Developer: develops extensions like a GUI, IDE plugin, - (scripting extension?)

-

Core Developer: works on the Ant core

-

Requirements from the Ant User perspective

-

It should be easy to write a build file for small Java programs. It should - be possible to write a build file set for large Java systems. Maintenance - of such a set should be easy (e.g. no duplication of information).

-

Every build process contains dependencies (e.g. item A needs B to be available - before its own build can start). It should be possible to specify these - dependencies in a declarative way.

-

Suppose a working build specification for system A is available. It should - be possible for system B to declare dependencies to (modules of?) system - A without touching the build specification of A. Ant should be able to handle - dependencies between modules which form a DAG.

-

It should be possible to modify details of the actual build (e.g. classpath, - used compiler) without the need to change the build specification. This - feature is needed when starting Ant (e.g. configuration with command line - parameters) and for a subproject build driven by the build of a dependent - project.

-

Often similar items have to be built. Therefore it should be possible - to provide general (template?) build specifications, and to declare for - a concrete item that it should be built according to such a general specification.

-

One result of the build process should be a log which shows what has been done.

-

Requirements from the task developer perspective

-

A task should not need to know the structure of a build specification. - It would have to provide an interface (not necessarily in the Java language - sense) for the Ant core to input the necessary configuration attributes - and to execute the task). There should be a standard functionality to allow - a task doing log output.

-

An interface (again not necessarily in the Java language sense) should - be provided which allows a task to get (and set?) information about it's - context in the build process.

-

Requirements from the extensions developer perspective

-

The Ant core should be independent from a specific representation of the - build specification. It should be possible to create a specification programmatically - (thereby allowing the introduction of new representations). The core should - do no in- or output itself. Build errors should always lead to throwing - an Exception.

-

Access to the current state of a build should be available, and its modification - possible.

- - - diff --git a/docs/ant2/VFS.txt b/docs/ant2/VFS.txt deleted file mode 100644 index 029fe25c52..0000000000 --- a/docs/ant2/VFS.txt +++ /dev/null @@ -1,253 +0,0 @@ - -From: "Adam Murdoch" -Subject: RE: Virtual FileSystem Layer -Date: Sat, 22 Dec 2001 12:06:37 +1000 - -Hi, - -I've also been doing a bit of work on the VFS. No code yet - instead, I've -done a survey of the Ant 1 code, to help get a better idea of what we need -the VFS to actually do. - -I've put together a rough list of the sort of features the current tasks -require from the file system. This list is entirely from the task writer's -POV. I've ignored the build file writer completely - though, the action -list is a good summary of the build file writer's concerns. I've tried to -steer clear of assumptions about what is actually going to provide each -feature to the tasks, or what the API will look like to the tasks. - -The goal for doing up this list, was to help identify the features we want -to support, and the API that the tasks will use to get at them. This should -be largely independent of how we decide to represent the file system in the -build files. In addition, it doesn't matter too much whether the list below -is complete (I'm sure it isn't), or that the VFS provide every single one of -the features. Whatever it doesn't provide, can stay up in the tasks, and be -refactored down later. - -The assumption here is that we do actually want to put together a file -system API. I think it's a good idea to at least put together some -interfaces, even if the implementation is stolen from somewhere else. -Without a doubt, the file system is the most widely used "service" in the -current crop of tasks. The API that we choose has to have a good semantic -match with what the tasks need to do, so that writing the tasks is easy. -The API also has to be general enough to deal with stuff we haven't thought -of yet. On that note, I personally think that JNDI might be a touch too -general for what we need. - -So, the features. Note that many of these will be optional - not every -feature will be available for every node in the file system. I've used the -term "node" to mean both directories and files. I'm not suggesting we -actually call them "nodes" in the API. I've used the term "root node" to -mean the root of a file system. - -* Naming - -- Locate a node by absolute name. -- Get the absolute name for a node. -- Resolve a name to a node, relative to some base node - like -FileUtils.resolveFile(). -- Get the relative name of a node, relative to some base node. -- Determine the base name (with and without the extension), and extension of -the node. -- Deal with file systems that are case sensitive, and case insentitive. - -* Properties - -- Determine what properties are available on the node. -- Determine if the node exists. -- Determine the type of node (file vs. directory, could be "has-content" vs -"has-children"). -- Determine if the node is readable. -- Determine if the node is writeable. -- Get/set the permissions on the node. This covers things like chmod & -chown, making read-only, making executable, etc. - -* Content - -- Determine if the node can/does have content. -- Get the size of the node. -- Get/set the last-modified time of the node. -- Get/set the mime-type of the node. -- Get/set the encoding of the node. -- Get a checksum of the node. -- Get content as InputStream. -- Get content as Reader. -- Set content as an OutputStream. -- Set content as a Writer. -- Implicit creation of node and its ancestors when content is written. -- Compare nodes for equality (last modified timestamp, checksum, bytewise -compare). - -* Hierarchy - -- Get the parent node of a node. -- Get the child nodes of a node. -- Iterate over (or visit) the descendants of a node. - - With or without a selector. - - In various orders - depthwise, etc. - - Be able to modify the nodes during traversal. - -* Modification - -- Create a new node of a particular type. Create all missing ancestors. -- Move, copy, delete a node. - - All descendants. - - Optional selector. E.g. ignore empty dirs, ignore default excludes, etc. - - Optional filter. - -* Conversion - -- Convert the node to a java.net.URL. -- Make the node content available as a local file (to hand off to external -commands). -- Get the OS specific *filename* for a node. -- Resolve an OS specific *filename* to a node. - -* File System Types - -- Local file. -- HTTP. -- FTP. -- Classloader, uses Classloader.getResource(). -- Temporary files. -- etc ... - -- Compound file system. Made up of a bunch of mount points. The VFS -itself. - -- Layered file systems (that sit on top of another file system or node): - - zip, bzip, jar, tar - - filtering - token replacement, etc - -- Factories for creating and configuring file system root nodes. -- Ability to easily add new file system implementations. - -* Task Container - -- A mechanism for a task to get hold of the project's root node. - -- A mechanism that allows a task to create its own private root nodes, -without letting it mess with the project's file system, or the file systems -of other tasks. - -- A mechanism for cleaning up all the node InputStream, OutputStream, Reader -and Writers opened by a task during its execute() method. Cleaning up files -is one thing the current tasks don't do very well at all. Something like -this would take care of anything the task did not explictly close. Would -include root nodes it created. - -* Other things - -- Maybe some way to explicitly close a node and release all resources used -by it. - -- Maybe detection of concurrent updates, in the case of parallel tasks. - -- Netbeans has an event model in its VFS. Something like this might be -useful in dependency management. - -- nodesets. The replacement for, or generalisation of, FileSet, Path, -FileList, etc - - A nodeset that contains the descendents of a node that match a selector -(like the current FileSet implementation). - - A nodeset that contains arbitrary nodes. - - An aggregating nodeset. - - Custom nodeset implementations. - -- Reimplement the Ant 1 Fileset, Path and Filelist as adaptors sitting on -top of the VFS. - -- A classloader that can load classes from a node. - -- etc .. - -What's missing? What shouldn't be on the list? - - -Adam - -> -----Original Message----- -> From: Magesh Umasankar -> Sent: Saturday, 22 December 2001 10:44 AM -> To: ant-dev@jakarta.apache.org -> Subject: Virtual FileSystem Layer -> -> -> I have been spending some time now on the VFS -> layer... Nothing major to report yet, but I just wanted -> to sound off so that if I am going down the wrong -> route, I correct it right away. -> -> I evaluated at WebNFS, NetBeansFS (NBFS) and -> JNDI. -> -> 1. WebNFS seems to be going nowhere. It has -> been dormant for quite sometime now. Licensing -> is rigid. Technically, it doesn't look so bad as it -> closely replicates java.io.File's API. But then, -> that really gives us very little. -> -> 2. NBFS looks OK. It has got a few filesystems -> already built. There may be some licensing issues, -> I don't know, but that shouldn't concern us too -> much as, according to Peter, it is Mozilla (I haven't -> really check the license out, sorry). But, as far as I -> can see, it seems to lack in sophisticated API features -> like searching based on attributes, etc., which -> we will definitely be needing for the Selector APIs. -> -> 3. JNDI, by far, beats the above to, in my -> evaluation. It is generic enough. We don't have -> any licensing issues. It has also become part of -> the core JRE (1.4 onwards). Technically, it fits to a T -> what we are looking for - virtual file system that -> provides search controls, access attributes, -> url mounting, etc. Furthermore, there's been -> some ground work already done for us at Jakarta/Apache -> (Catalina). I have written a SPI for a FTPFileSystem -> - though it is in a real crude stage right now. I believe -> this is the way to go because Ant's code would be -> operating at the (Dir)Context level and we can keep -> adding SPIs as we need them. Furthermore, -> JNDI has been stable for quite sometime now and -> we can depend on a widely used API. -> -> I don't think JNDI is a heavyweight API for our needs. -> It seems to be the only one, so far, which encompasses -> at the APIP level, all the new functionalities that we -> desire to introduce. -> -> Let me know if my approach, so far, to go the JNDI -> route seems reasonable. -> -> Cheers, -> Magesh -> -> -> -> -> -- -> To unsubscribe, e-mail: -> For additional commands, e-mail: - - --- -To unsubscribe, e-mail: -For additional commands, e-mail: - - diff --git a/docs/ant2/actionlist.html b/docs/ant2/actionlist.html deleted file mode 100644 index 61392a8a10..0000000000 --- a/docs/ant2/actionlist.html +++ /dev/null @@ -1,492 +0,0 @@ - - - Ant1.9 Action List - -
-

Ant1.9 Action List

-

Precursor to Ant2

- Peter Donald [peter at apache.org] -
- -
- -
-
-

- This document aims to contain a list of actions that people can take - to produce Ant1.9. Ant1.9 is a refactoring of the Ant1.x line and a jump - point for Ant2. Some changes will be backported to Ant1.x over time when - they have proven themselves while other changes may only become available - via Ant2.0. Ant1.9 is our melting pot where we can experiment and refactor - without a thought to backwards compatability but only to the "right" way - of doing things. -

-
-
- -

Introduction

- -
-

- This document will list a bunch of actions that will guide us in the evolution - of Ant1.x and provide a solid basis on which to launch Ant2.0. Feel free to add to - this list of actions as our vision of Ant2 solidifies. Associated with each action - is a list of victims who have "volunteered" to have a go at the action and a status. - The status just tells us where they are at while the victim column will tell us exactly - who is doing what. It is fine for a group of people to work on a single area. -

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionVictimsStatus
Create a Virtual Filesystem layerNoneNot Started
Formalize a naming scheme for task attributes/elementsNoneNot Started
Design and implement s Selector API for Filesets and other ItemsetsNoneNot Started
Develope the infrastructure for coloring (or "environmental" dependency analysis)NoneNot Started
Develope the infrastructure for structural dependency analysisNoneNot Started
Refactor the Exec infrastructure into JavaBeansPeter Donald80%
Refactor the Java infrastructure into JavaBeansNoneNot Started
Design and implement a generic solution for creating Task facadesNoneNot Started
Sketch out a basic way of separating all the tasks into type librariesNoneNot Started
Design and implement an API that allows mapping of file attributes during copy/move/etc tasksNoneNot Started
Design and implement an API so that Filters could be implemented as FilteredOutputStreamsNoneNot Started
Design and implement a XML "catalog" so the snippets of XML can be injected based on URI rather than relative locationNoneNot Started
Look at the feasability of i18n'ing tasks and the runtimeNoneNot Started
Write a document describing the way that tasks should be written in context of Ant2Peter Donald
(peter at apache.org)
Not Started
Design an API to embed Ant into other applicationsNoneNot Started
Design a TypeInfo system similar to BeanInfo to describe TasksNoneNot Started
Design Antdoc to generate manual from .java filesNoneNot Started
-
-
- -

Virtual File System

- -
-

- There has long been a recognition that it would be nice if ant supported some - notion of a virtual filesystem layer. This layer would allow you to treat - resources located and retrieved from different mechanisms in a uniform way. - For instance it would allow the copy task to copy from a http server, a cvs server, - a ftp server or the local filesystem using a uniform mechanism. So instead of - having separate tasks to operate on each different resource type we would use - just one task that plugged into multiple filesystems. -

-

- When we are talking about a virtual filesystem or VFS, one of the concerns we must - address is how to "name" the resource. In most cases a URL or URI style access will - be sufficient but in other cases we may need to consider other options. So - "cvs://localhost:/home/cvs/jakarta-avalon/README.txt?version=1.1", - "ftp://some.server.com/dir/file.zip" and "file://C/WINDOWS/Desktop/MyFile.txt" - are all examples of referring to different resources. -

-

- Another concern that must be addressed is capabilities of both the resources and - the filesystem. For instance it is possible to both read and write to resources - using the "file" protocol but only possible to write resources using "mailto". - The act of copying a file to a "mailto" url would actuall post the files as - resources while copying to a "file" would duplicate the resource somewhere on - the local filesystem. -

-

- So we need to determine a list of capabilities. Some examples would be "read", - "write", "list" (can you list dirs), "type" (can you get mime type), - "access permissions" (can you tell if resource has permissions), - "modify permissions" (can you modify permissions) etc. Some of these capabilities - can be associated with the particular reosurces, while others may need to be - associated with a whole filesystem/protocol (ie there is no standard mechanism - to perform "list" on general "http" URLs). Thus a list of all these capabilities - and mapping to various protocols will need to be established. -

-

- Next we need to determine if we are going to support the notion of "mounting" - URLs. For instance if we need to copy files from a FTP server do we allways - need to specify the full URL - no matter how convoluted it is (ie - "ftp://fred:secret@some.server.com:28763/home/fred/project2/dir/file.zip") - or can we mount this on a VFS and access it via that shorter url. ie We could - mount "ftp://fred:secret@some.server.com:28763/home/fred/" onto "vfs:/home" - and then just access the resources via "vfs:/home/project2/dir/file.zip". - This would make dealing with large urls easier and more uniform. -

-

- So after we have decided what our options are we need to actually go about - implementing the solution. It may be the case that existing VFS solutions - could be reused with minor changes and thus we could save ourselves a lot of - work. Candidates would be the Netbeans VFS, Suns XFile API or other - available directory APIs (like JNDI). If none of them suit then we will need - to write our own layer. -

-
- -

Naming

-
-
-

- Currently Ant has a mixture of tasks from various stages it's evolution, with different - authors and each utilizing different naming patterns. Some tasks use names such as - "src" and "dest" while others use "file" and "tofile". It would be preferrable if - consistent naming patterns were used. It is recomended that we come up with a "best - practices" document to document our recomended naming patterns. -

-

- Before we can come up with such a document we need to identify common patterns through - out the tasks. Several tasks have the notion of transforming input from a "source" - to a "destination". So we should have consistent naming schemes for these attributes and - elements. Analysis of existing tasks will likely bring out other similar patterns. Once - we have identified and documented these similarities then we can establish conventions. -

-
- -

Selector API

-
-
-

- Currently our filesets allow us to select a set of files based on name patterns. - For instance we could create a set of all the files that end with ".java". However - there are cases when you wish to select files based on their other attributes, such as - if they are read only or if they are older than a specified date etc. -

-

- The selector API is one such mechanism to do this. The selector API will allow you to - build file sets based on criteria other than name. Some possible criteria would be -

-
    -
  • Is the file readable?
  • -
  • Is the file writeable?
  • -
  • What date was the file modified on?
  • -
  • What size is the file?
  • -
  • Does the contents contain the string "magic"?
  • -
-

- If we end up supporting a VFS then we could expand the number of selectors - considerably. A mock representation that has been proposed before is the following. - Of course this is subject to change as soon as someone wants to tackle this action ;) -

-
 
- <include>
-   <selector type="name" value="**/*.java"/>
-   <selector type="permission" value="r"/>
-
-   <!-- could optionally be directory/or some other system specific features -->
-   <selector type="type" value="file"/> 
-   <selector type="modify-time" 
-             operation="greater-than" 
-             value="29th Feb 2003"/>
- </include>
-
-
- -

Coloring API

-
-
-

- When you execute a task such as "javac" there is two types of dependency information - that is important to analyze before we determine if we need to recompile a file. Say - we are compiling Foo.java, it may depend on the Bar.java - file. We call this "structural" dependency information - the structure of the source file - determines what other files it depend upon. However there is also "environmental" - dependency information. For instance if the Foo.java file was compiled with - debug="true" last run and this time needs to be compiled with - debug="false" then it is out of date and needs to be recompiled. We call this - "environmental" dependency information "coloring". -

-

- So we need to create an infrastructure that allows tasks to manage "coloring". So a task - should be able to add coloring information for each resource processed. When the task - comes to process the resource again it will detect if the coloring has changed and if it - has will force a recompile. -

-

- An API for such a bean has yet to be established but an example API would be. -

-
-ColoringManager cm = ...;
-cm.addColor( "debug", "true" );
-cm.addColor( "optimize", "false" );
-cm.setFileSet( myFileSet );
-File[] files = cm.getOutOfDate();
-    
-
- -

Structural Dependency Utils

-
-
-

- In the present ant, it is required that each task manage dependency separately. - This makes it a lot of work to implement even simple dependency checking. To this - day many of the core tasks do not implement it correctly. I am specifically - talking about "structural" dependency information. The main reason is that it is - painful to implement. -

-

- Some tasks do no dependency checking and will recompile/transform/etc everytime. - Others may perform a simple dependency checking (ie if source file is newer than - destination file then recompile). Ideally a dependency system would actually - calculate the dependencies correctly. So we need to have some mechanism to determine - that foo.c actually depends upon foo.h, bar.h - and baz.h. As this information is particular to each different task - we need to allow tasks to implement this behaviour. Possibly by supplying an interface - of the form; -

-
-public interface DependencyGenerator
-{
-  File[] generateDependencies( File file );
-}
-    
-

- Generating the dependency information is a costly operation and thus we do not want to - be doing it everytime you run ant. We want to generate it on the initial build and then - persist somewhere. Everytime a file is out of date, it's dependency information would - be regenerated and stored in the dependency cache. Ideally this cache would also store the - above mentioned coloring information. So the entry for foo.c may declare that - it is dependent upon foo.h, bar.h and baz.h, aswell - as being compiled with -O2 flag. If any of the dependencies have changed or are out of date - then foo.c would need to be recompiled. -

-

- A possible API would be -

-
-DependencyManager dm = ...;
-dm.setFileSet( myFileSet );
-dm.setDependencyCache( myDependencyCacheFile );
-File[] files = cm.getOutOfDate();
-    
-
- -

Refactor <exec> infrastructure into Beans

-
-
-

- Exec and its related classes have currently evolved through several iterations and thus - it is not as cleanly designed and as reusable as it could be. Someone needs to pull apart - exec and analyze which parts can be turned into JavaBeans and decouple them from the Ant - infrastructure. Once that is done it will make these beans much easier to reuse from other - tasks without relying on gaining access to the other task instance. -

-
- -

Refactor <java> infrastructure into Beans

-
-
-

- Much like Exec should be decoupled from Ant runtime, so should classes to implement java - task for the same benefits. -

-
- -

Generic Task Facades

-
-
-

- Currently we have a few tasks that have multiple implementations. For instance Javac task - can actually call jikes, jvc, classic javac or modern javac. Similar things will be seen - with the jspc task and the cc task (if it ever gets written). We need to examine this - pattern and see if there is a way to generalize this and make it easier to write such tasks. -

-
- -

Task Packaging

-
-
-

- We have already decided that we are going to package Ant tasks in separate jars and - have some sort of descriptor that to describe the contents of the jar. However we have - not yet decided how we will break up the tasks. Do we break up the tasks up into - related tasks or into groups that ar elikely to be used together or what? A possible - breakdown would be -

-
    -
  • jdk tasks: javac, javadoc, rmic etc
  • -
  • text tasks: regex replace, fixcrlf etc
  • -
  • unix tasks: chmod, etc
  • -
  • file tasks: copy, move, etc
  • -
-
- -

Mapping File Attributes during transformation

-
-
-

- When we are copying files from one location to another it is currently possible - to rename them using a mapper. So we could rename Foo.java to - Foo.java.bak. On occasion it is useful to modify file attributes - other than its name in such operations. So we could copy the files to another - location and make them read-only in one operation. -

-
- -

Filters extensions

-
-
-

- This is partially related to the above action. Filters could be seen as a way - to modify the content attribute of a file during a copy/move. It would be - preferrable if filtering could be abstracted to use FilteredOutputStreams - to perform the content modification. That way new Filter types could be constructed - and used during file copy (ie an example would be a Perl FilterOutputStream that - allowed you to use perl expressions to transform input). -

-
- -

XML Catalog to load XML Fragments

-
-
-

- When including fragments of XML we are currently forced to use relative paths. - However this is sometimes undesirable when a single fragment needs to be used - across several projects in several different locations. Instead we could use - a Catalog to name the fragment and then each developer would only need to install - the fragment once and it would be accessible from all the projects. -

-
- -

i18n the Runtime and tasks

-
-
-

- Look at the feasability of performing i18n on Ant runtime and core tasks. Look at - how much work it will be and how useful it would be. Look at utilizing i18n from - existing projects such as Avalon. -

-
- -

Embeddor API for Ant

-
-
-

- Identify different environments in which it would be useful to embed Ant or an Ant-like - tool. Identify what these environments are likely to demand in terms of API and support - and then design a system that works in these environments without compromising ants - core goal (ie a build system). Some suggestions for such an API include; -

-
    -
  • Pluggable ProjectBuilders to allow building of project from a variety of sources, - file, URL, InputStream, SAX etc
  • -
  • Pluggable ClassLoader arrangement
  • -
  • Ability to set User Properties
  • -
  • Ability to add Task/Data/Type definitions
  • -
  • Ability to add/remove Listeners
  • -
  • Ability to add/remove Loggers
  • -
  • Ability to get meta-information about targets (such as name and description)
  • -
  • The ability to execute a task and/or targets
  • -
  • The ability to add tasklibs
  • -
  • The ability to add VFS mount points
  • -
  • The ability to manipulate ProjectModel and build it from GUIs
  • -
  • A general task engine API
  • -
-
- -

TypeInfo system

-
-
-

- Add in the ability to represent tasks using specified meta-info, This would allow - generation and manipulation of information such as what attributes are available, - what elements are supported etc. -

-
- -

Antdoc

-
-
-

- This is partially based on the above TypeInfo system. It involves the ability to - take the TypeInfo made available and generate documentation for the tasks. This - would allow multiple formats of documentaiton to be easily maintained and reduce - the chance that documentation gets out of whack. -

-
- - - diff --git a/docs/ant2/features.html b/docs/ant2/features.html deleted file mode 100644 index 0cb8314f7c..0000000000 --- a/docs/ant2/features.html +++ /dev/null @@ -1,381 +0,0 @@ - - - - - - Ant2 feature list - - - - - - - -

If something looks like this, this is either a - request for input or a "REVISIT" marker or similar.

- -

Ant2 Goals

- -

Even though Ant2 is expected to be incompatible with the - current Ant1 series, it still has the same goals. Ant is a Java - based build tool and this remains the main focus of it. The - original goals of simplicity, understandability and extensibility - still stand and Ant2 will try to achieve them even better than - Ant1 does.

- -

Simplicity and Understandability

- -

These two goals are closely related. Ant build files shall be - easy to read and understand - at the same time it should be easy - to write a custom Ant task and to use the utility classes that - Ant2 provides.

- -

Ant2 shall be more consistent than Ant1 is - this means:

- -
    - -
  • core tasks will use the same attribute names for common - functionality
  • - -
  • similar tasks will be unified to use similar forms.
  • - -
  • different implementations for the same functionality will be - hidden behind facade tasks.
  • - -
  • properties and data types will be unified so that they share - the same namespace and inheritance rules. Need to talk about how ${} expansion works for - filesets and so on.
  • - -
- -

Furthermore some things will have to become more explicit:

- -
    - -
  • remove all magic properties
  • - -
  • make build file writers explicitly state which - filters/filtersets a copy task will use
  • - -
  • add scoping rules for properties so that not all of them - will be inherited by sub-builds, only those that have been - specified explicitly. Fill in details once - they've been sorted out.
  • - -
- -

The front-ends for Ant2 shall be smart enough to automatically - detect the required libraries (like tools.jar), the - use of native scripts shall be kept to a minimum.

- -

Build file writers can attach a message to targets that will be - presented to the user if that target is going to be skipped (based - on the if/unless attribute of the target).

- -

Even though Ant installation already is quite simple in Ant1 - (extract the archive and set two environment variables), - alternative ways to install Ant like using - Webstart or - a "self-extracting" JAR file will be explored.

- -

Extensibility

- -

Ant2 like Ant1 uses build files written in XML as its main - input, but it will not be restricted to it. The core of Ant2 will - work on an object model of Project/Target/Task that is independent - of any external representation.

- -

As an extension of the current <taskdef> - concept, tasks can be bundled into task libraries (together with - data types and other utility classes). These task libraries are - special JAR archives that somehow describe the contained tasks to - Ant. Ant will automatically know all tasks contained in task - libraries that have been placed into a special directory - in - addition task libraries can be referenced and used in a build file - explicitly. Fill in details once they've been - sorted out.

- -

It has become apparent, that several "aspects" of - tasks are so common that task writers find themselves duplicating - code all over again - things like classpath handling or "do - we stop the build if this task fails?" functionality for - example. Ant2 will provide a way to let the user attach an - "aspect handler" to a project - all attributes that live - in a certain namespace are going to be passed to this handler. Need to talk about TaskContext here.

- -

Ant2 will farm out common functionality from tasks into utility - classes so that task writers can benefit from a tested and stable - framework - they shouldn't need to deal with existing tasks - directly (like some tasks "abuse" the - <touch> task in Ant1).

- -

Ant2 will provide a way to define tasks that itself can have - tasks as child elements without knowing all defined tasks at - compile time. Discussions on ant-dev usually talk about - "container tasks" in this context.

- -

The only way to "include" common XML snippets so far - has been the usage of external SYSTEM entities, a mechanism that - is tied to DTDs and doesn't mix well with alternative - approaches like XML Schema. Ant2 will provide a built-in include - mechanism.

- -

New/Modified Features

- -

Ant2 will run the build process fully dynamically, which means - that task won't be instantiated before they are actually being run - and ${} expansion will see the very latest value of a - property. It will be possible to reassign values of properties via - a built-in task.

- -

Compatibility with Ant1

- -

Ant2 is going to break Ant1 in several ways:

- -
    - -
  • Tasks written for Ant1 won't work in Ant2 as the API of - Ant's core and the names of utility classes are going to - change. There will probably be adaptors and utility classes to - ease the transition for task writers.
  • - -
  • Build files written for Ant1 will probably not be valid in - Ant2 or at least not yield the same results. It is expected that - Ant2 will come with a tool to translate Ant1 build files into - equivalent Ant2 versions
  • - -
  • magic properties like build.compiler may - disappear and be replaced by a different customization - concept.
  • - -
  • Ant2 is going to require a JDK version 1.2 or above and a - JAXP compliant parser version 1.1 or above.
  • - -
  • If you specify more than one target in another target's - depends attribute, Ant1 will execute these targets from left to - right (as long as the dependency tree permits it) - Ant2 will - not guarantee this behavior but will allow build file writers to - specify the order explicitly.
  • - -
  • Dereferencing a non existent property a via ${a} will result - in a build failure.
  • - -
- -

Support Integration of Ant Into Other Tools

- -

Ant2 will have a clear separation between the front-end that is - responsible for user interactions, the object model that - represents the project to build and the part of Ant that runs the - build process itself Name that TaskEngine, - ProjectEngine, ExecutionEngine or what?. This separation is - expected to ease the integration of Ant (or parts of it) into - other products.

- -

Ant2 itself will include a command line front-end and Antidote - will become the GUI front-end to it. Other front-ends like a - servlet front-end are expected outside of - Ant's core as well.

- -

In addition to this separation, the following features should - help people who want to integrate Ant into their products:

- -
    - -
  • It will be possible to cancel a running build process.
  • - -
  • Ant will detach from System.err/.out/.in - completely and communicate with the front-end via a well defined - API. The front-end will have to handle user input for tasks - that need it (tasks that ask for a password for example).
  • - -
  • Tasks will provide some way to identify their attributes - from the outside. fill in details
  • - -
- -

More Control for Users and Build File Writers

- -

Ant2 will use a BuildListener concept similar to - the one of Ant1 but may provide a richer set of events. It will be - possible to attach and detach listeners to a build process from - within the build file and to modify the behavior of attached - listeners.

- -

In Ant1 users have little control over how things work. There - are a couple of magic properties to make Ant chose a preferred - compiler or modify the CLASSPATH, but they are barely documented. - If users want to set these properties for every build process, - they have to learn the undocumented tricks of the - ANT_OPTS environment variable or the - ~/.antrc file.

- -

Ant2 will have a well defined system to specify user - preferences. This system will not only let user chose their - compiler but also give them a chance to provide default values for - attributes (say you always want the debug attribute - of the javac task to be true - unless it has been - disabled explicitly). Need to give details once - they've been sorted out.

- -

Documentation System

- -

All tasks will be documented in XML files using a common DTD Still need to define it - task libraries are - expected to include the documentation using this DTD inside the - library itself.

- -

Better Subbuild Handling

- -

Is there something beyond "should become - better" right now?

- -

Data Types

- -

Ant1 supports a limited set of data types (fileset, patternset - and path) and at least up to Ant 1.3 it is not possible to - register custom data types without writing a task that does this. - Ant2 will provide a built-in mechanism to define new data - types.

- -

Existing data-types will be improved, the files in a fileset - can be chosen based on more than just pattern matching for example - (modification time or permissions for example). Ant2 will have - built-in tasks for set operations.

- -

Data types and properties will share the same name space and - follow the same scoping and precedence rules. - ${} again.

- -

Multi-Threading of Tasks Within a Target

- -

It will be possible to run several tasks in parallel - these - tasks will belong to the same target and all tasks will be joined - at the end of the target.

- -

Internationalization

- -

Ant2 itself will provide internationalized (error) messages and - provide utility classes to help task writers to do the same. - These utility classes may very well come from a - different (Jakarta) project.

- -

Ant's primary language and the language of the build file - will continue to be English.

- -

Rejected Features

- -

This is list is not complete, it just highlights some of the - rejected features and tries to explain why they've been - rejected. Two very common reasons to reject something were, that - the request has been too vague or the same functionality could - already be provided by some other accepted new feature.

- -

For a complete listing of all requested features, see requested-features.html. The - discussion on all topics can be followed in the archives - for ant-dev in threads starting from 2001-03-21 - the subject - lines contained either [VOTE] or - [DISC].

- -

Simple Flow-Control

- -

People asking for these kind of things have often heard the - standard "Ant shall not become yet another scripting language, Ant - shall not fall into the same traps make/Perl did ..." response - from the committers and some long-term ant-dev people.

- -

The long version of that answer is:

- -
    -
  • There are lots of open source scripting languages, there is - no need to define a new one.
  • - -
  • Ant has been created to be a build tool. While you can use - it for a whole lot of other things, this is not Ant's primary - focus (and it shouldn't be). Most use-cases that ask for - flow-control are out of Ant's scope.
  • - -
  • Ant already provides the requested functionality for many - common situations. The execon and apply tasks can be used to - iterate over a set of files as the (planed for Ant2) javaon and - anton tasks will do.
  • - -
  • Providing flow-control inside Ant's core would increase the - complexity of this core. This would make it difficult for new - contributors to understand how Ant works and increase the - maintenance cost for Ant at the same time. The goal of the Ant - developers is to push as much complexity and functionality out - of Ant's core into the tasks as possible.
  • -
- -

That being said, Ant2 will make it easy to write iteration or - conditional tasks via the new container task concept. We expect - foreach, switch and if tasks to be written, but they will probably - not become core parts of the Ant distribution.

- -

Advanced Conditionals for if/unless Attributes

- -

The argument here is the same as for flow-control. We are - talking about complexity that can be pushed from the core to tasks - - and that is what will be done. Instead of additional power for - the if/unless attributes, Ant2 will have a new task that can set - properties based on the values of other properties or logical - combinations of other conditions, something like (making up - syntax):

- -
-<condition name="javamail-complete">
-  <and>
-    <available class="javax.mail.Transport"/>
-    <available class="javax.activation.DataHandler"/>
-  </and>
-</condition>
-
- -

will become possible

- -

Multi-Threaded Execution of Targets

- -

The general feeling was, that the combination of target - dependencies and multi-threading would soon become too complex, - especially since Ant2 will allow people to explicitly enforce the - order in which (independent) targets will be executed.

- -

This issue will be explored again later, it has not been - rejected for all time being, but it is out of scope for - Ant 2.0

- -

Ideas for New Tasks and Tools

- -

Please refer to requested-features.html in the - section "I. Things that don't affect the core but are - requests for new tasks or enhancements to existing tasks." - for this.

- - - diff --git a/docs/ant2/original-specification.html b/docs/ant2/original-specification.html deleted file mode 100644 index 9c13e9c000..0000000000 --- a/docs/ant2/original-specification.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - Ant Specification, version 0.5 - - -

Ant Specification

-

Version 0.5 (2000/04/20)

-

This document specifies the behavior of Ant. At this time, this is a - working document with no implementation. It is hoped that this specification - will lead to a simplier and more consistent implementation of Ant.

-

This document is not intended to be used as an end user manual or user - guide to Ant. To adequatly explain the concepts herein in a way appropriate to - such a use would potentially complicate this document.

-

Design Goals

-

The following are the overall design goals of Ant:

-
    -
  • Simplicity
  • -
  • Understandability
  • -
  • Extensibility
  • -
-

Simplicity

-

Ant must be simple to use. Of course, as the definition of simple varies - according to the audience of the program. For Ant, since it is a build tool - aimed at programmers, the goal is to be simple to use for a competent - programmer.

-

Understandability

-

Ant must be clearly understandible for a first time as well as a veteran - user. This means that a new user should be able to use Ant comfortably the - first time and understand how to modify a build file by looking at it. And it - should not require much experience with Ant to understand how it works and how - to configure it for particular situtations.

-

Extensibility

-

Ant must be easy to extend. The API used to extend Ant must be easy to - use and the way in which these extensions are located and used by the core - runtime should be clear.

-

Conceptual Overview

-

This is a conceptual overview of the components used by Ant. Full APIs - will be defined later.

-

Project

-

The base unit of work in Ant is the Project. A Project - is defined by an editable text file and is represented by an object of type - org.apache.ant.Project at runtime.

-

A Project is a collection of Properties and - Targets.

-

Properties

-

Properties are mutable name-value pairs that are scoped to the Project - and held in a table. Only one pair is allowed per name. It is anticipated that - this data structure would be of type java.util.Properties or a type that has approximatly - the same contract.

-

Properties can be defined in a hierarchical manner. The order of - precidence in this hiearchy is:

-
    -
  • Properties defined on the command line or via a GUI tool
  • -
  • Properties defined in the text file which defines the project.
  • -
  • Properties defined in a file in the users user.home directory
  • -
  • Properties defined in the installation directory that can be shared - by multiple users.
  • -
-

Note: The current version of Ant allows the System property list to be - consulted for a return value if the property list doesn't satisfy the requested - property name. As all Java code has access to the system property list via the - java.lang.System class, this functionality is considered to be confusing and to be - removed.

-

Note: The current version of Ant allows property substitution to be - performed in the project file. This functionality is being removed.

-

Targets

-

Targets are ordered collections of Tasks, units of work - to be performed if a Target is executed.

-

Targets can define dependancies on other Targets within the Project. If - a Target is deemed to be executed, either directly on the command line, or via - a dependancy from some other Target, then all of its dependencies must first be - executed. Circular depenancies are resolved by examination of the dependancy - stack when a Target is evaluated. If a dependancy is already on the stack of - targets to be executed, then the dependancy is considered to have been - satisfied.

-

After all dependancies of a Target have been satisfied, all of the Tasks - contained by the target are configured and executed in sequential order.

-

Tasks

-

A Task is a unit of work. When a Task is to be executed, an instance of - the class that defines the behavior of the particular task specified is - instantiated and then configured. This class implements the org.apache.ant.Task interface. - It is then executed so that it may be able to perform its function. It is - important to note that this configuration occurs just before execution of the - task, and after execution of any previous tasks, so that configuration - information that was modified by any other Task can be properly set.

-

When a Task is executed, it is provided access to the object - representing the Project it is running in allowing it to examine the Property - list of the project and access to various methods needed to operate.

-

Task Jar Layout

-

Tasks are defined within Java Archive files. The name of the JAR - determines the name under which the task is known by in the system. For - example, if a Task JAR is named mvdir.jar, the task is known to the system as - "mvdir".

-

Question: Should we say that tasks belong in a JAR file with the - .tsk extension?

-

The class within the Jar file that implements the org.apache.ant.Task interface is - specified by a manifest attribute named Ant-Task-Class in the Jar manifest. An example - manifest would look like:

-
    Manifest-Version: 1.0
-    Ant-Task-Class: org.apache.ant.task.javac.JavacTask
-

When the task is used by Ant, a class loader is created that reads - classes from the JAR file. This ensures that there is no chance of namespace - collision in the classes of various task JAR files.

-

Installation

-

When Ant is installed on a user system, it installs a directory - structure with the following form:

-
<installdir>/ant      (unix shell script)
-            /ant.bat
-            /ant.jar
-            /ant.properties
-            /tasks/[task jar files]
-            /docs/[documentation]
-            /README
-

Note: Current Jakarta practice is to name the Unix shell script with a - .sh extension. This goes against Unix conventions and is unecessary. Testing - has shown that the leaving the extension off on Unix will not interfere with - the working of the Windows batch file.

-

Note: The ant.jar file has been moved from the lib/ directory and placed - alongside the shell startup scripts (which have also been moved out of the bin/ - directory). This is because on windows platforms, the .jar file is an - executable file of sorts.

-

Ant Properties

-

The ant.properties file contains a list of all the properties that should be - set by default when ant is run. In addition there are a few special properties - that are used directly by ant. An example of these properties in use is:

-
    system.taskdir=tasks/
-    user.taskdir=anttasks/
-

The system.taskdir property sets where the system looks for Java ARchive files - containing tasks. If this property defines a relative path, then the path is - taken as relative from the installation directory.

-

The user.taskdir property defines where users can locate Java Archive files - containing tasks. If this property defines a realtive path, then the path is - taken as relative from the users home directory (as defined by the user.home - system property). Task JAR files in this directory take precendence of those in - the system directory.

-

Note: It has been suggested to add a properties file hook to the - command line to roll in props. Pending investigation.

-

User Preferences

-

In addition to the Ant installation directory, an ant.properties file can be - located in the user's home directory (as found by the system property user.home) - which can define user preferences such as the location of a user tasks - directory. Properties defined in this file take precidence over those set in - the installation's ant.properties file. Such a file could look like:

-
    user.taskdir=anttasks/
-    javac.debug=off
-

Properties starting with "system." in the user's ant.properties file are not - allowed and must cause a warning to be thrown.

-

Project Configuration

-

Ant's Project text file is structured using XML and reflects the - structure of the various components described in the Conceptual Overview.

-

A sample Project file:

-
<project name="projectname" defaulttarget="main" taskdir="tasks/">
-  <property name="javac.debug" value="on"/>
-  <target name="main">
-    <taskimpl ...>
-       ...
-    </taskimpl>
-  </target>
-</project>
-

The Project Element

-

The project element has the following required attributes:

-
    -
  • defaulttarget defining the default target to be executed if no other target - is specified when Ant is run
  • -
-

It also has the following optional allowed attributes:

-
    -
  • name defining a name for this project
  • -
  • taskdir defining a directory in which project specific tasks can be - located. Tasks in this directory take precedence over those in the either the - user taskdir or the installation taskdir.
  • -
-

The following elements are allowed as children of the project - element:

-
    -
  • property defining a property scoped to the project
  • -
  • target defining a target
  • -
-

The Property Element

-

asdf

-

The Target Element

-

asfd

-

Configuration of Tasks

-

The Task section of the configuration file is structured as such:

-
  <[taskname] [attname=value] [attname=value]...]>
-    [<[elementname] [attname=value] ...> ... </[elementname]>]
-  </[taskname]>
-

The taskname is used to find the class of the Task. Once the class has - been located and an instance of it created, all of the attributes of the Task - are reflected into the task instance using bean patterns. For example, if a - Task contains an attribute named "directory", the method named - setDirectory would be called with the attribute value cast to the appropriate - type desired by the method. (What to do if the type isn't a file or a - simple type, look for the class and see if it has a setString method?)

- -

Text blocks contained by the element are added to task using an addText - method. Place an example...

-

For each element contained in the Task definition, an addElementname - method is found on the task. The parameter type of the method defines an object - that will be loaded and instantiated. The attributes of the element are - reflected into the object using bean methods. Any text is set using the addText - method. Any elements are recursed in the same fashion.

-

Search order of tasks.... project/user/system

-

Command Line

-

The command line utility provided with Ant must support the following - allowable syntax:

-

ant projectfile [prop=value [prop=value...]] [target]

-

Internally, the command line shell scripts should call the org.apache.ant.Main class - with the following arguments:

-
java -Dant.home=installdir org.apache.ant.Main $*
-

or its equivalent on the host platform. Note that the ant installation - directory is a System property. The above syntax results in ant.home being - placed in the System property list.

-

Note: On unix, finding the directory of the script that was launched - is relatively easy. However on Windows, I'm not sure the best way of handling - this.

-

File Naming Conventions

-

File naming in a cross platform tool is tricky. For maximum portability - and understandiblity it is recommended that project files use the following - conventions:

-
    -
  • The '/' character is used as a directory seperator
  • -
  • The ':' character is used as a path seperator
  • -
  • Only relative paths are used
  • -
-

However, to allow for maximum flexibility and to allow project authors - to use conventions that make sense on their native platform, Ant allows for a - representation of file names which has the following rules:

-
    -
  • Directories are seperated by the forward slash ('/') or backwards - slash ('\') character.
  • -
  • File names starting with either of the above directory seperators are - considered to be absolute paths.
  • -
  • On systems that support multiple file roots (e.g. Windows), a file - name that starts with a single alphabetical character followed by a colon (':') - followed by a directory seperator defines an absolute path where the letter - corresponds with a directory root.
  • -
  • File names starting with any other character are considered to be - relative paths. In project files, all relative paths are resolved relative to - the directory in which the project file is located.
  • -
-

Absolute paths are not recommended for build files as they reduce the - ability to share a project between u sers or machines.

-

In situtations where a set of filenames need to be specified, such as - defining a classpath, both the colon (':') andsemicolon (';') are allowable - characters to seperate each filename. The only case that has to be - disambiguated is if a user specifies paths that contain windows style absolute - paths. In this case, the colon is not treated as a path seperator if the - following rules are met:

-
    -
  • The character two places before the colon is either of the allowable - path seperators (':' or ';') or if the colon is the second character of the - string.
  • -
  • The character immediately before the colon is a alphabetic character - in the range a-z or A-Z.
  • -
  • The character immediately after the colon is either of the allowable - directory seperators ('/' or '\').
  • -
-

Scripting Model

-

Sam, I'm leaving this to you.

-

Runtime Requirements

-

The following requirements are system requirements that Ant should have - in order to run correctly. We should not bundle in any of these into the - distribution of ant.

-
    -
  • JDK 1.1 or greater
  • -
  • A JAXP compliant parser on the classpath
  • -
-

Note: When running on JDK 1.2 or greater, the tools.jar isn't on the - classpath by default. There's a few different ways we can take care of this. - One is to put it on the classpath in the execute script (I don't like this - one). Another is to find the location of tools.jar at runtime and put it on the - classpath of class loaders that load in task.jars so that, at least in the - scope of the Tasks, the relevant classes are there.

-

-

- diff --git a/docs/ant2/requested-features.html b/docs/ant2/requested-features.html deleted file mode 100644 index b6aa8ab438..0000000000 --- a/docs/ant2/requested-features.html +++ /dev/null @@ -1,1106 +0,0 @@ - - - - -

-
Requested Features for Ant2
-

- -

-I. Things that don't affect the core but are requests for new tasks or -enhancements to existing tasks. -

- -"Accepted" for a task doesn't mean that -task will be a core task (or even be supplied by a voter), just that having -it (as an optional task) would be acceptable. -

- - -  Accepted - - -

-
  • -Add a new datatype filterset to group token-filters. -
-
- -
-
  • -Make usage of particular filters/filtersets explicit in copy tasks. -
-
- -
-
  • -Make facade tasks for things like <javac> -(JikesImpl, ModernImpl, etc.). -(One candidate is <jar>, with implementations for -a <fastjar>, for example.) -
-
- -
-
  • -Unify multiple similar tasks to use similar forms (eg., all the -<javacc>-type -tools). -
-
- -
-
  • -Obfuscating task. -
-
- -
-
  • -Better scripting/notification support so the hooks are available to -send notifications at certain times. -
-
- -
-
  • -Add an <ant> task that will find build files according -to a fileset and invoke a common target in them. (<anton>?) -
-
- -
-
  • -Add a JavaApply task that executes a given class with files from a -fileset as arguments (similar to <apply>). -
-
- -
-
  • -Include some more sophisticated loggers with the Ant distribution – -especially for sending emails. Make the existing one more flexible -(stylesheet used by XmlLogger). (Could be part of the same module tasks -would be developed in?) -
-
- -
-
  • -Better docs (eg., more examples, tutorials, beginner documents, reference -sheets for tasks, printable version, etc.). -
-
- -
-
  • -RPM task. -
-
- -
-
  • -Task for splitting files (head/tail/split-like functionality). -
-
- -
-
  • -Task to create XMI from Java. -
-
- -
-
  • -Socksified networking tasks, SSH tasks. -(Peter Donald expressed some legal concerns that might need to be overcome, -depending on the implementation.) -
-
- -
-
  • -A reachable task that works much like <available>, -for network URLs. -
-
- -
-
  • -Task to extract classes from a jar-file that a given class depends on. -(Based on <depend> or IBM's JAX, for example.) -
-
- -
-
  • -Unify <available> and <uptodate> -into a more general -<condition> task – support -AND/OR of -several tests here. -(Will need more discussion because of vote by Peter Donald.) -
-
- -
-
  • -JSP-compilation task. (Sounds like a candidate for a facade task.) -
-
- -
-
  • -URL-spider task that checks links for missing content or server errors. -
-
- - -  Rejected - -
-
  • -Make the default logger's output clear, informative, and terse. (Rejectors -think it already is.) -
- - -
-
  • -Add an attribute to <property> to read in an entire file -as the value of a property. -
-
- -
-
  • -Make PATH-handling consistent. Every task that has a PATH attribute -must also accept references to PATHs. -
-
- -
-

-II. Goals that need to be abstract until we get into design -decisions. -

- -During the discussion it became obvious that some things from this list -are goals for Ant and some should be guidelines for developers. -Therefore, there are two flavors, "Accepted" and -"Accepted As Guideline". -

- - -  Accepted - - -

-
  • -Provide a clear mission statement for Ant. -
-
- -
-
  • -Main goals: simplicity, understandability, extensibility. -
-
- -
-
  • -Remove magic properties if at all humanly possible. -
-
- -
-
  • -Remove as much dependency on native scripts as possible. -
-
- -
-
  • -Clean object model (ie., Project/Target/Task). -
-
- -
-
  • -Good event model to integrate well with IDE/GUI/etc. -
-
- -
-
  • -Use a consistent naming scheme for attributes across all tasks. -
-
- -
-
  • -Keep build-file syntax as compatible to Ant1 as possible -(ie., don't break something just because we can). -
-
- -
-
  • -Keep the interface for tasks as similar to that of Ant1 as -possible (ie., don't break something just because we can). -
-
- -
-
  • -Ant should be cancelable. -
-
- - -  Accepted As Guideline - - -
-
  • -No commit of new features without documentation. -
-
- -
-
  • -No commit of new features without test-cases. -
-
- -
-

-III. Things that are simple and easy to implement, where we expect the -committers to agree. -

- - -  Accepted - - -
-
  • -Namespace support so different concerns can occupy different namespaces -from Ant (thus, SAX2/JAXP1.1). -
-
- -
-
  • -Java2 -
-
- -
-
  • -Remove all deprecated methods, attributes, tasks. -
-
- -
-
  • -Allow all datatypes to be defined anywhere (ie., as children of -project as well as of target). -
-
- -
-
  • -Make properties fully dynamic (ie., allow their value to be reassigned). -
-
- -
-
  • -Unify the namespace of all data types (ie., properties + filesets + -patternsets + filtersets). -
-
- -
-
  • -Add a user-defined message if a target will be skipped as a -result of the specified if/unless. -
-
- -
-
  • -Allow user datatypes to be defined via a <typedef> -similar to <taskdef>. -
-
- -
-

-IV. Things we probably agree on but need to discuss the details or -decide between several possible options. -

- -"Accepted" means the goal/idea is fine, not that a decision on a -particular implementation has been made. -

- - -  Accepted - - -

-
  • -The ability for GUI/IDE tools to integrate easily with object model -without reinventing the wheel and writing their own parser (which -Antidote was forced to do). -(Two suggested solutions were allowing GUI developers to extend -the object model (ie., GUITask extends Task) or to have Task as an -interface (ie., GUITask implements Task). This way, the GUI tasks could -be W3C DOM elements, have property vetoers/listeners, etc.) -
-
- -
-
  • -Support for numerous front-ends – from command-line over GUI to servlets. -(Corollary of the above?) -
-
- -
-
  • -Fully interpreted at run-time. (This almost requires some form of -abstraction/proxy that stands in place of tasks till it is -interpreted. This can be hash-tables/simple DOM-like model/whatever.) -
-
- -
-
  • -Provide utility classes to aid in building tasks (ie., like -<uptodate> functionality abstracted). -(Need to become more specific here.) -
-
- -
-
  • -Make ant-call a low-cost operation so it can do certain -optional/template-like operations. -(Corollary of "fully interpreted at run-time"?) -
-
- -
-
  • -Allow facilities to build projects from multiple sources (ie., CSS+XML, -XSLT+XML, Velocity+text or database, from inside jars or normal -build.xml files, etc.) -(Allow the project tree to be built dynamically.) -
-
- -
-
  • -Move to a system that allows docs to be generated – doc snippets -should be included with the tasks they document. -(Which DTD? Which tools for generation?) -
-
- -
-
  • -Allow tasks to be loaded from jars. (Use -either an XML file in TSK-INF/taskdefs.xml or a -manifest file.) -
-
- -
-
  • -Allow documentation to be stored in .tsk jars. -(Corollary of the above two points?) -
-
- -
-
  • -Separate tasks into .tsk jars somehow. -(Decide on categories. -Probably via function – ie., java tasks, file tasks, EJB tasks, etc.) -
-
- -
-
  • -Make having separate build-files easy (à la AntFarm) and importing different -projects a breeze. -
-
- -
-
  • -Provide support for user-defined task configurations – (ie., give -users the ability to specify a default value for attributes (eg., always -use debug="true" in <javac> unless -something else has been specified). -(Three ideas so far: a CSS-like language, -a <taskconfig> element, or -properties following a specific naming scheme.) -
-
- -
-
  • -Support more control over the properties that are going to be passed -to subprojects (modules). -
-
- -
-
  • -Task to prompt for user input. -(Does affect core, as we need a means to request input from the front-end.) -
-
- -
-
  • -Add CVS login feature. -(Requires handling of user input.) -
-
- -
-
  • -Easier installation process. GUI, maybe webstart from the homepage. -This includes asking the user whether he wants to use optional tasks -and downloads the required libs, automatic upgrades and so on. - -Self-extracting jar installer: -
    -    java -jar jakarta-ant-1.3-bin.jar -
    -Prompts for destination directory, extracts archive, fixes all -text files with <fixCRLF> task; on UNIX, -makes scripts executable. -Could also modify ant scripts with the location of ANT_HOME. -
-
- -
-
  • -Logo for Ant. -
-
- -
-
  • -Detach Ant from System.err/.in/.out. -(Beware of problems with spawned processes.) -
-
- -
-
  • -Build-files should be declarative in nature. -
-
- - -  Rejected - -
-
  • -It should be possible to modify details of the actual build (e.g. classpath, -compiler used, etc.) without the need to change the build specification. -(Do build.compiler and build.sysclasspath -cover everything, or do we need to add more stuff like this?) -
-
- -
-
  • -Better sub-project handling -(whatever that means in detail). -
-
- -
-

-V. Things we probably don't agree on. -

-Datatypes - -

- -  Accepted - - -

-
  • -Allow <include>/<exclude> -to work with multiple characteristerics of a file -(ie., include into fileset if file is readable, modified after 29th of Feb, -has a name that matches the pattern "**/*.java" and -the property foo.present is set. Something similar to: -
    -  <include>
    -    <item-filter type="name" value="**/*.java"/>
    -    <item-filter type="permission" value="r"/>
    -    <!-- could optionally be directory or some other system specific features -->
    -    <item-filter type="type" value="file"/>
    -    <item-filter type="modify-time"
    -                 operation="greater-than" 
    -                 value="29th Feb 2003"/>
    -  </include>
    -
    -
-
- -
-
  • -Provide support for non-hardwired (ie., loadable) low-level -components (mappers/itemset-filters/converters). Allow them to be -loaded in either globally or via a new classloader. -
-
- -
-
  • -Provide support for non-hardwired (ie., loadable) converters. -
    -Q: What is a converter? Is this an implementation detail? -
    -A: Not an implementation detail, but a way to extend the engine -to convert more datatypes. Currently, we have a fixed set that is -expanded on occasion (ie., includes primitive types + File). Instead -of spreading converting code throughout the tasks, it can be centralized -into one component and used by the engine. This becomes particularly -relevent if you build Ant-based testing systems and use Ant in certain -web-related areas. -
-
- -
-
  • -Set-arithmetic for fileset/patternset/*set. -
-
- -
-
  • -Inheritance of Ant properties/datatypes/context/etc. in project hierarchy. -
-
- - -  Rejected - - -
-
  • -Allow mappers to be genericized so that particular features can be modified -during mapping. Something similar to: -
    -  <fileset ...>
    -    <include name="*.sh"/>
    -    <mapper type="unix-permissions">
    -      <param name="user" value="ant"/>
    -      <param name="group" value="ant"/>
    -      <param name="mod" value="755"/>
    -    </mapper>
    -  </fileset>
    -
    -
-
- -
-
  • -Provide datatypes through property tag and remove need for separate -free-standing entities. That is:
    -
    -  <property name="foo">
    -    <fileset dir="blah">
    -      <include name="*/**.java" />
    -    </fileset>
    -  </property>
    -
    -
-
- -
-
  • -Make all datatypes interfaces to allow them to be customized in many -ways. -
-
- -
-
  • -Inheritance between Ant datatypes (ie., fileset A inherits from -fileset B (includes all entries in A). -
-
- -
-
  • -Homogenize notion of PATHs and filesets. -
-
- -Ant's goals - -

- -  Accepted - - -

-
  • -Provide support for CJAN. -
    -Q: In what way?
    -A: Probably by supplying a set of tasks that download versioned -binaries and their associated dependencies, caching the downloads -in a known place and updating binaries when required. -("When required" being indicated by a change in property values). -
-
- - -  Rejected (as a primary goal) - - -
-
  • -Make it possible to re-use the task engine for other things -(ie., Installshield-type app, Peter's cron-server, and other task-based -operations). -
-
- -Class-loading - -

- -  Rejected - - -

-
  • -Force resolution of classes on loading, to identify class-loader -issues early (at least in global classloader). -
-
- - -
-
  • -Ignore any classes contained in the damned ext dirs of a -JVM – possibly by launching with something like: -
    -    jar -Djava.ext.dir=foo -jar ant.jar -
    -(Accepted if optional.) -
-
- -

-Workspace/sub-build issues - -

- -  Accepted - - -

-
  • -Create the concept of workspace so that projects can be built in a -DAG and thus enable projects like Catalina/Tomcat to have an easy -build process. It also helps CJAN to a lesser degree and would -partially solve the jars-in-CVS thing. -
-
- -
-
  • -Allow a target to depend on a target in another build-file. -
-
- -

- -  Rejected - - -

-
  • -Project inheritance. (What's this?) -
-
- -
-
  • -Target inheritance. That is, the ability to include targets from other -project files, overriding them as necessary (so, cascading project -files). -
-
- -
-
  • -Add an attribute to <ant> to feed back the environment -(properties and taskdefs) from the child build to the parent. -
-
- -
-
  • -Allow a target to reference properties defined in another build-file. -
-
- -

-Documentation system - -

- -  Accepted (with no decision on which system to use) - - -

-
  • -Generate docs by Anakia/XSLT. -(Corollary of "move to a system that allows docs to be generated"?) -
-
- -

-Task API - -

- -  Accepted - - -

-
  • -Tasks provide some way to identify their attributes from the outside. - -Possible solutions include a special method like getProperties(), -an external describing file shipping with the task class or special -Javadoc comments parsed by a custom doclet. Whatever the method, it -should not impose any cost on run-time, as it is only used a small -percentage of the time (design-time). -
-
- -
-
  • -Provide "failonerror"-like functionality to all tasks. -(Provide this as an aspect?? Much like logging aspect or classloader aspect). -
-
- - -  Rejected - - -
-
  • -Tasks should have access to its own XML representation. -
- - -
-
  • -Task level if and unless attributes. -
-
- -
-
  • -Allow tasks to find out, whether another task has completed successfully. -
-
- -

-Logging - -

-
  • -Allow build-file writers to modify logging (verbosity, for example) -on a target-by-target or task-by-task basis. -
-
- -
-
  • -Make loggers configurable via build.xml. -
-
- -

-Multi-threading - -

- -  Accepted - - -

-
  • -Multi-threaded execution of tasks within the same target. -
-
- - -  Rejected - - -
-
  • -Multithreaded execution of targets. -
-
- -

-Procedural versus purely declarative - -

- -  Rejected - - -

-
  • -Simple flow-control (if-then-else, for) -
-
- -
-
  • -Targets should be like methods, including a return value. -
-
- -
-
  • -Build-files should be purely declarative. -
-
- -

-Properties - -

- -  Accepted - - -

-
  • -Ability to manage scoping of properties in general -(ie., target/project/workspace). -
-
- -

-Templates - -

- -  Rejected - - -

-
  • -It should be possible to provide general/(template?) build -specifications, and to declare, for a concrete item, that it should be -built according to such a general specification. -
-
- -

-XML issues - -

- -  Accepted - - -

-
  • -A built-in mechanism to include build-file fragments – something -that doesn't use SYSTEM entities at all and therefore is -XSchema-friendly, allows for property expansions, etc. -
-
- -
-
  • -Allow Ant to farm out attributes and elements that are not -in the Ant namespace to other components (ie., hand doc: elements -to the Documentation component or log: attributes to the Log -policy component, etc. -
-
- - -  Rejected - - -
-
  • -Let Ant ignore – but warn – if unknown XML elements or attributes -occur in a build-file. -
-
- -

-Core extensions - -

- -  Accepted - - -

-
  • -Allow sequence to be specified in "depends" attribute, -or enhance <antcall> to work with current list of executed -targets. -
-
- -
-
  • -Provide a way to define the order in which targets that a given target -depends upon get executed. (Same as above?) -
-
- -
-
  • -Support nesting tasks into other elements – not just as children of -target – as proposed by Thomas Christen in - -his mail message. -
-
- -
-
  • -Define task contexts that define various common aspects (logging, -failure handling, etc.), and assign them to tasks. -
-
- - -  Rejected - - -
-
  • -Allow named tasks to be defined by <script> elements. -
-
- -
-
  • -Specify an OnFail task or target that runs in case of a build -failure. -
-
- -
-
  • -Make if/unless attributes check for the value of a property, not -only its existance. -
-
- -
-
  • -Check for more than one condition in if/unless attributes. -
-
- -

-Organization - -

- -  Rejected - - -

-
  • -Separate CVSes and code hierarchies for: -
-
    -
  • task engine [org.apache.task.*]
  • -
  • project engine (ie., model of targets/projects/workspaces) + -support/utility classes [org.apache.ant.*]
  • -
  • core tasks (ie., tasks supported by Ant contributors) [org.apache.???]
  • -
-
- -

-Miscellaneous - -

- -  Accepted - - -

-
  • -Internationalization. -
-
- -

-

-VI. Things that were submitted late -

- -

- -  Rejected - - -

-
  • -Integration of the <depend> and <javac> -tasks. -
-
- -
-
  • -Recursive property resolution (ie., resolving ${dist.${name}.dir}) -
-
- - - - diff --git a/docs/ant2/requested-features.txt b/docs/ant2/requested-features.txt deleted file mode 100644 index ba8d855072..0000000000 --- a/docs/ant2/requested-features.txt +++ /dev/null @@ -1,782 +0,0 @@ - -Status: -======= - -The committers have cast votes on all items (except those that came in -too late) and the results are listed below - the next step will be a -design phase. - -This list of items will be summarized into an Ant2 specification soon. - -I. Things that don't affect the core but are requests for new tasks or -enhancements of existing tasks. -====================================================================== - -[ACCEPTED] for a task doesn't mean that task will be core tasks (or -even be supplied by a voter), just that having them (as optional -tasks) would be acceptable. - -* Add a new datatype filterset to group token-filters - - [ACCEPTED] - -* make usage of particular filters/filtersets explicit in copy tasks - - [ACCEPTED] - -* make facade tasks for things like javac (JikesImpl, ModernImpl etc) - - One candidate is jar with implementations for fastjar - for example. - - [ACCEPTED] - -* unify multiple similar tasks to use similar forms (ie all the javacc - type tools) - - [ACCEPTED] - -* Obfuscating task - - [ACCEPTED] - -* Add an task that will find build files according to a fileset - and invokes a common target in them. - - ? - - [will need more discussion because of votes by Peter Donald and - Stefan Bodewig] - - [finally ACCEPTED] - -* Add a JavaApply task that executes a given class with files from a - fileset as arguments - similar to . - - [will need more discussion because of votes by Peter Donald and - Stefan Bodewig] - - [finally ACCEPTED] - -* Include some more sophisticated loggers with the Ant distribution - - especially for sending emails. Make the existing one more flexible - (stylesheet used by XmlLogger). - - Could be part of the same module tasks would be developed in? - - [will need more discussion because of vote by Conor MacNeill] - - [finally ACCEPTED] - -* make the default logger's output clear, informative, and terse. - - Actually, this is a little bit abstract, but doesn't apply to the - core either. - - [will need more discussion because of vote by Conor MacNeill] - - [REJECTED - vetoes by Conot MacNeill and Stefan Bodewig] - -* Better docs. - - More examples. Tutorials, beginner documents, reference sheets for - tasks, printable version. - - [ACCEPTED] - -* RPM task. - - [ACCEPTED] - -* add an attribute to to read in an entire file as the - value of a property. - - [will need more discussion because of vote by Peter Donald] - - [REJECTED - veto by Peter Donald] - -* Task for splitting files (head/tail/split like functionality). - - [ACCEPTED] - -* Task to create XMI from Java. - - [ACCEPTED] - -* socksified networking tasks, SSH tasks. - - [Peter Donald expressed some legal concerns that might be overcome, - depending on the implementation] - -* a reachable task that works much like available for network URLs. - - [ACCEPTED] - -* make PATH handling consistent. Every task that has a PATH attribute - must also accept references to PATHs. - - [will need more discussion because of vote by Stefan Bodewig] - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister and Stefan Bodewig] - -* Task to extract classes from a JAR file that a given class depends - on. - - Based on or IBM's JAX for example. - - [ACCEPTED] - -* Unify and into a more general - task, support AND/OR of several tests here. - - [will need more discussion because of vote by Peter Donald] - -* jsp-compilation task - - Sounds like a candidate for a facade task. - - [ACCEPTED] - -* URL-spider task that checks links for missing content or server errors - - [ACCEPTED] - -II. Abstract goals that need to be abstract until we get into design -decisions. -====================================================================== - -During discussion it became obvious, that some things from this list -are goals for Ant and some should be guidelines for developers, -therefore there are two flavors, [ACCEPTED] and [ACCEPTED AS GUIDELINE]. - -* Provide a clear mission statement for Ant. - - [ACCEPTED] - -* Main goals: Simplicity, Understandability, Extensibility - - [ACCEPTED] - -* remove magic properties if at all humanly possible - - [ACCEPTED] - -* remove as much dependency on native scripts as possible. - - [ACCEPTED] - -* clean object model (ie Project/Target/Task) - - [ACCEPTED] - -* good event model to integrate well with IDE/GUI/whatever - - [ACCEPTED] - -* use a consistent naming scheme for attributes across all tasks - - [ACCEPTED] - -* keep build file syntax as compatible to Ant1 as possible - - i.e. don't break something just because we can. - - [ACCEPTED] - -* keep the interface for Tasks as similar to the one of Ant1 as - possible - i.e. don't break something just because we can. - - [ACCEPTED] - -* Ant should be cancelable - - [ACCEPTED] - -* no commit of new features without documentation - - [ACCEPTED AS GUIDELINE] - -* no commit of new features without testcases - - [ACCEPTED AS GUIDELINE] - -III. Things that are simple, easy to implement, where we expect the -committers to agree -====================================================================== - -* namespace support so different concerns can occupy different namespaces - from ant (thus SAX2/JAXP1.1) - - [ACCEPTED] - -* Java2 - - [ACCEPTED] - -* remove all deprecated methods, attributes, tasks - - [ACCEPTED] - -* allow all datatypes to be defined anywhere - i.e. as children of - project as well as of target. - - [ACCEPTED] - -* make properties fully dynamic, i.e. allow their value to be reassigned - - [will need more discussion because of vote by Glenn McAllister and - Conor MacNeill] - - [finally ACCEPTED] - -* unify the namespace of all data types (ie properties + filesets + - patternset + filtersets). - - [ACCEPTED] - -* add a user defined message if a target will be skipped because the - if/unless attribute says so. - - [ACCEPTED] - -* allow user-datatypes to be defined via a similar to . - - [ACCEPTED] - -IV. Things we probably agree upon but need to discuss the details or -decide between several possible options. -====================================================================== - -[ACCEPTED] means, the goal/idea is fine, not that a decission on a -particular implementation has been made. - -* The ability for GUI/IDE tools to integrate easily with object model - without reinventing the wheel and writing their own parser (which - antidote was forced to do). - - Two suggested solutions were allowing GUI developers to extend - object model (ie GUITask extends Task) or to have Task as interface - (ie GUITask implements Task). This way the GUI tasks could be W3C - DOM Elements, have property vetoers/listeners etc. - - [ACCEPTED] - -* support for numerous frontends - from command line over GUI to servlets - - corollary of the above? - - [ACCEPTED] - -* Fully interpreted at runtime. This almost requires some form of - abstraction/proxy that stands in place of tasks till it is - interpreted. This can be hashtables/simple dom-like model/whatever - - [ACCEPTED] - -* provide utility classes to aid in building tasks. ie like up-to-date - functionality abstracted - - Need to become more specific here. - - [ACCEPTED] - -* make ant-call a low cost operations so it can certain - optional/template-like operations - - corollary of "fully interpreted at runtime"? - - [ACCEPTED] - -* allow facilities to build projects from multiple sources. ie CSS+xml - or XSLT+ XML or Velocity+text or database or from inside jars or normal - build.xmls etc. - - allow the project tree to be built dynamically. - - [ACCEPTED] - -* move to a system that allows docs to be generated - doc snippets - should be included with the tasks they document. - - Which DTD? Which tools for generation? - - [ACCEPTED] - -* allow tasks to be loaded from jars. tasks should be indicated by - either xml file in TSK-INF/taskdefs.xml or manifest file. - - [ACCEPTED] - -* allow documentation to be stored in .tsk jars - - corollary of the two points above? - - [ACCEPTED] - -* better scripting/notification support so the hooks are available to - send notifications at certain times. - - Which hooks and where? - - [will need more discussion because of vote by Peter Donald and - Simeon Fitch] - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Simeon Fitch] - -* separate tasks into .tsk jars somehow. (Probably via function - ie - java tasks, file tasks, ejb tasks). - - Decide on categories. - - [will need more discussion because of vote by Conor MacNeill] - - [finally ACCEPTED] - -* make separate build files easy (ala AntFarm) and importing different - projects a breeze - - [ACCEPTED] - -* provide support for user defined task configurations - i.e. give - users the ability to specify a default value for attributes (always - use debug="true" in unless something else has been - specified). - - Three ideas so far: a CSS like language, a element, - properties following a specific naming scheme. - - [ACCEPTED] - -* support more control over the properties that are going to be passed - to subprojects (modules) - - [ACCEPTED] - -* Ask for a new CVS module for Ant tasks. - - We need to define rules for this to work - maybe the rules proposed - for the commons project could give us a start. - - [will need more discussion because of vote by Conor MacNeill] - - [REJECTED - vetoes by Conor MacNeill and Glenn McAllister] - -* It should be possible to modify details of the actual build (e.g. classpath, - used compiler) without the need to change the build specification. - - Do build.compiler and build.sysclasspath cover everything or do we - need to add more stuff like this? - - [will need more discussion because of vote by Conor MacNeill] - - [REJECTED - veto by Conor MacNeill] - -* Task to prompt for user input. - - Does affect core as we need a means to request input from the Frontend. - - [ACCEPTED] - -* Add cvs login feature. - - Requires handling of user input. - - [ACCEPTED] - -* Easier installation process. GUI - maybe webstart from the homepage. - - This includes asking the user whether he wants to use optional tasks - and downloads the required libs. Automatic upgrades and so on. - - Self-extracting jar installer: java -jar jakarta-ant-1.3-bin.jar. - Prompts for destination directory, extracts archive, fixes all - text files with fixCRLF task; on UNIX, makes scripts executable. - Could also modify ant scripts with the location of ANT_HOME. - - [ACCEPTED] - -* Logo for Ant. - - [ACCEPTED] - -* detach Ant from System.err/.in/.out. - - Beware of problems with spawned processes. - - [ACCEPTED] - -* better subproject handling - - Whatever that means in detail. - - [will need more discussion because of vote by Conor MacNeill] - - [REJECTED - vetoes by Conor MacNeill and Stefan Bodewig] - -* build files should be declarative in nature - - [ACCEPTED] - -V. Things we probably don't agree on. -====================================================================== - -[DISC] Datatypes ----------------- - - * Allow mappers to be genericised so that particular features can be modified - during mapping. Something similar to - - - - - - - - - - - [REJECTED - vetoes by Stefan Bodewig and Conor MacNeill, not enough - positive votes anyway.] - - * Allow include/exclude tow work with multiple characteristerics of a file. - ie include into fileset if file is readable, modified after 29th of Feb, - has a name that matches patter "**/*.java" and the property "foo.present" - is set. Something similar to - - - - - - - - - - - [ACCEPTED] - -* provide datatypes through property tag and remove need for separate free - standing entities. ie - - - - - - - [REJECTED - only one +1 vote] - -* provide support for non-hardwired (ie loadable) low-level - components (mappers/itemset-filters/converters). Allow them to be - loaded in either global or a new classloader. - - [ACCEPTED] - -* provide support for non-hardwired (ie loadable) converters. - - Q: What is a converter? Is this an implementation detail? - A: Not an implementation detail but a way to extend the engine - to convert more data types. Currently we have fixed set that is - expanded on occasion (ie includes primitive types + File). Instead - of spreading converting code through out tasks it can be centralized - into one component and used by engine. This becomes particularly - relevent if you build ant based testing systems and use ant in certain - web-related areas. - - [ACCEPTED] - -* Make all datatypes interfaces to allow them to be customized in many - ways. - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Stefan Bodewig] - -* Set arithmetic for fileset/patternset/*set - - [ACCEPTED] - -* inheritance of ant properties/datatypes/context etc in project hierarchy - - [ACCEPTED] - -* inheritance of between ant datatypes. ie fileset A inherits from fileset B (includes - all entries in A). - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Stefan Bodewig] - -* Homogenize notion of PATHs and filesets. - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Stefan Bodewig] - -[DISC] Ant's goals ------------------- - -* make it possible to reuse taskengine for other things. ie - Installshield type app, Peter's cron-server and other task based - operations. - - [REJECTED as a primary goal - only two +1 votes] - -* provide support for CJAN - - Q: In what way? - A: Probably by supplying a set of tasks that download versioned - binaries and their associated dependencies, caching the downloads - in a known place and updating binaries when required. ("When required" - being indicated by a change in property values). - - [REJECTED as part of Ant's core - veto by Conor MacNeill, no single +1] - -[DISC] class loading --------------------- - - * force resolution of classes on loading to identify classloader - issues early. (At least in global classloader). - - [REJECTED - only one +1 vote] - -* Ignore any classes contained in the damned ext dirs of a JVM - possibly by launching - with something like jar -Djava.ext.dir=foo -jar ant.jar - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister and Stefan - Bodewig, ACCEPTED if optional] - - -[DISC] workspace/subbuild issues --------------------------------- - -* create the concept of workspace so that projects can be built in a - DAG and thus enable projects like catalina/tomcat to have an easy - build process. It also helps CJAN to a lesser degree and would - partially solve the JARs in CVS thing. - - [ACCEPTED] - -* Project inheritance - - What's this? - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Stefan Bodewig] - -* Target inheritance. ie The ability to include targets from other - project files overidining them as necessary (so cascading project - files). - - [REJECTED - vetoes by Conor MacNeill, Peter Donald and Stefan Bodewig] - -* Add an attribute to to feed back the environment (properties and - taskdefs) from the child build to the parent. - - [REJECTED - vetoes by Conor MacNeill, Peter Donald, Simeon Fitch and - Stefan Bodewig] - -* Allow a target to depend on a target which is in another buildfile. - - [ACCEPTED] - -* Allow a target to reference properties defined in another buildfile. - - [REJECTED - only one +1 vote] - -[DISC] documentation system ---------------------------- - -* generate docs by anakia/XSLT - - Corollary of "move to a system that allows docs to be generated"? - - [ACCEPTED - with no decision on which system to use] - -[DISC] Task API ---------------- - -* tasks provide some way to identify their attributes from the - outside. - - Possible solutions include a special method like getProperties(), an - external describing file shipping with the task class or special - javadoc comments parsed by a custom doclet. Whatever the method it - should not impose any cost on runtime as it is only used a small - proportion of the time (design-time). - - [ACCEPTED] - -* tasks should have access to its own XML representation. - - [REJECTED - vetoes by Christoph Wilhelms, Conor MacNeill and Simeon Fitch] - -* Task level if and unless attributes. - - [REJECTED - no single +1 vote] - -* Allow tasks to find out, whether another task has completed successfully. - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister, Peter Donald - and Stefan Bodewig] - -* provide failonerror like functionality to all tasks. (Provide this as an aspect?? - much like logging aspect or classloader aspect). - - [ACCEPTED] - -[DISC] logging --------------- - -* allow build file writers to modify logging (verbosity for example) - on a target by target or task by task basis. - - [ACCEPTED] - -* Make loggers configurable via build.xml. - - [ACCEPTED] - -[DISC] multithrading --------------------- - -* Multithreaded execution of tasks within the same target. - - [ACCEPTED] - -* Multithreaded execution of targets. - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister and Stefan Bodewig] - -[DISC] procedural versus purely declarative -------------------------------------------- - -* Simple flow control (if-then-else, for) - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister, Peter Donald - and Stefan Bodewig] - -* targets should be like methods including a return value - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister, Peter Donald, - Simeon Fitch and Stefan Bodewig] - -* build files should be purely declarative - - [REJECTED - veto by Stefan Bodewig] - -[DISC] Properties ------------------ - -* Ability to manage scopping of properties in general (ie target/project/workspace). - - [ACCEPTED] - -[DISC] Templates ----------------- - -* it should be possible to provide general /(template?)/ build - specifications, and to declare for a concrete item that it should be - built according to such a general specification. - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister, Peter Donald - and Stefan Bodewig] - -[DISC] XML issues ------------------ - -* a built-in mechanism to include build-file fragments - something - that doesn't use SYSTEM entities at all and therefore is XSchema - friendly, allows for property expansions ... - - [ACCEPTED] - -* Let Ant ignore - but warn - if unknown XML elements or attributes - occur in a build file. - - [REJECTED - vetoes by Conor MacNeill, Glenn McAllister, Peter Donald - and Stefan Bodewig] - -* Allow ant to farm out attributes and elements that are NOT in the ant - namespace to other components. ie hand doc: elements to the Documentation - component or log: attributes to Log policy component etc - - [ACCEPTED] - -[DISC] core extensions ----------------------- - -* Allow named tasks to be defined by -

- -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache AntUnit

-

- - Apache AntUnit™ -

-

Apache AntUnit is an Antlib that provides a test framework - for Apache Ant tasks and types.

-

- - Apache AntUnit 1.1 -

-

September 26, 2008 - Apache AntUnit 1.1 Released

-

Apache AntUnit 1.1 is now available for download as binary - or source - release.

-

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

-

- - AntUnit 1.1 Beta 1 -

-

September 3, 2008 - Apache AntUnit 1.1 Beta 1 Available

-

- - AntUnit 1.0 -

-

January 8, 2007 - Apache AntUnit 1.0 Available

-

Apache AntUnit 1.0 is now available for download as binary - or source - release.

-

- - Idea -

-

Initially all tests for Apache Ant tasks were written as individual - JUnit test cases. Pretty - soon it was clear that most tests needed to perform common tasks - like reading a build file, initializing a project instance with - it and executing a target. At this point BuildFileTest - was invented, a base class for almost all task test cases.

-

BuildFileTest works fine and in fact has been picked up by the Ant-Contrib Project - and others as well.

-

Over time a new pattern evolved, more and more tests only - executed a target and didn't check any effects. Instead that - target contained the assertions as a <fail> - task. This is an example taken from the build file for the - ANTLR task (using Ant 1.7 features):

-
-  <target name="test3" depends="setup">
-    <antlr target="antlr.g" outputdirectory="${tmp.dir}"/>
-    <fail>
-      <condition>
-        <!-- to prove each of these files exists;
-             ANTLR >= 2.7.6 leaves behind new (.smap) files as well. -->
-        <resourcecount when="ne" count="5">
-          <fileset dir="${tmp.dir}">
-            <include name="CalcParserTokenTypes.txt" />
-            <include name="CalcParserTokenTypes.java" />
-            <include name="CalcLexer.java" />
-            <include name="CalcParser.java" />
-            <include name="CalcTreeWalker.java" />
-          </fileset>
-        </resourcecount>
-      </condition>
-    </fail>
-  </target>
-
-

where the corresponding JUnit testcase has been reduced - to

-
-...
-public class ANTLRTest extends BuildFileTest {
-
-    private final static String TASKDEFS_DIR = "src/etc/testcases/taskdefs/optional/antlr/";
-
-    public ANTLRTest(String name) {
-        super(name);
-    }
-
-    public void setUp() {
-        configureProject(TASKDEFS_DIR + "antlr.xml");
-    }
-
-    public void tearDown() {
-        executeTarget("cleanup");
-    }
-
-    public void test3() {
-        executeTarget("test3");
-    }
-...
-}
-
-

This approach has a couple of advantages, one of them is that - it is very easy to translate an example build file from a bug - report into a test case. If you ask a user for a testcase for a - given bug in Ant, he now doesn't need to understand JUnit or how - to fit a test into Ant's existing tests any more.

-

AntUnit takes this approach to testing even further, it - removes JUnit completely and it comes with a set of predefined - <assert> tasks in order to reuse common kind - of checks.

-

It turns out that AntUnit lends itself as a solution to other - problems as well. The assertions are an easy way to validate a - setup before even starting the build process, for example. - AntUnit could also be used for functional and integration tests - outside of the scope of Ant tasks (assert contents of databases - after running an application, assert contents of HTTP responses - ...). This is an area that will need more research.

-

- - Concepts -

-

- - antunit Task -

-

The <antunit> task drives the tests much like - <junit> does for JUnit tests.

-

When called on a build file, the task will start a new Ant - project for that build file and scan for targets with names - that start with "test". For each such target it then will

-
    -
  1. Execute the target named setUp, if there is one.
  2. -
  3. Execute the target itself - if this target depends on - other targets the normal Ant rules apply and the dependent - targets are executed first.
  4. -
  5. Execute the target names tearDown, if there is one.
  6. -
-

- - Assertions -

-

The base task is <assertTrue>. It - accepts a single nested condition and throws a subclass of - BuildException named AssertionFailedException if that - condition evaluates to false.

-

This task could have been implemented using - <macrodef> and <fail>, - but in fact it is a "real" task so that it is possible to - throw a subclass of BuildException. The - <antunit> task catches this exception and - marks the target as failed, any other type of Exception - (including other BuildException) are test errors.

-

Together with <assertTrue> there are - many predefined assertions for common conditions, most of - these are only macros.

-

- - Other Tasks -

-

The <logcapturer> captures all messages - that pass Ant's logging system and provides them via a - reference inside of the project. If you want to assert - certain log messages, you need to start this task (prior to - your target under test) and use the - <assertLogContains> assertion.

-

<expectFailure> is a task container that - catches any BuildException thrown by tasks nested into it. If - no exception has been thrown it will cause a test failure (by - throwing an AssertionFailedException).

-

- - AntUnitListener -

-

Part of the library is the AntUnitListener - interface that can be used to record test results. The - <antunit> task accepts arbitrary many listeners and - relays test results to them.

-

Currently two implementations - - <plainlistener> and xmllistener - modelled after the "plain" and "xml" - JUnit listeners - are bundled with the library.

-

- - Examples -

-

This is a way to test that <touch> - actually creates a file if it doesn't exist:

-
-<project xmlns:au="antlib:org.apache.ant.antunit">
-  <!-- is called prior to the test -->
-  <target name="setUp">
-    <property name="foo" value="foo"/>
-  </target>
-
-  <!-- is called after the test, even if that caused an error -->
-  <target name="tearDown">
-    <delete file="${foo}" quiet="true"/>
-  </target>
-
-  <!-- the actual test case -->
-  <target name="testTouchCreatesFile">
-    <au:assertFileDoesntExist file="${foo}"/>
-    <touch file="${foo}"/>
-    <au:assertFileExists file="${foo}"/>
-  </target>
-</project>
-
-

When running a task like

-
-    <au:antunit>
-      <fileset dir="." includes="touch.xml"/>
-      <au:plainlistener/>
-    </au:antunit>
-
-

from a buildfile of its own you'll get a result that looks like

-
-[au:antunit] Build File: /tmp/touch.xml
-[au:antunit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.249 sec
-[au:antunit] Target: testTouchCreatesFile took 0.183 sec
-
-BUILD SUCCESSFUL
-Total time: 1 second
-
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/bindownload.cgi b/docs/antlibs/bindownload.cgi deleted file mode 100755 index 4324f769f0..0000000000 --- a/docs/antlibs/bindownload.cgi +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Wrapper script around mirrors.cgi script -# (we must change to that directory in order for python to pick up the -# python includes correctly) -cd /www/www.apache.org/dyn/mirrors -/www/www.apache.org/dyn/mirrors/mirrors.cgi $* diff --git a/docs/antlibs/bindownload.html b/docs/antlibs/bindownload.html deleted file mode 100644 index 3c1191f2d1..0000000000 --- a/docs/antlibs/bindownload.html +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - - Apache Ant - Binary Distributions - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Binary Distributions

-

- - Downloading Apache Antlibs -

-

Use the links below to download a binary distribution of Apache Antlibs from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

-

Antlibs are distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

-

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

-

- - Mirror -

-

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

-
-Other mirrors: - -
-

- - Current Antlib Releases -

-
-
Note
-
Very recent releases may not be available on all -mirrors for a few days.
-
-
-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- -

- - Old Antlib Releases -

-

Older releases of Ant Libraries can be found here. -We highly recommend to not use those releases but upgrade to the latest releases.

-

- - Verify Releases -

-

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

-

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

-

-% pgpk -a KEYS
-% pgpv apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-dotnet-1.0-bin.tar.gz.asc -

-

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1 or -md5sum/sha1sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

-

We highly recommend to verify the PGP signature, though.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/charter.html b/docs/antlibs/charter.html deleted file mode 100644 index 1b3397c62d..0000000000 --- a/docs/antlibs/charter.html +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - - Apache Ant - Apache Ant Libraries - Charter - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Ant Libraries - Charter

-

- - Charter -

-

Below is the text of the proposal that has been accepted by - the Apache Ant PMC. Further amendments are expected.

-
-Proposal to Create a Ant-Libraries Sub-Project in Apache Ant
-============================================================
-
-(0) rationale
-
-Ant itself has accumulated lots and lots of tasks over time. So many,
-that Ant developers have become reluctant to adding new
-task. Furthermore any new task in Ant would be tied to Ant's release
-schedule which is too slow for a thriving, fresh piece of code.
-
-The proposal allows Ant tasks and types to be developed under the Ant
-umbrella by Ant developers but have much shorter release cycles than
-Ant itself. In addition it would new committers who would have commit
-access to a single Ant library instead of the whole of Ant.
-
-(1) scope of the subproject
-
-The subproject shall create and maintain libraries of Ant tasks and
-types. Each library will be managed in the same manner as the Ant
-project itself, the PMC is ultimately responsible for it.
-
-Common Java libraries that only happen to provide Ant tasks as well
-are out of scope of the subproject. Providing the tasks or types has
-to be the primary goal of the library.
-
-To further this goal, the subproject shall also host a workplace for
-Ant committers.
-
-(1.5) interaction with other subprojects
-
-(1.5.1) the sandbox
-
-The subproject will host a SVN repository available to all Ant
-committers as a workplace for new Ant libraries.
-
-Before a library can have a public release it has to get promoted to
-the "proper" Ant libraries subproject. This also means it has to match
-the requirements of an Ant library as defined in section (4) under
-Guidelines below.
-
-The status of any library developed in the sandbox shall be reviewed
-after six months and the library gets either promoted or removed - or
-it has to be re-evaluated after another six months.
-
-(2) identify the initial source from which the subproject is to be populated
-
-Some Ant committers have developed tasks or libraries inside of the
-Ant CVS module under the proposal/sandbox directory. Committers are
-free to move them over to the new sandbox subproject or remove them
-completely.
-
-Libraries expected to move to the sandbox subproject initially are
-
-* the .NET tasks under proposal/sandbox/dotnet
-
-* the Subversion support tasks under proposal/sandbox/svn
-
-(3) identify the initial Apache resources to be created
-
-(3.1) mailing list(s)
-
-None. At least at the beginning we don't expect too much traffic and
-the existing mailing lists of the Ant projects will be used.
-
-(3.2) SVN repositories
-
-Create <http://svn.apache.org/repos/asf/ant/>
-
-Expected are sub-directories
-
-antlibs/
-   |
-   -----> proper/
-   |        |
-   |        -----> library1
-   |        |        |
-   |        |        -----------> trunk
-   |        |        -----------> tags
-   |        |        -----------> branches
-   |        -----> library2
-   |                 |
-   |                 -----------> trunk
-   |                 -----------> tags
-   |                 -----------> branches
-   |
-   -----> sandbox/
-            |
-            -----> library1
-            |        |
-            |        -----------> trunk
-            |        -----------> tags
-            |        -----------> branches
-            -----> library2
-                     |
-                     -----------> trunk
-                     -----------> tags
-                     -----------> branches
-
-And potentially collections of all-trunks using svn:external as shown
-by the current Jakarta Commons structure.
-
-(3.3) Bugzilla
-
-New components under product "Ant" for each new library.
-
-(4) identify the initial set of committers
-
-All current Ant PMC members plus the active Ant committers who are not
-PMC members yet.
-
-Guidelines
-----------
-
-Note:
-
-* is, has, will, shall, must - required.
-
-* may, should, are encouraged - optional but recommended.
-
-(1) The primary unit of reuse and release is the Ant library.
-
-(2) The library is not a framework or a general library but a
-    collection of Ant tasks and types.
-
-(3) Each library must have a clearly defined purpose, scope, and API.
-
-(4) Each library is treated as a product in its own right.
-
-(4.1) Each library has its own status file, release schedule, version
-      number, QA tests, documentation, bug category, and individual
-      JAR.
-
-(4.2) Each library must clearly specify any external dependencies,
-      including any other libraries, and the earliest JDK version
-      required.
-
-(4.3) Each library must maintain a list of its active committers in
-      its status file.
-
-(4.4) The libraries should use a standard scheme for versioning, QA
-      tests, and directory layouts, and a common format for
-      documentation and Ant build files.
-
-(4.4) Each library will be hosted on its own page on the subproject
-      Web site, and will also be indexed in a master directory.
-
-(4.5) Volunteers become committers to this subproject in the same way
-      they are entered to any Apache subproject.
-
-      Once the required infrastructure is in place, volunteers may
-      become committers for a single Ant library only.
-
-(4.6) New libraries may be proposed to the Ant dev mailing list. To be
-      accepted, a library proposal must receive majority approval of
-      the Ant PMC. Proposals are to identify the rationale for the
-      library, its scope, the initial source from which the library is
-      to be created, and the initial set of committers.
-
-(4.7) As stated in the Ant guidelines, an action requiring majority
-      approval must receive at least 3 binding +1 votes and more +1
-      votes than -1 votes.
-
-(4.8) Each Ant library needs at least three committers, at least one
-      of them has to be an Ant PMC member.
-      
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/compress/index.html b/docs/antlibs/compress/index.html deleted file mode 100644 index e3761f6ba0..0000000000 --- a/docs/antlibs/compress/index.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - Apache Ant - Apache Compress Antlib - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Compress Antlib

-

- - Apache Compress Antlib™ -

-

This Antlib contains tasks and resources that provide - compression/uncompression and archival/unarchival capabilities - based on Apache - Commons Compress. Using Apache Commons Compress 1.1 - this.

-

- - Compress Ant Library 1.0 -

-

August 30, 2010 - Apache Compress Ant Library 1.0 - Available

-

Apache Compress Ant Library 1.0 is now available for - download as binary - or source - release.

-

- - Introduction -

-

Using Apache Commons Compress this Antlib supports gzip and - bzip2 compression and ar, cpio, tar and zip archives.

-

The current code base is based on the 1.1 release of Commons - Compress but it is expected that this Antlib follows Commons - Compress' development and will add new compression or - archiving formats as they are provided by the underlying - library.

-

The gzip and bzip2 tasks and resources are similar to the - corresponding tasks and types in Ant's core and mainly just - use a different code base for the implementation of the - formats.

-

The same is mostly true for the zip and tar resources as well - as the unzip/tar task with the major difference being that - unzip and zipfileset can work with non-File resources.

-

The zip and tar tasks are completely new implementations and - offer a superset of the functionality of the core tasks.

-

Tasks and resources for the ar and cpio formats mirror those - available for tar and zip.

-

All tasks and types can be mixed with the core tasks and - types; it is possible to use the core zip task to create an - archive based on an cpiofileset for example.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/dotnet/index.html b/docs/antlibs/dotnet/index.html deleted file mode 100644 index 84acd0e8f9..0000000000 --- a/docs/antlibs/dotnet/index.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - Apache Ant - Apache .NET Ant Library - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache .NET Ant Library

-

- - Apache .NET Ant Library™ -

-

The Apache .NET Antlib provides tasks that support - development of .NET software with Apache Ant.

-

- - Apache .NET Ant Library 1.1 -

-

February 4, 2011 - Apache .NET Ant Library 1.1 - Available

-

Apache .NET Ant Library 1.1 is now available for - download as binary - or source - release.

-

This release fixes a few bugs and adds new tasks for the - F# compiler and the tallow tool of the WiX toolkit.

-

- - Idea -

-

This library doesn't strive to replace NAnt or MSBuild, its - main purpose is to help those of us who work on projects - crossing platform boundaries. With this library you can use Ant - to build and test the Java as well as the .NET parts of your - project.

-

This library provides a special version of the - <exec> task tailored to run .NET executables. - On Windows it will assume the Microsoft framework is around and - run the executable directly, while it will invoke Mono on any - other platform. Of course you can override these - assumptions.

-

Based on this a few tasks to run well known .NET utilities - from within Ant are provided, namely tasks to run NUnit, NAnt, MSBuild - and the Wix toolkit.

-

The initial .NET tasks of Ant (compiler tasks for C#, J# and VB.NET - for example) have also been moved to this Antlib and will see further - development here.

-

- - Tasks -

-

- - dotnetexec -

-

Runs a .NET executable.

-

- - nunit -

-

Runs NUnit tests.

-

- - nant -

-

Invokes NAnt, either on an external file or a build file - snippet contained inside your Ant build file.

-

- - msbuild -

-

Invokes MSBuild, either on an external file or a build file - snippet contained inside your Ant build file.

-

- - wix -

-

Invokes the candle and light executables of the WiX toolkit - in order to create MSI installers from within Ant.

-

- - Examples -

-

- - nant -

-
-<project xmlns:dn="antlib:org.apache.ant.dotnet">
-  <dn:nant>
-    <build>
-      <echo message="Hello world"/>
-    </build>
-  </dn:nant>
-</project>
-
-

runs NAnt on the embedded <echo> - task, output looks like

-
-Buildfile: test.xml
-[dn:nant] NAnt 0.85 (Build 0.85.1932.0; rc3; 16.04.2005)
-[dn:nant] Copyright (C) 2001-2005 Gerry Shaw
-[dn:nant] http://nant.sourceforge.net
-[dn:nant] 
-[dn:nant] Buildfile: file:///c:/DOKUME~1/STEFAN~1.BOD/LOKALE~1/Temp/build1058451555.xml
-[dn:nant] Target framework: Microsoft .NET Framework 1.1
-[dn:nant] 
-[dn:nant]      [echo] Hello world
-[dn:nant] 
-[dn:nant] BUILD SUCCEEDED
-[dn:nant] 
-[dn:nant] Total time: 0.2 seconds.
-
-BUILD SUCCESSFUL
-Total time: 2 seconds
-

- - msbuild -

-
-<project xmlns:dn="antlib:org.apache.ant.dotnet">
-  <dn:msbuild>
-    <build>
-      <Message Text="Hello world"
-        xmlns="http://schemas.microsoft.com/developer/msbuild/2003"/>
-    </build>
-  </dn:msbuild>
-</project>
-

runs MSBuild on the embedded <Message> - task, output looks like

-
-Buildfile: test.xml
-[dn:msbuild] Microsoft (R) Build Engine Version 2.0.50727.42
-[dn:msbuild] [Microsoft .NET Framework, Version 2.0.50727.42]
-[dn:msbuild] Copyright (C) Microsoft Corporation 2005. All rights reserved.
-
-[dn:msbuild] Build started 15.12.2005 20:21:56.
-[dn:msbuild] __________________________________________________
-[dn:msbuild] Project "c:\Dokumente und Einstellungen\stefan.bodewig\Lokale Einstellungen\Temp\build1543310185.xml" (default targets):
-
-[dn:msbuild] Target generated-by-ant:
-[dn:msbuild]     Hello world
-
-[dn:msbuild] Build succeeded.
-[dn:msbuild]     0 Warning(s)
-[dn:msbuild]     0 Error(s)
-
-[dn:msbuild] Time Elapsed 00:00:00.10
-
-BUILD SUCCESSFUL
-Total time: 0 seconds
-
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/index.html b/docs/antlibs/index.html deleted file mode 100644 index 54839cf226..0000000000 --- a/docs/antlibs/index.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - Apache Ant - The Apache Ant™ Libraries Subproject - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

The Apache Ant™ Libraries Subproject

-

- - The Apache Ant Libraries Subproject -

-

Apache Ant Libraries - or Antlibs for short

-

With Apache Ant 1.6.0 and the ant libraries concept creating - libraries of Ant tasks that are easy to get dropped into an - existing Ant installation has become far easier.

-

The Ant Libraries subproject was started as a place to - develop small libraries of tasks that can get released - independent of Ant's release schedule - which is necessary for - nascent Ant tasks since Ant's own release schedule has become - rather slow over time.

-

The subproject also offers a sandbox as playground for Ant - committers to try new ideas for tasks.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/proper.html b/docs/antlibs/proper.html deleted file mode 100644 index 5e699ad405..0000000000 --- a/docs/antlibs/proper.html +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - - - - Apache Ant - Apache Ant™ Libraries - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Ant™ Libraries

-

- - Apache Ant Libraries -

- -

- - Apache AntUnit™ - Unit Test Framework for Ant Tasks -

-

Apache AntUnit borrows ideas from JUnit 3.x and the <junit> - task. It provides a task that runs build files as unit tests - as well as a number of assertion tasks to support the - idea.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Homepage: - - http://ant.apache.org/antlibs/antunit/ -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/antlibs/antunit/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2005-04-15 -
- Promoted from sandbox: - - 2005-11-22 -
- Latest Release: - - 1.1 released on September 26, 2008 -
- -

- - Apache Compress Antlib™ -

-

The Apache Compress Antlib offers tasks and types for additional - archive formats like CPIO and AR supported - by Apache - Commons Compress.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Homepage: - - http://ant.apache.org/antlibs/compress/ -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/antlibs/compress/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/antlibs/compress/trunk/ -
- Ant compatibility: - - Ant 1.8.x -
- Added to sandbox: - - 2009-07-31 -
- Promoted from sandbox: - - 2009-10-16 -
- Latest Release: - - 1.0 released on August 30, 2010 -
- -

- - DotNet - Improved Support for .NET projects -

-

Provides a simple infrastructure to execute .NET - applications from within Ant for different VMs so that the - user doesn't have to change the build file when she wants to - run Mono on Linux and Microsoft's VM on Windows.

-

Also contains <nant>, <nunit> and - <msbuild> tasks and an untested <wix> tasks.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Homepage: - - http://ant.apache.org/antlibs/dotnet/ -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/antlibs/dotnet/trunk/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2005-04-15 -
- Promoted from sandbox: - - 2005-11-22 -
- Latest Release: - - 1.1 released on February 4, 2011 -
- -

- - Props - additional Property Resolver -

-

This is a library of supplementary handlers for Ant - properties resolution.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Homepage: - - http://ant.apache.org/antlibs/props/ -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/antlibs/props/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/antlibs/props/trunk/ -
- Ant compatibility: - - Ant 1.8.x -
- Added to sandbox: - - 2007-07-25 -
- Promoted from sandbox: - - 2009-10-06 -
- Latest Release: - - None -
- -

- - VSS - Microsoft Visual SourceSafe Tasks -

-

This antlib provides an interface to the Microsoft Visual SourceSafe SCM. The original tasks - (org.apache.tools.ant.taskdefs.optional.vss) have been expanded upon in this antlib. - Some fixes to issues in the original tasks have also been incorporated.

- - - - - - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - http://svn.apache.org/repos/asf/ant/antlibs/vss/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/antlibs/vss/trunk/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2006-04-26 -
- Promoted from sandbox: - - 2010-09-02 -
- Latest Release: - - None -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/props/index.html b/docs/antlibs/props/index.html deleted file mode 100644 index dd751801d8..0000000000 --- a/docs/antlibs/props/index.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - Apache Ant - Apache Props Antlib - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Props Antlib

-

- - Apache Props Antlib™ -

-

This is a library of supplementary handlers for Apache Ant - properties resolution.

-

The types provided are instances of - org.apache.tools.ant.PropertyHelper.Delegate and - can be invoked using the <propertyhelper> - task provided in Ant 1.8.0.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
- Delegate - - Delegate Type - - Description -
- nested - - PropertyExpander - - Implements nested property expansion; - e.g. ${${double-expand-me}}. -
- stringops - - PropertyEvaluator - - Implements *nix shell-inspired string operations. -
- refs - - PropertyEvaluator - - Given ref:refid, - resolves reference refid. -
- types - - PropertyEvaluator - - Given type(arg), attempts - to invoke - type constructor (project, arg), - then (arg). -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/sandbox.html b/docs/antlibs/sandbox.html deleted file mode 100644 index d1faf88af4..0000000000 --- a/docs/antlibs/sandbox.html +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - - - Apache Ant - Apache Ant™ Libraries - The Sandbox - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Ant™ Libraries - The Sandbox

-

- - Apache Ant Libraries - The Sandbox -

-

The sandbox is the place where new Apache Ant Libraries start their - life, it is a playground for Ant committers and other - contributors who find committers to sponsor their ideas.

-

The sandbox is no dumping ground. If a Sandbox Ant Library - fails to attract interest within a reasonable amount of time, it - gets removed from the sandbox.

-

- - Current Sandbox Ant Libraries -

-

- - DBPatch -

-

DBPatch library is intended to maintain versioning of a - database schema and data during iterative development.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/dbpatch/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/dbpatch/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2008-04-22 -
- Sponsoring Committers - - Stefan Bodewig -
-

- - Debian - Debian related tasks -

-

Debian provides tasks for generating Debian packages.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/debian/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/debian/trunk/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2007-05-18 -
- Sponsoring Committers - - Kevin Jackson -
-

- - FSCache - Filesystem Resource cache -

-

This is a library of tasks and types to cache arbitrary Ant resources - to the filesystem for processing with file-based tools.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/fscache/trunk/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/fscache/trunk/ -
- Ant compatibility: - - Ant 1.8.x -
- Added to sandbox: - - 2008-06-30 -
- Sponsoring Committers - - Matt Benson -
-

- - GenDoc - Generate the manual for Ant Tasks from their sources -

-

Most of the information needed for writing the manual is inside the sources: attributes, nested elements (especially - inherited one). GenDoc collects these information and generates the manual as xml page. Following steps transform this - xml into the final format (HTML in the first step, PDF may follow).

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - http://svn.apache.org/repos/asf/ant/sandbox/antlibs/gendoc/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/gendoc/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2005-04-15 -
- Sponsoring Committers - - -
-

- - HTTP - tasks for handling HTTP requests -

-

This antlib contains tasks to make the basic HTTP requests: get, post, head, put, with Basicauthentication.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - http://svn.apache.org/repos/asf/ant/sandbox/antlibs/http/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/http/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2006-06-27 -
- Sponsoring Committers - - -
-

- - Manual4Eclipse - Generate an Eclipse Help PlugIn from Ant's manual -

-

This AntLib provides tasks for generating an Eclipse Help PlugIn from Ant's manual.

- - - - - - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - http://svn.apache.org/repos/asf/ant/sandbox/antlibs/manual4eclipse/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/manual4eclipse/trunk/ -
- Ant compatibility: - - Ant 1.7.x -
- Java compatibility: - - Java 1.5+ -
- Added to sandbox: - - 2007-03-01 -
- Sponsoring Committers - - -
-

- - Minify -

-

Minify library offers tasks for minimizing JavaScript scripts.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/minify/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/minify/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2009-01-01 -
- Sponsoring Committers - - Kevin Jackson -
-

- - StarTeam -

-

This antlib provides tasks for working with the StarTeam SCM.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/starteam/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/starteam/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2007-08-27 -
- Sponsoring Committers - - Peter Reilly -
-

- - WebLogic -

-

This antlib provides tasks for working with the WebLogic app server.

- - - - - - - - - - - - - - - - - - - - - -
- SVN URL: - - https://svn.apache.org/repos/asf/ant/sandbox/antlibs/weblogic/ -
- ViewSVN: - - http://svn.apache.org/viewvc/ant/sandbox/antlibs/weblogic/ -
- Ant compatibility: - - Ant 1.7.x -
- Added to sandbox: - - 2007-08-20 -
- Sponsoring Committers - - Peter Reilly, Stefan Bodewig -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/srcdownload.cgi b/docs/antlibs/srcdownload.cgi deleted file mode 100755 index 4324f769f0..0000000000 --- a/docs/antlibs/srcdownload.cgi +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Wrapper script around mirrors.cgi script -# (we must change to that directory in order for python to pick up the -# python includes correctly) -cd /www/www.apache.org/dyn/mirrors -/www/www.apache.org/dyn/mirrors/mirrors.cgi $* diff --git a/docs/antlibs/srcdownload.html b/docs/antlibs/srcdownload.html deleted file mode 100644 index 7a995be884..0000000000 --- a/docs/antlibs/srcdownload.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - - - Apache Ant - Source Distributions - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Source Distributions

-

- - Downloading Apache Antlibs -

-

Use the links below to download a source distribution of Apache Antlibs from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

-

Antlibs are distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

-

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

-

- - Mirror -

-

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

-
-Other mirrors: - -
-

- - Current Antlib Releases -

-
-
Note
-
Very recent releases may not be available on all -mirrors for a few days.
-
-
-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- -

- - Old Antlib Releases -

-

Older releases of Ant Libraries can be found here. -We highly recommend to not use those releases but upgrade to the latest releases.

-

- - Verify Releases -

-

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

-

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

-

-% pgpk -a KEYS
-% pgpv apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-dotnet-1.0-bin.tar.gz.asc -

-

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1 or -md5sum/sha1sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

-

We highly recommend to verify the PGP signature, though.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antlibs/svn/index.html b/docs/antlibs/svn/index.html deleted file mode 100644 index d35014011f..0000000000 --- a/docs/antlibs/svn/index.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - Apache Ant - Apache Subversion Ant Library - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Subversion Ant Library

-

- - Idea -

-

The main purpose of this Apache Ant library is to provide the same - level of support that Ant provides for CVS. This means the - tasks are wrappers on top of the command line client (read: you - still need to install an svn client) and there is not much more - than running the executable and creating some reports.

-

If you are looking for projects that aim at more, there are - better alternatives, for example Subclipse's Ant - task or JavaSVN.

-

- - Tasks -

-

- - svn -

-

A very thin layer on top of the command line executable, - comparable to the CVS - task.

-

- - changelog -

-

Creates a log of change comments between two revisions, - comparable to CvsChangeLog.

-

- - *diff -

-

<tagdiff> creates a differences report - for the changes between two tags or branches.

-

<revisiondiff> creates a differences report - for the changes between two revisions.

-

Together comparable to CvsTagDiff.

-

- - Examples -

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/antnews.html b/docs/antnews.html deleted file mode 100644 index 6177005256..0000000000 --- a/docs/antnews.html +++ /dev/null @@ -1,771 +0,0 @@ - - - - - - - - - Apache Ant - Apache Ant™ Project News - - - - - - - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Ant™ Project News

-

- - EasyAnt enters the Incubator -

-

February 1st, 2011 - EasyAnt enters the Incubator

-

The EasyAnt project has been successfully being voted to enter the Apache Incubator and Apache Ant is sponsoring it.

-

The EasyAnt project aims to leverage the popularity and flexibility of both Ant and Ivy in order to provide an easy to use build system. EasyAnt will provide ready to use ant scripts to build standard java applications or webapps just like usual Maven users are used to. It will still remain adaptable by offering a property based configuration. And even more as you will be able to easily extend existing modules or create your own ones.

-

You can read the more detail proposal here: http://wiki.apache.org/incubator/EasyAntProposal

-

- - Apache Ant 1.8.2 -

-

December 27th, 2010 - Apache Ant 1.8.2 Released

-

Apache Ant 1.8.2 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

-

Key features of the 1.8.2 release are

-
    -
  • performance improvements in directory scanning
  • -
  • XSLT task honors classpath again (bugrep 49271)
  • -
  • distinction between core tasks and optional tasks is abolished
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
-

- - Apache Ivy 2.2.0 -

-

September 30, 2010 - Apache Ivy 2.2.0 Released

-

Apache Ivy 2.2.0 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

-

Key features of the 2.2.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new parent mechanism for Ivy files
  • -
  • improved pom generation from an ivy.xml file
  • -
  • automated PGP signature generation when uploading artifacts
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
-

For more information see - the Ivy home page.

-

- - Apache Ant 1.8.1 -

-

May 7th, 2010 - Apache Ant 1.8.1 Released

-

Apache Ant 1.8.1 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

-

Key features of the 1.8.1 release are

-
    -
  • new task augment allows to add attributes or nested elements to previously defined references
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
-

- - Apache Ant 1.8.0 -

-

Februrary 8th, 2010 - Apache Ant 1.8.0 Released

-

Key features of the 1.8.0 release are

-
    -
  • Lexically scoped local properties, i.e. properties that are only defined inside a target, - sequential block or similar environment. This is very useful inside - of <macrodef>s where a macro can now define a temporary property - that will disappear once the task has finished.
  • -
  • <import> can now import from any file- or URL-providing resource - - this includes <javaresource>. - This means <import> can read build file snippets from JARs or fixed server URLs. - There are several other improvements in the area of import.
  • -
  • Various improvements to the directory scanning code that help with symbolic link - cycles (as can be found on MacOS X Java installations for example) and improve - scanning performance. For big directory trees the improvement is - dramatic.
  • -
  • The way developers can extend Ant's property expansion algorithm has been rewritten - (breaking the older API) to be easier to use and be more powerful. - The whole local properties mechanism is implemented using that API and could be - implemented in a separate library without changes in Ant's core. - Things like the yet-to-be-released props Antlib can now provide often required - "scripty" fuctions without touching Ant itself. - At the same time the if and unless attributes have been rewritten to do the expected - thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it" - if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named - "true" existed). This adds "testing conditions" as a new use-case to property - expansion.
  • -
  • A new top-level element <extension-point> assists in writing re-usable - build files that are meant to be imported. <extension-point> has a name - and a dependency-list like <target> and can be used like a <target> - from the command line or a dependency-list but the importing build file can add - targets to the <extension-point>'s depends list.
  • -
  • Ant now requires Java 1.4 or later
  • -
  • new task include provides an alternative to <import> that - should be preferred when you don't want to override any targets
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
-

- - Apache Ivy 2.1.0 -

-

October 8, 2009 - Apache Ivy 2.1.0 Released

-

Key features of the 2.1.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new options for the Ivy Ant tasks and commandline
  • -
  • configuration intersections and configuration groups
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
-

For more information see - the Ivy home page.

-

- - Apache IvyDE 2.0.0 -

-

July 13, 2009 - Apache IvyDE 2.0.0 Released

-

Apache IvyDE 2.0.0 is now available for download from - http://ant.apache.org/ivy/ivyde/download.cgi - or directly from the updatesite - http://www.apache.org/dist/ant/ivyde/updatesite -

-

This is the first release considered as stable since the project as been hosted - by the Apache Software Foundation.

-

Major changes in this release:

-
    -
  • the "resolve in workspace" feature (make IvyDE search for Ivy dependencies -directly into the Eclipse projects) has been introduced in the last release -but was quite experimental. It has been refactored to be more reliable and -have been reported to be working like a charm by some of the IvyDE early users.
  • -
  • the user documentation of IvyDE is now available directly into the Eclipse help center.
  • -
  • IvyDE can now load property files along with the Ivy settings.
  • -
-

For more information see - the IvyDE home page.

-

- - Apache Ivy 2.0.0 -

-

January 20, 2009 - Apache Ivy 2.0.0 Released

-

Apache Ivy 2.0.0 (final) is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

-

This is the first non-beta release of Ivy under Apache and includes some major new features - like: enhanced Maven2 compatibility, improved cache management, improved concurrency support - and numerous bug fixes and other improvements.

-

For more information see the Ivy home page.

-

- - Apache AntUnit 1.1 -

-

September 26, 2008 - Apache AntUnit 1.1 Released

-

Apache AntUnit 1.1 is now available for download as binary - or source - release.

-

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

-

For more information see the Antlib's - home page

-

- - Apache AntUnit 1.1 Beta 1 -

-

September 3, 2008 - Apache AntUnit 1.1 Beta 1 Available

-

- - Apache Ant 1.7.1 -

-

June 27, 2008 - Apache Ant 1.7.1 Available

-

Apache Ant 1.7.1 is now available for download.

-

Ant 1.7.1 is mainly a bugfix release.

-

Ant 1.7.1 has extended support for Java6 features.

-

Ant 1.7.1 <script> now has support for JavaFX.

-

- - Apache Ivy is an Ant Sub-Project Now! -

-

October 11, 2007 - Apache Ivy is an Ant Sub-Project Now!

-

Apache Ivy, "A Java based tool for tracking, resolving and - managing project dependencies.", just finished Incubation and has joined - the Ant project. More information will be available from the Ant - site soon.

-

Until we've finished the migration, you can learn more about - Ivy from its Incubator - website.

-

- - Apache AntUnit 1.0 -

-

January 8, 2007 - Apache AntUnit 1.0 Available

-

Apache AntUnit 1.0 is now available for download.

-

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-

- - Apache Ant 1.7.0 -

-

December 19, 2006 - Apache Ant 1.7.0 Available

-

Apache Ant 1.7.0 is now available for download.

-

Ant 1.7 introduces a resource framework. Some of the core ant - tasks such as <copy/> are now able to process not only file - system resources but also zip entries, tar entries, paths, ... - Resource collections group resources, and can be further - combined with operators such as union and intersection. This - can be extended by custom resources and custom tasks using resources.

-

- Ant 1.7 starts outsourcing of optional tasks to Antlibs. - The .NET antlib in preparation will replace the .NET optional tasks which ship in Ant. - Support for the version control system Subversion will be only provided as an antlib to - be released shortly. -

-

Ant 1.7 fixes also a large number of bugs.

-

Ant 1.7 has some initial support for Java6 features.

-

- - Apache .NET Ant Library 1.0Beta1 -

-

November 6, 2006 - Apache .NET Ant Library 1.0 Available

-

Apache .NET Ant Library 1.0 is now available for download.

-

This Ant Library contains support for tools like NUnit as well - as the "old" .NET tasks of Ant's core. It has been tested - Microsoft's frameworks as well as Mono.

-

For more information see the Antlib's - home page

-

- - Apache AntUnit 1.0Beta2 -

-

October 29, 2006 - Apache AntUnit 1.0Beta2 Available

-

Apache AntUnit 1.0Beta1 is now available for download.

-

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-

- - Apache AntUnit 1.0Beta1 -

-

September 22, 2006 - Apache AntUnit 1.0Beta1 Available

-

Apache AntUnit 1.0Beta1 is now available for download.

-

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-

- - Apache .NET Ant Library 1.0Beta1 -

-

September 13, 2006 - Apache .NET Ant Library 1.0Beta1 Available

-

Apache .NET Ant Library 1.0Beta1 is now available for download.

-

This Ant Library contains support for tools like NUnit as well - as the "old" .NET tasks of Ant's core. It has been tested - Microsoft's frameworks as well as Mono.

-

For more information see the Antlib's - home page

-

- - Apache Ant 1.6.5 -

-

June 2, 2005 - Apache Ant 1.6.5 Available

-

Apache Ant 1.6.5 is now available for download.

-

This is a bug fix release.

-

- - Apache Ant 1.6.4 -

-

May 19, 2005 - Apache Ant 1.6.4 Available

-

Apache Ant 1.6.4 is now available for download.

-

This is a bug fix release.

-

- - Apache Ant 1.6.3 -

-

April 28, 2005 - Apache Ant 1.6.3 Available

-

Apache Ant 1.6.3 is now available for download.

-

There is a large list of fixed bugs and enhancements.

-

Some of the bugs affecting the embedded use of Ant are fixed.

-

- - Apache Antidote Retired -

-

April 4th, 2005 - The Apache Ant Project Retires Apache Antidote, the - Ant GUI

-

The Antidote subproject was once started to provide a GUI for - Ant at a time where IDE support for Ant was far from usable. - Unfortunately it never attracted a developer community of its - own.

-

At the same time IDE support for Ant has become ubiquitous by - now and there is little reason to have a GUI just for Ant. This - makes it even less likely that volunteers will start to spend time - working on it.

-

Antidote's development has been stalled for years now, despite - some efforts to rejuvenate it by single developers. Therefore the - Ant developers have chosen to retire Antidote.

-

Antidote will no longer be developed by the Ant project; its - CVS module will be shut down.

-

If you are interested in Antidote's sources to learn from or - build on it, you can find snapshots at http://archive.apache.org/ant/antidote/.

-

- - Apache Ant 1.6.2 -

-

July 16, 2004 - Apache Ant 1.6.2 Available

-

Apache Ant 1.6.2 available for download.

-

Nested elements for namespaced tasks and types may belong to the -Ant default namespace as well as the task's or type's namespace.

-

All exceptions thrown by tasks are now wrapped in a -buildexception giving the location in the buildfile of the task.

-

Ant 1.6.2 fixes a large number of bugs and adds a number of -features which were asked for by users on Bugzilla.

-

- - Wiki Migration -

-

February 29, 2004

-

The Apache Ant Wiki pages have been migrated to their - new home on the Apache - Wiki farm. -

-

- - Apache Ant 1.6.1 -

-

February 12, 2004 - Apache Ant 1.6.1 Available

-

Apache Ant 1.6.1 is still available for - download. -

-

The ASF Board has approved the new Apache License 2.0. - For a copy of that license, please see - - http://www.apache.org/licenses/.

-

The Ant 1.6.1 release is delivered with the - Apache License 2.0.

-

Ant 1.6.1 fixes several bugs, most notably the handling - of the default namespace for nested elements.

-

Ant 1.6.1 also introduces initial support for compiling with - Java 1.5.

-

- - Apache Ant 1.6.0 -

-

December 18, 2003 - Apache Ant 1.6.0 Available

-

Apache Ant 1.6.0 is still available for - download. -

-

As - we've already said in the announcements of Ant 1.5.4, this release - requires JDK 1.2 or later to run.

-

Ant 1.6.0 adds a lot of new features, most prominently support - for XML namespaces as well as a new concept of Ant libraries that - makes use of namespaces to avoid name clashes of custom tasks. - For a longer list of fixed bugs and new features see the release - notes.

-

If you find anything that hasn't been covered in the manual (I bet you -did) or could be explained better, feel free to help us out in the -Wiki.

-

- - Apache Ant 1.5.4 -

-

August 12, 2003 - Apache Ant 1.5.4 Available

-

Apache Ant 1.5.4 is still available for - download. -

-

This is a minor bugfix release that fixes a problem with the - javah task on JDK 1.4.2 and a couple of bugs in the - Visual Age for Java intergration tasks. If you don't use javah or - VAJ, there is no reason to upgrade.

-
-
Note
-
Ant 1.5.4 is the last release that supports - JDK 1.1. Ant 1.6.0 requires JDK 1.2 or - later. -
-
-

- - Java Pro 2003 Readers Choice Award -

- - -

June 11th, 2003: Apache Ant wins a Java Pro readers' choice award

-

- Ant has won the Java Pro 2003 Readers' Choice Award for -

-

- Most Valuable Java Deployment Technology. -

-

- Thanks to Java Pro and all its readers. You can read about - these - awards - at the Java Pro website. -

-

- - JDJ Editors Choice Award -

- -

June 2003: Apache Ant wins JDJ Editors' Choice Award

-

-"Ant is the hammer of the Java world: without it, civilization might have progressed, but much more slowly than it has. Ant is one of the most useful build tools I have ever had the pleasure to use." - Joe Ottinger -

-

- - Apache Ant keeps on winning! -

- -

June 9th, 2003: Apache Ant wins the JavaWorld Editors' Choice Award

-

- Ant has won the JavaWorld Editors' Choice Award for -

-

- Most Useful Java Community-Developed Technology -

-

- for the second time in a row! Read the - full article -- or jump directly to the bit about - our award :)

-

- - Apache Ant 1.5.3 -

-

April 9, 2003 - Apache Ant 1.5.3 Available

-

Apache Ant 1.5.3 is still available for - download. -

-

- - Apache Ant 1.5.2 -

-

March 3, 2003 - Apache Ant 1.5.2 Available!

-

The final version of Ant 1.5.2 is available for - download. - If you have any feedback on this release, feel free to join the - discussion on the dev and user mailing lists. -

-

- - Apache Ant Top Level Project -

-

November 18, 2002

-

The Apache board created - the Apache Ant top level project. Ant has now migrated from the Jakarta - project into an Apache project of its own. This is primarily an - organizational change and will not affect the technical aspects of - the project. Ant retains a strong association with the Apache - Jakarta project. One effect of this change is that the Ant webpage - is now located at http://ant.apache.org/ -

-

- - Apache Ant 1.5.1 -

-

October 3, 2002 - Apache Ant 1.5.1 Available !

-

The final version of Ant 1.5.1 is still available for - - download. If you have any feedback on this release, feel free to join the - discussion on the ant-dev and ant-user mailing lists. -

-

- - Apache Ant 1.5 -

-

July 15, 2002 - Fix for Cygwin problem in wrapper script available

-

The wrapper script of Apache Ant 1.5 needs to be replaced with a new - version for Cygwin users. See the FAQ for details.

-

July 10, 2002 - Apache Ant 1.5 Released!

-

The final version of Ant 1.5 is now available for - - download. If you have any feedback on this release, feel free to join the - discussion on the ant-dev and ant-user mailing lists. -

-

- - Apache Ant wins again! -

- -

Apr 29, 2002: Apache Ant wins Software Development magazine's - 2002 Productivity Award.

-

- Ant has been awarded a 2002 Productivity Award by - Software Development - magazine. Read the - - press release for more information and the full list of winners. -

-

- - Apache Ant has won! -

- -

Mar 26, 2002: Apache Ant wins the JavaWorld Editors' Choice - Award

-

- Ant has won the JavaWorld Editors' Choice Award for - Most Useful Java Community-Developed Technology. - Read the - full article -- or jump directly to the bit about - our award :)

-

- - Java 1.4 Support -

-

Feb 15, 2002: Java 1.4 Support

-

- Java 1.4 has now been released by Sun. The latest Apache Ant source supports - the new assert statement in the compiler task via the source - attribute. It also contains a compatibility fix needed for some ant tasks - on Java 1.4 over Windows XP. If you have problems running Ant 1.4.1 on WinXP/Java 1.4, - please use a recent build or compile your own version from the source tree. -

-

- - See our new logo! -

-

Have a look at our new cool logo!

-

- - Apache Ant 1.4.1 -

-

11 October 2001 Apache Ant 1.4.1 released !

-

Please visit the - - download area. -

-

- - Best-Practices Profile of Apache Ant at Sun's Dot-Com Builder -

-

Sun has released an introductory article on Apache Ant on their - Dot-Com Builder site on May 30 2001. See http://dcb.sun.com/practices/profiles/ant.jsp

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/appendix_e.pdf b/docs/appendix_e.pdf deleted file mode 100644 index 81e5aa853c..0000000000 Binary files a/docs/appendix_e.pdf and /dev/null differ diff --git a/docs/bindownload.cgi b/docs/bindownload.cgi deleted file mode 100755 index 4324f769f0..0000000000 --- a/docs/bindownload.cgi +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Wrapper script around mirrors.cgi script -# (we must change to that directory in order for python to pick up the -# python includes correctly) -cd /www/www.apache.org/dyn/mirrors -/www/www.apache.org/dyn/mirrors/mirrors.cgi $* diff --git a/docs/bindownload.html b/docs/bindownload.html deleted file mode 100644 index 5ab8390ac2..0000000000 --- a/docs/bindownload.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - Apache Ant - Binary Distributions - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Binary Distributions

-

- - Apache Ant™ -

-

Apache Ant is a Java library and command-line tool that help - building software.

-

- - Downloading Apache Ant -

-

Use the links below to download a binary distribution of Ant from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

-

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

-

In addition the JPackage -project provides RPMs at their own distribution site.

-

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

-

- - Mirror -

-

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

-
-Other mirrors: - -
-

- - Current Release of Ant -

-

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

-
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-
-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- -

- - Old Ant Releases -

-

Older releases of Ant can be found here. We highly -recommend to not use those releases but upgrade to Ant's latest release.

-

- - Verify Releases -

-

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

-

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

-

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-bin.tar.gz.asc -

-

A command line version of GnuPG -is also available for Windows users. Follow the -instructions -to verify the package.

-

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

-

We highly recommend to verify the PGP signature, though.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/breadcrumbs.js b/docs/breadcrumbs.js deleted file mode 100644 index 8e172c8977..0000000000 --- a/docs/breadcrumbs.js +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ - -/** - * This script, when included in a html file, builds a neat breadcrumb trail - * based on its url. That is, if it doesn't contains bugs (I'm relatively - * sure it does). - * - * Typical usage: - * - * - *@author Leo Simons (main author) - *@author Nicola Ken Barozzi (integration in skin) - *@created July 12, 2002 - *@version 1.0 - */ - -/** - * IE 5 on Mac doesn't know Array.push. - * - * Implement it - courtesy to fritz. - */ -var abc = new Array(); -if (!abc.push) { - Array.prototype.push = function(what){this[this.length]=what} -} - -/* ======================================================================== - CONSTANTS - ======================================================================== */ - -/** - * Two-dimensional array containing extra crumbs to place at the front of - * the trail. Specify first the name of the crumb, then the URI that belongs - * to it. You'll need to modify this for every domain or subdomain where - * you use this script (you can leave it as an empty array if you wish) - */ -var PREPREND_CRUMBS = new Array(); - if(!("apache"=="")){ - PREPREND_CRUMBS.push( new Array( "apache", "http://www.apache.org/" ) ); - } - if(!("xml.apache"=="")){ - PREPREND_CRUMBS.push( new Array( "ant.apache", "http://ant.apache.org/" ) ); - } - if(!(""=="")){ - PREPREND_CRUMBS.push( new Array( "", "" ) ); - } - -/** - * String to include between crumbs: - */ -var DISPLAY_SEPARATOR = " > "; -/** - * String to include at the beginning of the trail - */ -var DISPLAY_PREPREND = ""; -/** - * String to include at the end of the trail - */ -var DISPLAY_POSTPREND = ""; - -/** - * CSS Class to use for a single crumb: - */ -var CSS_CLASS_CRUMB = "breadcrumb"; - -/** - * CSS Class to use for the complete trail: - */ -var CSS_CLASS_TRAIL = "breadcrumbTrail"; - -/** - * CSS Class to use for crumb separator: - */ -var CSS_CLASS_SEPARATOR = "crumbSeparator"; - -/** - * Array of strings containing common file extensions. We use this to - * determine what part of the url to ignore (if it contains one of the - * string specified here, we ignore it). - */ -var FILE_EXTENSIONS = new Array( ".html", ".htm", ".jsp", ".php", ".php3", ".php4" ); - -/** - * String that separates parts of the breadcrumb trail from each other. - * When this is no longer a slash, I'm sure I'll be old and grey. - */ -var PATH_SEPARATOR = "/"; - -/* ======================================================================== - UTILITY FUNCTIONS - ======================================================================== */ -/** - * Capitalize first letter of the provided string and return the modified - * string. - */ -function sentenceCase( string ) -{ - var lower = string.toLowerCase(); - return lower.substr(0,1).toUpperCase() + lower.substr(1); -} - -/** - * Returns an array containing the names of all the directories in the - * current document URL - */ -function getDirectoriesInURL() -{ - var trail = document.location.pathname.split( PATH_SEPARATOR ); - - // check whether last section is a file or a directory - var lastcrumb = trail[trail.length-1]; - for( var i = 0; i < FILE_EXTENSIONS.length; i++ ) - { - if( lastcrumb.indexOf( FILE_EXTENSIONS[i] ) ) - { - // it is, remove it and send results - return trail.slice( 1, trail.length-1 ); - } - } - - // it's not; send the trail unmodified - return trail.slice( 1, trail.length ); -} - -/* ======================================================================== - BREADCRUMB FUNCTIONALITY - ======================================================================== */ -/** - * Return a two-dimensional array describing the breadcrumbs based on the - * array of directories passed in. - */ -function getBreadcrumbs( dirs ) -{ - var prefix = "/"; - var postfix = "/"; - - // the array we will return - var crumbs = new Array(); - - if( dirs != null ) - { - for( var i = 0; i < dirs.length; i++ ) - { - prefix += dirs[i] + postfix; - crumbs.push( new Array( dirs[i], prefix ) ); - } - } - - // preprend the PREPREND_CRUMBS - if(PREPREND_CRUMBS.length > 0 ) - { - return PREPREND_CRUMBS.concat( crumbs ); - } - - return crumbs; -} - -/** - * Return a string containing a simple text breadcrumb trail based on the - * two-dimensional array passed in. - */ -function getCrumbTrail( crumbs ) -{ - var xhtml = DISPLAY_PREPREND; - - for( var i = 0; i < crumbs.length; i++ ) - { - xhtml += ''; - xhtml += sentenceCase( crumbs[i][0] ) + ''; - if( i != (crumbs.length-1) ) - { - xhtml += DISPLAY_SEPARATOR; - } - } - - xhtml += DISPLAY_POSTPREND; - - return xhtml; -} - -/** - * Return a string containing an XHTML breadcrumb trail based on the - * two-dimensional array passed in. - */ -function getCrumbTrailXHTML( crumbs ) -{ - var xhtml = ''; - xhtml += DISPLAY_PREPREND; - - for( var i = 0; i < crumbs.length; i++ ) - { - xhtml += ''; - xhtml += sentenceCase( crumbs[i][0] ) + ''; - if( i != (crumbs.length-1) ) - { - xhtml += '' + DISPLAY_SEPARATOR + ''; - } - } - - xhtml += DISPLAY_POSTPREND; - xhtml += ''; - - return xhtml; -} - -/* ======================================================================== - PRINT BREADCRUMB TRAIL - ======================================================================== */ - -// check if we're local; if so, only print the PREPREND_CRUMBS -if( document.location.href.toLowerCase().indexOf( "http://" ) == -1 ) -{ - document.write( getCrumbTrail( getBreadcrumbs() ) ); -} -else -{ - document.write( getCrumbTrail( getBreadcrumbs( getDirectoriesInURL() ) ) ); -} - diff --git a/docs/bugs.html b/docs/bugs.html deleted file mode 100644 index 3e3d6c3f1d..0000000000 --- a/docs/bugs.html +++ /dev/null @@ -1,379 +0,0 @@ - - - - - - - - - Apache Ant - Bug database - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Bug database

-

- - Bug Database -

-

- This page gives you some bookmarks to use the Bugzilla - Apache Bug Database. -

-

- This link issues.apache.org connects you - to the complete list of Apache Bug Database systems. -

-

- - Has It Been Reported? -

-

- If the current nightly build doesn't resolve your problem, it is - possible that someone else has reported the issue. It is time to - look at the bug database. This system is easy to use, and it will - let you search the - currently open and resolved bugs to see if your problem has - already been reported. If your problem has been reported, you can - see whether any of the developers have commented, suggesting - workarounds, or the reason for the bug, etc. Or you may have - information to add (see about creating and modifying bug reports - below), in which case, go right ahead and add the information. - If you don't have any additional information, you may just want - to vote for this bug, and perhaps - add yourself to the CC list to follow the progress - of this bug. -

-

Open Apache Ant bugs by order of priority.

-

Open Apache Ant bugs by number of votes.

-

- - Filing a Bug Report -

-

- Please read our document about problems - before deciding that there is an unreported - bug in Apache Ant. -

-

- You have a few choices at this point. You can send - an email to the user mailing list - to see if - others have encountered your issue and find out how they may - have worked around it. If after some discussion, you feel it - is time to create - a bug report, this is a simple operation in the bug database. - Please try to provide as much information as possible in order - to assist the developers in resolving the bug. Please try to enter - correct values for the various inputs when creating the bug, such - as which version of Ant you are running, and on which platform, - etc. Once the bug is created, you can also add attachments to - the bug report. -

-

- What information should you include in your bug report? The - easiest bugs to fix are those that are most easily reproducible, - so it is really helpful if you can produce a small test case that - exhibits the problem. In this case, you would attach the build file - and any other files necessary to reproduce the problem, probably - packed together in an archive. If you can't produce a test case, - you should try to include a snippet from your build file and the - relevant sections from the verbose or debug output from Ant. Try - to include the header information where Ant states the version, - the OS and VM information, etc. As debug output is likely to be - very large, it's best to remove any output that is not - relevant. Once the bug is entered into the bug database, you - will be kept informed by email about progress on the bug. If - you receive email asking for further information, please try to - respond, as it will aid in the resolution of your bug. -

-

- To create the bug report hit this - - link. -

-

- - Asking for an Enhancement -

-

- Sometimes, you may find that Ant just doesn't do what you need it - to. It isn't a bug, as such, since Ant is working the way it is - supposed to work. Perhaps it is some additional functionality for - a task that hasn't been thought of yet, or maybe a completely new - task. For these situations, you will - want to raise an enhancement request. Enhancement requests - are managed using the same Apache Bug Database described above. - These are just a different type of bug report. If you look in the - bug database, you will see that one of the severity settings for - a bug is "Enhancement". Just fill the bug report in, - set the severity of the bug to "Enhancement", and - state in the description how you would like to have Ant enhanced. - Again, you should first check whether there are any existing - enhancment requests that cover your needs. If so, just add your - vote to these. -

-

- - Create an enhancement report - -

-

- - Fixing the Bug -

-

- If you aren't satisfied with just filing a bug report, you can - try to find the cause of the problem and provide a fix yourself. - The best way to do that is by working with the latest code from Subversion. - Alternatively, you can work with the source code available from the - - source distributions. If you - are going to tackle the problem at this level, you may want to - discuss some details first on the dev - mailing list. Once you have a fix for the problem, you may submit - the fix as a patch to either the - dev mailing - list, or enter the bug database as described above and attach the - patch to the bug report. Using the bug database has the advantage - of being able to track the progress of your patch. -

-

- If you have a patch to submit and are sending it to the - dev mailing list, - prefix "[PATCH]" - to your message subject (this is also a good idea for - a subject line in the bug database). - Please include any relevant bug numbers. - Patch files should be created with the -u - option of the - diff or svn diff command. For - example:

- - diff -u Javac.java.orig Javac.java > javac.diffs

-
- or, if you have source from Subversion:

- - svn diff Javac.java > javac.diffs

-
- - Note: You should give your patch files meaningful names. - This makes it easier for developers who need to apply a number - of different patch files. -

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/bylaws.html b/docs/bylaws.html deleted file mode 100644 index 3ef36a2307..0000000000 --- a/docs/bylaws.html +++ /dev/null @@ -1,831 +0,0 @@ - - - - - - - - - Apache Ant - Project Bylaws - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Project Bylaws

-

- - Apache Ant™ Project Bylaws -

-

- This document defines the bylaws under which the Apache Ant project - operates. It defines the roles and responsibilities of the - project, who may vote, how voting works, how conflicts are resolved, - etc. -

-

- Ant is a project of the - Apache Software - Foundation. The foundation holds the copyright on Apache - code including the code in the Ant codebase. The - foundation FAQ - explains the operation and background of the foundation. -

-

- Ant is typical of Apache projects in that it operates under a set of - principles, known collectively as the "Apache Way". If you are - new to Apache development, please refer to the - Incubator project - for more information on how Apache projects operate. Note: the - incubator project has only been recently set up and does not yet explain - the Apache Way in great detail. -

- -

- - Roles and Responsibilities -

-

- Apache projects define a set of roles with associated rights and - responsibilities. These roles govern what tasks an individual may perform - within the project. The roles are defined in the following sections -

- -

- - Users -

-

- The most important participants in the project are people who use our - software. The majority of our developers start out as users and guide - their development efforts from the user's perspective. -

-

- Users contribute to the Apache projects by providing feedback to - developers in the form of bug reports and feature suggestions. As - well, users participate in the Apache community by helping other users - on mailing lists and user support forums. -

-

- - Developers -

-

- All of the volunteers who are contributing time, code, documentation, - or resources to the Ant Project. A developer that makes sustained, - welcome contributions to the project may be invited to become a - Committer, though the exact timing of such invitations depends on many - factors. -

-

- - Committers -

-

- The project's Committers are responsible for the project's technical - management. All committers have write access to the project's source - repositories. Committers may cast binding votes on any technical - discussion regarding the project. -

-

- Committer access is by invitation only and must be approved by lazy - consensus of the active PMC members. A Committer is considered emeritus - by their own declaration or by not contributing in any form to the - project for over six months. An emeritus committer may request - reinstatement of commit access from the PMC. Such reinstatement is - subject to lazy consensus of active PMC members. -

-

- Commit access can be revoked by a unanimous vote of all the active - PMC members (except the committer in question if they are also a PMC member). -

-

- All Apache committers are required to have a signed Contributor License - Agreement (CLA) on file with the Apache Software Foundation. There is a - Committer FAQ - which provides more details on the requirements for Committers -

-

- A committer who makes a sustained contribution to the project may be - invited to become a member of the PMC. The form of contribution is - not limited to code. It can also include code review, helping out - users on the mailing lists, documentation, etc. -

-

- - Project Management Committee -

-

- The Project Management Committee (PMC) for Apache Ant was created by a - resolution of the board of the Apache - Software Foundation on 18th November 2002. The PMC is - responsible to the board and the ASF for the management and oversight - of the Apache Ant codebase. The responsibilities of the PMC include -

-
    -
  • Deciding what is distributed as products of the Apache Ant project. - In particular all releases must be approved by the PMC -
  • -
  • Maintaining the project's shared resources, including the codebase - repository, mailing lists, websites. -
  • -
  • Speaking on behalf of the project. -
  • -
  • Resolving license disputes regarding products of the project -
  • -
  • Nominating new PMC members and committers -
  • -
  • Maintaining these bylaws and other guidelines of the project -
  • -
-

- Membership of the PMC is by invitation only and must be approved by a - lazy consensus of active PMC members. A PMC member is considered - "emeritus" by their own declaration or by not contributing in - any form to the project for over six months. An emeritus member may - request reinstatement to the PMC. Such reinstatement is subject to lazy - consensus of the active PMC members. Membership of the PMC can be - revoked by an unanimous vote of all the active PMC members other than - the member in question. -

-

- The chair of the PMC is appointed by the ASF board. The chair is an - office holder of the Apache Software Foundation (Vice President, - Apache Ant) and has primary responsibility to the board for the - management of the projects within the scope of the Ant PMC. The chair - reports to the board quarterly on developments within the Ant project. - The PMC may consider the position of PMC chair annually and if - supported by 2/3 Majority may recommend a new chair to the board. - Ultimately, however, it is the board's responsibility who it chooses - to appoint as the PMC chair. -

-

- - Decision Making -

-

- Within the Ant project, different types of decisions require different - forms of approval. For example, the - previous section describes - several decisions which require "lazy consensus" approval. This - section defines how voting is performed, the types of approvals, and which - types of decision require which type of approval. -

-

- - Voting -

-

- Decisions regarding the project are made by votes on the primary project - development mailing list (dev@ant.apache.org). Where necessary, - PMC voting may take place on the private Ant PMC mailing list. - Votes are clearly indicated by subject line starting with [VOTE] or - [PMC-VOTE]. Votes may contain multiple items for approval and these - should be clearly separated. Voting is carried out by replying to the - vote mail. Voting may take four flavours -

- - - - - - - - - - - - - - - - - -
- +1 - - - "Yes," "Agree," or "the action should be - performed." In general, this vote also indicates a willingness - on the behalf of the voter in "making it happen" - -
- +0 - - - This vote indicates a willingness for the action under - consideration to go ahead. The voter, however will not be able - to help. - -
- -0 - - - This vote indicates that the voter does not, in general, agree with - the proposed action but is not concerned enough to prevent the - action going ahead. - -
- -1 - - - This is a negative vote. On issues where consensus is required, - this vote counts as a veto. All vetoes must - contain an explanation of why the veto is appropriate. Vetoes with - no explanation are void. It may also be appropriate for a -1 vote - to include an alternative course of action. - -
-

- All participants in the Ant project are encouraged to show their - agreement with or against a particular action by voting. For technical - decisions, only the votes of active committers are binding. Non binding - votes are still useful for those with binding votes to understand the - perception of an action in the wider Ant community. For PMC decisions, - only the votes of PMC members are binding. -

-

- Voting can also be applied to changes made to the Ant codebase. These - typically take the form of a veto (-1) in reply to the commit message - sent when the commit is made. -

-

- - Approvals -

-

- These are the types of approvals that can be sought. Different actions - require different types of approvals -

- - - - - - - - - - - - - - - - - - - - - -
- Consensus - - - For this to pass, all voters with binding votes must vote and there - can be no binding vetoes (-1). Consensus votes are rarely required - due to the impracticality of getting all eligible voters to cast a - vote. - -
- Lazy Consensus - - - Lazy consensus requires 3 binding +1 votes and no binding vetoes. - -
- Lazy Majority - - - A lazy majority vote requires 3 binding +1 votes and more binding +1 - votes that -1 votes. - -
- Lazy Approval - - - An action with lazy approval is implicitly allowed unless a -1 vote - is received, at which time, depending on the type of action, either - lazy majority or lazy consensus approval must be obtained. - -
- 2/3 Majority - - - Some actions require a 2/3 majority of active committers or PMC - members to pass. Such actions typically affect the foundation - of the project (e.g. adopting a new codebase to replace an existing - product). The higher threshold is designed to ensure such changes - are strongly supported. To pass this vote requires at least 2/3 of - binding vote holders to vote +1 - -
-

- - Vetoes -

-

- A valid, binding veto cannot be overruled. If a veto is cast, it must be - accompanied by a valid reason explaining the reasons for the veto. The - validity of a veto, if challenged, can be confirmed by anyone who has - a binding vote. This does not necessarily signify agreement with the - veto - merely that the veto is valid. -

-

- If you disagree with a valid veto, you must lobby the person casting - the veto to withdraw their veto. If a veto is not withdrawn, the action - that has been vetoed must be reversed in a timely manner. -

-

- - Actions -

-

- This section describes the various actions which are undertaken within - the project, the corresponding approval required for that action and - those who have binding votes over the action. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Action - - Description - - Approval - - Binding Votes -
- Code Change - - - A change made to a codebase of the project and committed - by a committer. This includes source code, documentation, website - content, etc. - - - - Lazy approval and then lazy consensus. - - - - Active committers. - -
- Release Plan - - - Defines the timetable and actions for a release. The plan also - nominates a Release Manager. - - - - Lazy majority - - - - Active committers - -
- Product Release - - - When a release of one of the project's products is ready, a vote is - required to accept the release as an official release of the - project. - - - - Lazy Majority - - - - Active PMC members - -
- Adoption of New Codebase - - -

- When the codebase for an existing, released product is to be - replaced with an alternative codebase. If such a vote fails to - gain approval, the existing code base will continue. -

- -

- This also covers the creation of new sub-projects - within the project -

- -
- - 2/3 majority - - - - Active committers - -
- New Committer - - - When a new committer is proposed for the project - - - - Lazy consensus - - - - Active PMC members - -
- New PMC Member - - - When a committer is proposed for the PMC - - - - Lazy consensus - - - - Active PMC members - -
- Committer Removal - - -

When removal of commit privileges is sought.

-

Note: Such actions will also be referred to the ASF - board by the PMC chair

- -
- - Consensus - - - - Active PMC members (excluding the committer in question if a - member of the PMC). - -
- PMC Member Removal - - -

When removal of a PMC member is sought.

-

Note: Such actions will also be referred to the - ASF board by the PMC chair

- -
- - Consensus - - - - Active PMC members (excluding the member in question). - -
-

- - Voting Timeframes -

-

- Votes are open for a period of 1 week to allow all active voters - time to consider the vote. Votes relating to code changes are not - subject to a strict timetable but should be made as timely as possible. -

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/contributors.html b/docs/contributors.html deleted file mode 100644 index 80189b3b5c..0000000000 --- a/docs/contributors.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - - - - - Apache Ant - Contributors - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Contributors

-

- - Project Management Committee -

-

- - Active Members -

-

- Bruce Atherton (bruce at callenish.com - http://www.callenish.com/~bruce) -
-Currently a Systems Architect with Avue Technologies, Bruce has been -working with Java since version 1.0a2. He also claims to be one of the first -people to mark up a FAQ with HTML, for a web browser of the distant past -called Cello. -

-

- Stephane Bailliez
-

-

- Matt Benson
-

-

- Stefan Bodewig (stefan.bodewig at freenet.de - - http://stefan.samaflost.de/) -
-

-

- Dominique Devienne (ddevienne at apache.org) -
-Dominique has been involved non-stop with the Ant user community since -the 1.4 days, trying without success to answer posts as well or as often -as Diane Holt after she left the user list. He is opinionated, always -striving for the best possible design. While at Landmark Graphics, he -designed and implemented large Ant/CppTasks builds for mixed Java/C++ projects. -

-

- Erik Hatcher (ehatcher at apache.org) -
-Erik is the co-author of -Java Development with Ant and speaks on Ant and other topics at -No Fluff, Just Stuff -symposiums as well as other venues. Erik is the President of -eHatcher Solutions, Inc. -

-

- Martijn (J.M.) Kruithof (ant at kruithof xs4all nl) -
-Martijn Kruithof is a system engineer working with and on Java products -in a telecommunication network setting. -

-

- Antoine Levy-Lambert (antoine at apache.org) -
-Antoine is setting up a consultancy dealing with builds and deployments -Agilebuild. -He is specialized in builds and automation of deployment processes. - -

-

- Steve Loughran
-

-

- Conor MacNeill (conor at cortexebusiness.com.au) -
-Conor is a senior developer at Cortex eBusiness, where he develops -J2EE based systems. In his spare time he helps with the development of -the Ant build tool. He is also serving as the Chairman of this PMC. -

-

- Jan Matèrne (jhm at apache.org) -
-Jan is consultant for OOA/D in the computer centre of the government -of Northrhine Westfalia / Germany. -

-

- Peter Reilly
-

-

- - Sam Ruby - - (rubys at us.ibm.com) -
-Sam takes a perverse pleasure in integrating disparate things. He is -a member of the PHP group, Apache -XML PMC, Apache -sponsor for the xml-soap subproject -and convener of ECMA TC39 TG3. -

-

- Magesh Umasankar (umagesh at apache.org) -
-Magesh, President of Metamach Solutions, -an Atlanta-based technology-management consultancy, has recently launched -WinedIn.com for wine-lovers to pair food and wine. -

-

- Christoph Wilhelms (christoph.wilhelms at t-online.de) -
-Christoph works as software engineer at the world's biggest travel company -TUI. His passion are all UI related things so -at the Ant-Project he takes care of Antidote - the Ant GUI. -

-

- Kevin Jackson (foamdino at gmail.com)
-

-

- - Emeritus Members -

-

- James Duncan Davidson (duncan at x180.net - http://x180.net/) -
- -By day, Duncan works in the Open Source Program Office at Sun -Microsystems where he helps various Open Source efforts within Sun -"do the right thing". Previously at Sun he was responsible -for the Servlet API Specifications 2.1 and 2.2 as well as the Java API -for XML Parsing 1.0 and was the original author of Tomcat and Ant. He -was one of the rabble-rousers within Sun that helped make the Jakarta -Project a reality and served as the first Chairman of the Jakarta PMC. -

-

- Diane Holt
-

-

- Donald Leslie
-

-

- Costin Monolache
-

-

- Jon Skeet
-

-

- - Committers -

-

- - Active Committers -

-

- Steve Cohen -

-

- Jose Alberto Fernandez -

-

- Jesse Glick (jesse dot glick at sun dot com) -
-Jesse has been using Java since 1998 and joined Sun Microsystems as -part of the company that produced the NetBeans IDE. After discovering -Ant in the 1.2 days, he wrote most of NetBeans' Ant integration. -Recently he has worked on the NetBeans 4.0 project system, based heavily -on Ant as a build tool. -

-

- Jon Schneider -

-

- Alexey Solofnenko (trelony at gmail.com)
-

-

- - Emeritus Committers -

-

- Preston Bannister
-

-

- Nick Davis
-

-

- Darrell DeBoer
-

-

- Peter Donald (peter at apache.org) -
- -Peter is an avid java developer who is active in the -Avalon and -Ant projects. -In his spare time he develops a distributed virtual environment -(ie military simulator or 3D game) using java technologies. -

-

- Danno Ferrin (shemnon at yahoo.com) -
-Danno has been programming in Java since Summer 96. Danno wrote a JSP -engine on his own and released it the very same day Jakarta was -announced at JavaOne. Since then, he decided to join the Jakarta -project in a spirit of co-operation over competition. -

-

- Simeon H.K. Fitch (simeon.fitch at mseedsoft.com) -
-Simeon is owner of Mustard Seed Software, which specializes in developing -distributed applications and user interfaces for the science, engineering, -and research oriented clients. He is the lead architect and developer for -Antidote, the GUI for Ant. -

-

- Thomas Haas (tha at whitestein.com) -
-Tom is interested in distributed systems, Java middleware and worked on an -implementation of the JMS specification. At Whitestein Technologies he is -working on bringing software agent technology and J2EE together. -

-

- - Jason Hunter (jh at servlets.com) -
-Jason is author of "Java Servlet Programming" (O'Reilly) and publisher -of http://www.servlets.com/. -He works at CollabNet. -

-

- Justyna Horwat (horwat at apache.org) -
-

-

- Arun Jamwal -
-

-

- Arnout J. Kuiper (ajkuiper at planet.nl) -
- -Arnout J. Kuiper is a Java Architect with the Sun Java Center at Sun -Microsystems. His main focus is web-related technologies on the Java -platform (J2EE, XML, ...). -

-

- Stefano Mazzocchi (stefano at apache.org) -
-Stefano is addicted to software design, Java programming and -open development. In the last 4 years, he has contributed way too much -time to Apache, expecially on JServ, JMeter, Avalon, JAMES, Ant, Cocoon -and helping to bring more projects into Apache-land, such as FOP, Batik, -POI and Xindice. The problem is that he's too picky to be satisfied :-) -

-

- Glenn McAllister (glenn at somanetworks.com) -
-Glenn McAllister is a software developer at SOMA Networks, was formerly -the same at IBM (plus tech writer plus build guy), and does some writing -on the side for the VADD Technical Journal. -

-

- Craig McClanahan (Craig.McClanahan at eng.sun.com) -
-Craig was involved in the Apache JServ project, focused on implementing -a next generation architecture and feature set for the core servlet -engine. He has recently joined Sun as technical lead for the servlet -and JSP reference implementation. -

-

- Adam Murdoch -
-

-

- Harish Prabhandham (harishp at onebox.com) -
-Harish is an engineer with the J2EE team at Sun, primarily responsible -for implementing security in the J2EE Reference Implementation -(RI). He integrated various technologies including servlet/JSP -implementations from Tomcat into the J2EE RI. These days, he hacks PHP -code during the day. -

-

- Nico Seessle
-

-

- Gal Shachor (shachor at il.ibm.com) -
-Gal Shachor is a research staff member at IBM. He wrote his first -Servlet container (ServletExpress) at the beginning of 1997. Later on -ServletExpress (and Gal) merged into WebSphere, and Gal participated -in the development of WebSphere 1, 2 and 3. -

-

- Jon S. Stevens (jon at collab.net) -
- -Jon is a Co-Founder of Clear Ink -Corp and recently left to work on Scarab a next generation Open -Source Java Servlet based Issue/Bug tracking system for CollabNet. He is an active developer -of the Apache JServ Servlet -Engine for the Apache Web Server and Co-Author of the Element Construction Set as -well as the web application framework, Turbine. -

-

- Jesse Stockall
-

-

- James Todd (jwtodd at pacbell.net) -
-James has developed real time customer oriented apps for roughly 10 -years the last 5 of which have predominately been fully integrated, -front and back, extraNet implementations which have been based on -Apache, Java and Tcl. -

-

- Anil Vijendran (akv at eng.sun.com) -
-Anil Vijendran is the principal developer of the JSP engine in -Tomcat. He's done some pretty scary things in his past life -- -implementing the CORBA IDL to C++ 2.0 mapping, skydiving, IDL to Java -compilers, Object Databases (SIGSEV, you da man!) for C++, Java ORB -and EJB runtime environments -- in that order. -

-

- - Logo -

-

Ant's logo is the result of a logo contest, it has been - designed by

-

- Nick King -
-

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/external.html b/docs/external.html deleted file mode 100644 index f327bc5aa9..0000000000 --- a/docs/external.html +++ /dev/null @@ -1,7525 +0,0 @@ - - - - - - - - - Apache Ant - External Tools and Tasks - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

External Tools and Tasks

-

- - External Tools and Tasks -

-

This page lists external resources for Apache Ant: Tasks, Compiler Implementations, - IDE integration - tools, Source Control - Systems, Loggers, you name it. If you've written - something that should be included, please post all relevant - information to one of the mailing lists. For details, see the - FAQ.

-

Nothing listed here is directly supported by the Ant - developers (therefore 'external tools and tasks'), - if you encounter any problems with them, please use - the contact information.

-

- - Tasks -

-

- - AJC -

-

AspectJ is an - aspect-oriented extension to Java. This task compiles a - source tree using the AspectJ compiler -- AJC.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 -
- URL: - - http://www.eclipse.org/aspectj/ -
- Contact: - - project mailing lists -
- License: - - Eclipse Public License -
-

- - Anakia -

-

Actually, Anakia is more than just an Ant task, it is a an - XML transformation tool based on JDOM, Velocity and Ant.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and later -
- URL: - - http://velocity.apache.org/anakia/devel/ -
- Contact: - - Velocity mailing lists -
- License: - - Apache License 2.0 -
-

- - Andariel -

-

Andariel is a set of tasks designed to help the generation of HTML - (and other markup languages) pages from Ant. Includes a XPath processor, - an image information retriever, and others.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.4 and newer -
- URL: - - http://andariel.uworks.net/ -
- Contact: - - josep DOT rio AT uworks DOT net -
- License: - - Apache Software License 1.1 -
-

- - ant4eclipse -

-

ant4eclipse provides a set of Ant tasks to make several - configurations from the Eclipse IDE available in Ant - buildscripts. The tasks are aimed to avoid redundancy between - Eclipse and Ant configurations in order to build small but - powerful build systems for the continuous integration - process

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.1 and higher -
- URL: - - http://ant4eclipse.sf.net -
- Contact: - - - ant4eclipse user mailing list - -
- License: - - Sun Public License -
-

- - Antcount -

-

Antcount is a set of filters that can be used to gather statistics - from files or resources. It is mainly used for log files analysis. - It allows to:

    -
  • count inputs (lines, strings)
  • -
  • count occurrences of each input
  • -
  • calculate average, max and min values of floats in input
  • -
- Antcount also includes some useful filters to:
    -
  • stop filtering: read everything but write nothing
  • -
  • echo input to the console or to a file. This allows users to create - several files at once
  • -
  • split the stream in two for parallel processing
  • -
-

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.2 and higher -
- URL: - - http://antcount.sourceforge.net/ -
- Contact: - - Patrick Martin -
- License: - - LGPL -
-

- - AntDoc -

-

AntDoc is a tool that generates HTML documentation from Ant - buildfiles; the generated HTML is inspired from what javadoc - yields. AntDocGUI offers a simple Ant target launcher named - AntDoc GUI. Ant targets may be launched from the generated - AntDoc HTML pages. Integration to various IDEs is in - progress.

-

AntDoc can be run via an Ant task, AntDoc GUI can be run - via an Ant task, or via a JVM launch.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 and higher -
- URL: - - http://antdoc.free.fr/ -
- Contact: - - Edouard Mercier -
- License: - - Apache Software License 1.1 -
-

- - AntDoclet -

-

AntDoclet is a tool to automatically generate documentation out of - your Ant Tasks' source code.

-

It is implemented as a Javadoc doclet, and generates reference - documentation and other deliverables from the source code of your - custom Ant Tasks/Types.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6+ (not tested on earlier versions) -
- URL: - - http://antdoclet.neuroning.com/ -
- Contact: - - Fernando Dobladez -
- License: - - GPL -
-

- - Anteater -

-

Anteater is a set of Ant tasks for the functional testing of websites - and web services (functional testing being; hit a URL and ensure the - response meets certain criteria). Can test HTTP params, response - codes, XPath, regexp and Relax NG expressions. Includes HTML reporting - (based on junitreport) and a hierarchical grouping system for quickly - configuring large test scripts. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://aft.sourceforge.net/ -
- Contact: - - developer - mailing list -
- License: - - Apache Software License 1.1 -
-

- - AntForm -

-

Provides a java/swing form-based input scheme for - configuring ant properties and launching ant targets.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.2. -
- URL: - - http://antforms.sourceforge.net/ -
- Contact: - - René Ghosh -
- License: - - GNU General Public License -
-

- - Antmerge -

-

Provides simple inheritance between ant files

-

As noted on the website, this project is deprected.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.5. Should work with all versions. -
- URL: - - http://www.russet.org.uk/antmerge.html -
- Contact: - - Phillip Lord -
- License: - - GNU Lesser General Public License -
-

- - Antomology -

-

Antomology is an analysis tool suite for Ant. It includes:

    -
  • StatisticsListener - an Ant BuildListener which can be used to gather - statistics while an Ant build is executed. Statistics on the targets - and tasks executed are written to the console after the build completes.
  • -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - unknown -
- URL: - - http://antomology.codehaus.org -
- Contact: - - contact page -
- License: - - Apache License V2.0 -
-

- - AntPrettyBuild -

-

- Ant Pretty Build is a tool to easily show and run Ant buildfiles directly from - within a browser window. It consists of a single XSL file that will generate, - on the fly, in the browser, from the .xml buildfile, a pretty interface showing - project name, description, properties and targets, etc. sorted or unsorted, - allowing to load/modify/add properties, run the whole project, or run selected - set of targets in a specific order, with the ability to modify logger/logfile, - mode and add more libs or command line arguments. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - All Ant versions -
- URL: - - Ant Pretty Build Homepage -
- Contact: - - Charbel BITAR -
- License: - - Apache License V2.0 -
-

- - AntRunner -

-

AntRunner is an easy to use and free GUI application for running - Ant build files. It's written for .NET so it should run on any Windows - Platform.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and newer -
- URL: - - http://visualdrugs.net/antrunner/ -
- Contact: - - Andre Fiedler -
- License: - - GPL -
-

- - AntSpaces -

-

AntSpaces provides Ant integration with JavaSpaces. This - allows you to coordinate Ant tasks via JavaSpaces, pull out - work units from a JavaSpace for distributed Ant tasks to work - on, and so forth.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - - http://www.oopsconsultancy.com/software/antspaces/ - -
- Contact: - - antspaces at oopsconsultancy.com -
- License: - - Apache Software License 1.1 -
-

- - AntTimerTask -

-

Timer - is task for measuring the time elapsed to complete other - tasks

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 -
- URL: - - - http://www.jeckle.de/freeStuff/AntTimerTask/index.html - -
- Contact: - - mario@jeckle.de -
- License: - - Lesser GNU Public License -
-

- - Ant Web Start Task -

-

Ant Web Start Task is an Ant task allowing developers to - package a desktop application as a WAR (Web Application - Archive) to be distributed over the net via Java Web Start

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and above -
- URL: - - http://ant-jnlp-war.sourceforge.net/ -
- License: - - Apache License 2.0 -
-

- - AntXtras -

-

A collection of powerful Ant extensions components - organized into five categories: fixture-control, - execution-rules, flow-control, feedback, and helpers.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 -
- URL: - - AntXtras Home -
- Contact: - - SSMC -
- License: - - GNU Lesser General Public License (LGPL 2.1) -
-

- - Build Number -

-

Build Number is a tool to track software artifacts such as files and automatically assign - proper version/build numbers to them. It ensures that two different artifacts will have different - version/build numbers, but identical artifacts/builds will be assigned the same number. It doesn't - take version management away from you and doesn't replace your build process, but rather plugs - into the process and introduces version/build number governance by defining who is in charge of - which part of version number. With Build Number you are still in charge of the head of the version - number. E.g. you may decide to have 4 numbers in your version (major, minor, interface, implementation) - and you want to manage the two first numbers (major and minor). Build Number will take care of the - tedium of managing the last two numbers (interface and implementation).

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with Ant 1.5.4 and 1.6.5 -
- URL: - - http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/build-number/ -
- Contact: - - Project Contact Page -
- License: - - Commercial -
-

- - Checkstyle -

-

Checkstyle is a development tool to help programmers write - Java code that adheres to a coding standard. Its purpose is to - automate the process of checking Java code, and to spare - humans of this boring (but important) task.

-

Checkstyle can be run via an Ant task or a command line - utility.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 and later -
- URL: - - http://checkstyle.sourceforge.net/ -
- Contact: - - Oliver Burn -
- License: - - Starting with release 2.0 the license is the GNU - Lesser General Public License. Prior releases were under - the GNU General Public License. -
-

- - ChownTask -

-

ChownTask is an Ant task to change ownership of files on Unix.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 16 2003. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 and up -
- URL: - - - http://sourceforge.net/projects/chowntask/ - -
- Contact: - - Wilfred Springer - -
- License: - - GNU General Public License -
-

- - CleanImports -

-

Removes unneeded imports. Formats your import - sections. Flags ambiguous imports.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 and up -
- URL: - - http://www.cleanimports.tombrus.nl -
- Contact: - - Tom Brus -
- License: - - Apache Software License 1.1 -
-

- - Clover -

-

Clover is an Ant-based Code Coverage tool. It can be used - seamlessly with Ant-based projects. It provides method, - statement, and branch coverage analysis, and has rich - reporting in XML, HTML or via a Swing GUI.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 or greater -
- URL: - - http://www.cenqua.com/clover/ -
- Contact: - - clover-support@cenqua.com -
- License: - - Commercial, free licenses available for open source - projects. -
-

- - CMSDeploy -

-

CMSDeploy is - an Apache Ant Task to submit files and templates to Vignette - CMS.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 and later -
- URL: - - http://cmsdeploy.sourceforge.net -
- Contact: - - masogato@users.sourceforge.net -
- License: - - GNU Lesser General Public License -
-

- - Cocoon Task -

-

This task allows the generation of static web pages and - sites using Apache Cocoon in off-line mode.

-

It allows the configuration information for Cocoon to be - included within the Ant build file, and is thus - able to take advantage of Ant properties.

-

The task shares its code with the Cocoon Command Line, which - means that this task will instantly take - advantage of any new functionality added there.

- - - - - - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.3 and above -
- URL: - - http://cocoon.apache.org -
- Documentation: - - http://cocoon.apache.org/2.1/userdocs/offline/ant.html -
- Contact: - - users at cocoon.apache.org -
- License: - - Apache License 2.0 -
-

- - Commons Configuration Ant Task -

-

A set of Ant task that help convert Apache Commons - Configuration property files into build properties, java Enum's - (that are populated at runtime), and any exportable property / - env file desired (e.g., csh, bash, bat, etc.).

-

This project provides the following tasks: -

    -
  • CreateEnumTask: Creates a Java enum based on - commons configuration property files.
  • -
  • ExportPropertiesTask: Exports commons - configuration properties to a external file in a using a - specified format.
  • -
  • LoadPropertiesTask: Loads commons configuration - properties into pre-generated Java enum.
  • -
-

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and above -
- URL: - - http://code.google.com/p/commonsconfiganttask/ -
- Contact: - - ndunn at me.com -
- License: - - Apache License 2.0 -
-

- - Configure -

-

Recursive build support (call ant on every package level, - and only build files in that package or in that package and - everything below) with seperation of source and output.

-

The task generates build files in any subdirectory (except - for CVS-directories) for you. Only place one build.xml file in - the top and call target 'setup' or - 'rescan'.

-

As of 2009-03-06 this site was offline due database problems. So we do not know - if this still longer exist. But you could also try Ants own <subant> task.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and 1.3 -
- URL: - - http://www.dsdelft.nl/~lemval/ant/ -
- Contact: - - M.J.P. van Leeuwen -
- License: - - License derived from Apache Software License 1.1 -
-

- - CVSGrab -

-

A little CVS client that can be useful when people are - behind corporate firewall that blocks any cvs - communications. It uses the ViewCVS web interface to access - the CVS repository via standard http, and downloads all the - files present in it.

-

It works from the command line or as an Ant task.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 or higher -
- URL: - - http://cvsgrab.sourceforge.net/ -
- Contact: - - CVSGrab - user mailing list -
- License: - - LGPL -
-

- - Dependencies -

-

The dependencies task manages a set of external dependencies which - may be downloaded from a remote repository, - such as ibiblio.org. Uses a local cache to avoid repeated - downloads.

-

Note: While the HttpUnit site is still active, the referenced URL is not available. - You could also try Ivy.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.5.1, should work with 1.4+. -
- URL: - - http://www.httpunit.org/doc/dependencies.html -
- Contact: - - Russell Gold -
- License: - - MIT License -
-

- - Dependency Finder -

-

Dependency Finder extracts dependencies and OO metrics from - Java class files produced by most Java compilers. It can compute - API differences between versions; no sources needed. It includes - Ant tasks, web, Swing, and command-line interfaces, with XSL - stylesheets for formatting output.

-

You can use it to extract dependencies between packages, classes, - or even methods, or any combination thereof. You can use Perl - regular expressions to filter the information and pinpoint only - what you need. There is even a Web Application version (WAR file) - so a whole group of developers can share a common view.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.5.3, should work with 1.4+. -
- URL: - - http://depfind.sourceforge.net/ -
- Contact: - - Jean Tessier -
- License: - - BSD-like License -
-

- - Doxygen task -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://ant-doxygen.blogspot.com -
- Contact: - - Karthik A Kumar -
- License: - - Apache License 2.0 -
-

- - DTDDoc -

-

DTDDoc is here to help you to document your DTD's efficiently. It is a - straightforward extension of the javadoc concept to the DTD file format.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - http://dtddoc.sourceforge.net/ -
- Contact: - - Project Mailing List -
- License: - - X11 (Open Source) -
-

- - dynaTrace Ant Task -

-

dtAnt allows integrating automated performance analysis - into your ant builds. This way you can easily record performance metrics - of your tests and get alerts to performance regressions.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and higher -
- URL: - - http://www.dynatrace.com/antTask -
- Contact: - - dynaTrace Support -
- License: - - dynaTrace BSD -
-

- - EnvGen -

-

- EnvGen is an Ant task for generating - different versions of the same file parameterized for different environments (i.e. - development, test, and production). File generation is done using - FreeMarker, a template engine with a full-featured - templating language. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 or higher (not tested on earlier versions) -
- URL: - - http://www.basilv.com/software -
- Contact: - - EnvGen Feedback Page -
- License: - - GPL -
-

- - EMMA -

-

EMMA is an open-source toolkit for measuring and reporting - Java code coverage. EMMA distinguishes itself from other tools - by going after a unique feature combination: support large-scale - enterprise software development while keeping individual developers - work fast and iterative at the same time.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - http://emma.sourceforge.net/ -
- Contact: - - Mailinglist -
- License: - - Common Public License 1.0 -
-

- - EPP Task -

-

EPP Task is an easy preprocessor ant task. - The next directives are supported: #ifdef, #ifndef, #else, - #endif and #include.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and higher -
- URL: - - - http://sourceforge.net/projects/epptask/ -
- Contact: - - Dmitriy Rykov -
- License: - - Apache License 2.0 -
-

- - FMPP -

-

FMPP is a general-purpose text file preprocessor tool that - uses FreeMarker templates. It is particularly designed for - HTML preprocessor, for the generation of complete (static) - homepages: directory structure that contains HTML-s, image - files, etc. But of course it can be used to generate source - code or whatever text files. FMPP is extendable with Java - classes to pull data from any data sources (XML file, - database, etc.) and embed the data into the generated - files.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 -
- URL: - - http://fmpp.sourceforge.net/ -
- License: - - BSD License -
-

- - GenJar -

-

Builds a JAR file based on class dependencies rather than simply the contents of a directory

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 alpha (built after 2001/08/04) and later -
- URL: - - http://genjar.sourceforge.net/ -
- Contact: - - Jesse Stockall -
- License: - - Apache Software License 1.1 -
-

- - Grand -

-

Grand is a set of tools to create a visual representation of Ant target - dependencies. It works by taking an Ant build file and creating a "dot" file. It - differs from the existing tools by relying on the Ant API rather than XML parsing to - get the dependencies. It includes many advanced features such as filtering or - rendering depending on the target's nature. Also features a SWT based GUI.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and later -
- URL: - - http://www.ggtools.net/grand/ -
- Contact: - - Christophe Labouisse -
- License: - - BSD License -
-

- - Greebo -

-

Greebo is an Ant-task for downloading dependency files - (currently only jars) from a network to a specified directory, - much like Maven. It supports multiple local and remote - repositories with either flat or maven-like structures. It can - read the dependency list from a Maven project file, a - maven-like dependency file, or directly from the build.xml - file.

-

Note: As the Sourceforge project site - shows, the last update was on Mar 12 2003 . - You could also try Ivy. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://greebo.sourceforge.net/ -
- Contact: - - project mailing lists -
- License: - - Apache Software License 1.1 -
-

- - GroboUtils CodeCoverage -

-

The CodeCoverage sub-project of GroboUtils provides a 100% - pure Java code coverage tool. It uses pre-execution class file - recompilation, and generates XML files containing the coverage - statistics. It does not require any advanced VM setup to generate - coverage numbers. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 -
- URL: - - http://groboutils.sourceforge.net/codecoverage/ -
- Contact: - - project mailing lists -
- License: - - MIT License -
-

- - Hammurapi -

-

Java code review tool. Performs automated code - review. Contains 111 inspectors which check different aspects - of code quality including coding standards, EJB, threading, - ...

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with Ant 1.5.x and 1.6.5 -
- URL: - - http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/hammurapi/index.html -
- Contact: - - Support adress -
- License: - -   -
-

- - HelpStudioAnt -

-

This task allows for HelpStudio projects to be created via Ant.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.0 and later -
- URL: - - http://helpstudioant.sourceforge.net -
- License: - - GNU General Public License -
-

- - IDLDepend -

-

idldepend is a task that (re)generates Java sources to be - created from CORBA/IDL files.

-

It parses the IDL file and determines the Java files that - must be generated, taking in account the modifications that - can happen due to command line parameters. If any of the Java - files are missing or older than the source IDL specification, - it launches the specified compiler. The compilers of Orbacus, - Jacorb, OpenORB, Orbix2k and Sun'JDK distributions are - supported.

-

To speed up the process and avoid unnecesary re-parsing, it - keeps the dependencies in intermediate files. This task does - not launch the javac compiler as well, that is, its output are - Java files and not the final bytecode.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 or later -
- URL: - - http://www.coderazzi.net/idldepend/ -
- Contact: - - lu@coderazzi.net -
- License: - - free source, no license restrictions -
-

- - Importscrubber -

-

Removes unnecessary import statements from a Java source code file.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 -
- URL: - - http://importscrubber.sourceforge.net/ -
- Contact: - - Tom Copeland -
- License: - - LGPL -
-

- - ImTask -

-

ImTask is a task to allow one to send an Instant - Message. Currently supports yahoo!, AIM, and Jabber

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 or higher -
- URL: - - http://imtask.sourceforge.net -
- Contact: - - Jon Madison -
- License: - - GNU LGPL -
-

- - Incanto -

-

Ant tasks to provide support for Oracle database tools - (such as SQL*Plus, Import, Export)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 -
- URL: - - http://incanto.sourceforge.net/ -
- Contact: - - Alexander Karnstedt -
- License: - - Apache License, Version 2.0 -
-

- - IsDirValidator -

-

Checks whether a given directory structure conforms to - certain rules that are defined via nested elements of the - task.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://isvalidator.sourceforge.net/en/isDirValidator.htm -
- Contact: - - Iñigo Serrano -
- License: - - GNU General Public License -
-

- - Ivy -

-

Ivy is a simple yet powerful dependency manager featuring - continuous integration, dependencies of dependencies - management, multiple repositories including ibiblio and high - performance (use of a local cache).

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.5.1 (1.6.5 or 1.7.1 recommended) -
- URL: - - http://ant.apache.org/ivy/ -
- Contact: - - ivy-user (at) ant (dot) apache (dot) org [User Mailinglist] -
- License: - - Apache License 2.0 -
-

- - J2ME Ant Tasks -

-

There are different sets of tasks to help build Java 2 Platform, Micro - Edition (J2ME) applications.

-
- - *** Antenna *** -
-

Antenna provides a set of Ant tasks suitable for developing - wireless Java applications targeted at the Mobile Information - Device Profile (MIDP). With Antenna, you can compile, - preverify, package, obfuscate, and run your MIDP applications - (aka MIDlets), manipulate Java Application Descriptor (JAD) - files, as well as convert JAR files to PRC files designed to - run on MIDP for Palm OS. Deployment is supported via a - deployment task and a corresponding HTTP servlet for - Over-the-Air (OTA) provisioning. A small preprocessor allows - to generate different variants of a MIDlet from a single - source.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 or later -
- URL: - - http://antenna.sourceforge.net/ -
- Contact: - - Jörg Pleumann -
- License: - - GNU Lesser General Public License -
-
- - *** Antic *** -
-

Antic is a freely available task for packaging J2ME - applications. It produces both the Jar and Jad files in a - single step. This allows *all* entries to be correclty set in - the jad file, including the size of the jar file that is - produced. This task has been used and tested extensively with - Sun's Wireless Toolkit and also the Nokia SDK and - emulators.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://www.smartkey.co.uk/tools/antic/antic.html - -
- Contact: - - smartkey.co.uk -
- License: - - GNU General Public License -
-
- - *** Dave's J2ME Tasks *** -
-

This set supports CLDC and the K Virtual Machine (KVM):

-

Note: As the website shows the 'most recent news' is from 18 Apr 2001

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 -
- URL: - - http://www.dribin.org/dave/j2me_ant/ -
- Contact: - - Dave Dribin -
- License: - - Apache Software License 1.1 -
-
- - *** J2ME Polish *** -
-

J2ME Polish is an Ant-based tool for the creation of - MIDP applications. It covers the whole circle of preprocessing, compiling, - obfuscation, preverifying, packaging and JAD-creation. J2ME Polish is - ideal for creating device optimized applications with its powerful - preprocessing capabilities and the integrated device database. - With J2ME Polish no hardcoded values are needed and the portability of an - application is not sacrificed, even though highly optimized applications are - created from a single source. -
- It contains a logging framework and an optional MIDP-compatible GUI - which can be designed using the web-standard CSS. With the J2ME Polish GUI - you can even use MIDP/2.0 features on MIDP/1.0 phones. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 or later -
- URL: - - http://www.j2mepolish.org/ -
- Contact: - - Enough Software -
- License: - - GNU General Public License; commercial licenses available -
-
- - *** Stampysoft's J2ME Tasks *** -
-

And this set works with the J2ME Wireless Toolkit and MIDP - for PalmOS.

-

Note: as the website shows, the 'current release' is from 11/5/2001

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 -
- URL: - - http://www.jeckels.com/ant/ -
- Contact: - - Josh Eckels -
- License: - - MIT License -
-

- - Jacson -

-

Jacson is a configurable and plugable tool (much like Ant - itself) to create filters for text (line based) files without - programming.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Jacson has been used and tested with 1.5.1, should - work with 1.4+ -
- URL: - - http://jacson.sourceforge.net/ -
- Contact: - - jacson-user@lists.sourceforge.de -
- License: - - GNU Library or Lesser General Public License -
-

- - Jalopy -

-

An Ant Plug-in for the Java Source Code Formatter - Jalopy.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 (or higher) -
- URL: - - http://jalopy.sourceforge.net/ -
- Contact: - - http://jalopy.sf.net/contact.html -
- License: - - Starting with release 1.0 Beta 6 the license is the - BSD License. Prior releases were under the GNU General - Public License. -
-

- - JarBundler -

-

JarBundler is a task that generates Mac OS X native Java - Application Bundles. It is fully configurable and can be used - to generate Mac OS X application bundles from any supported - Java platform, making it ideal for targeting multiple - platforms with one build.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - http://www.loomcom.com/jarbundler/ -
- Contact: - - Seth Morabito -
- License: - - GNU General Public License -
-

- - JarPatch -

-

JarPatch is a task that generates a zip file resulting of - the diff between the content of 2 jar files.

-

The resulting diff file can be use as a patch for a - previous installation (just ensure that the generated - patch.zip file is located on the CLASSPATH before the patched - oldJar jar file).

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://norb.dnsalias.org/ant/ -
- Contact: - - Norbert Barbosa -
- License: - - LGPL License -
-

- - Java+ Precompile Task -

-

Java+ is an open source Java preprocessor that adds these - features to any Java compiler:

-
    -
  • Multi-line strings with executable inclusions like Perl - and Ruby. It eliminates the need for JSP or ASP and their - need for Java compilers on deployment servers (a security - concern) while adding no overhead in either space or - time.
  • - -
  • Optionally supports localization by segregating Java+ - strings into ResourceBundle files with invarient keys based - on the hash code of the strings's value. This is handled - automatically and transparently; no intervention is - required.
  • - -
  • Fast. Negligible impact on build times. By default, - skips inputs whose outputs are up to date to avoid - triggering recompilations.
  • - -
  • Pure Java code, portable to any platform, with - graphical, shell and ant interfaces.
  • - -
  • Simple, general, recursive, digraph-driven string - syntax. Digraph characters are user-selectable.
  • -
- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 -
- URL: - - http://virtualschool.edu/java+/ -
- Contact: - - Brad Cox -
- License: - - BSD-like License -
-

- - Java2Html -

-

There are two different tools both named Java2HTML that - process Java source code and generate syntax highlighted - documentation from it. Both include Ant tasks to run - them.

-

Java2Html library for converting java source files - or snipplets to syntax highlighted html, rtf, tex and - others.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://www.java2html.de/ -
- Contact: - - java2html@jave.de -
- License: - - GNU General Public License -
-

Java2HTML is a simple-to-use tool which converts a bunch of - Java Source Code into a colourized and browsable HTML - representation.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.5.1 onwards -
- URL: - - http://www.java2html.com/java2html_ant_task.html -
- Contact: - - support@java2html.com -
- License: - - FreeWare -
-

- - Javamake -

-

A task to compile Java sources and manage class file - dependencies. Functionality is equivalent to that of standard - Javac and Depend tasks combined, with improved dependency - checking.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 -
- URL: - - http://www.experimentalstuff.com/Technologies/JavaMake/index.html -
- Contact: - - Mikhail Dmitriev -
- License: - - BSD-like License -
-

- - javarec -

-

Ant tasks that generate record classes for VisualAge for - Java from Cobol copy books.

-

Note: the website shows that the latest version 1.1 is from December 2, 2001

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://glezen.org/javarec/ -
- Contact: - - Paul Glezen -
- License: - - Apache Software License 1.1 -
-

- - JCSC -

-

JCSC is a Java Coding Standard Checker which also features - the generation of some code metrics. It is a command line tool - with an Ant task to scan whole package trees. The result can - viewed in an JavaDoc style web page.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant >= 1.5 -
- URL: - - http://jcsc.sourceforge.net/ -
- Contact: - - Ralph Jocham -
- License: - - GNU General Public License -
-

- - JDeb -

-

JDeb provides an Ant task and a Maven plugin to create - Debian packages from Java builds in a truly cross platform - manner. Build your Debian packages on any platform that has - Java support. Windows, Linux - it does not require - additional native tools installed.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7 (not tested on earlier versions) -
- URL: - - http://vafer.org/projects/jdeb/ -
- Contact: - - Torsten Curdt -
- License: - - Apache License 2.0 -
-

- - Jdiff -

-

A task that generates an HTML report of all the packages, classes, - constructors, methods, and fields which have been removed, added or - changed in any way, including their documentation, when two APIs are - compared.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 -
- URL: - - - - http://javadiff.sourceforge.net/ -
- Task Documentation: - - - - (in CVS) -
- License: - - LGPL -
-

- - JFlex -

-

JFlex is a lexical analyzer generator (also known as - scanner generator) for Java, written in Java.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://jflex.de/ -
- Contact: - - jflex-users mailing list -
- License: - - GNU General Public License (GPL) -
-

- - JindentTask -

-

JindentTask is a very straightforward wrapping of the - Jindent tool, a vendor code beautifier. It enables to use - Jindent natively from Ant.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 and higher -
- URL: - - http://the.edouard.mercier.free.fr/Jindent_content.php -
- Contact: - - Edouard Mercier -
-

- - Jing Task -

-

Validates XML files against the RELAX NG alternative to XML Schema. - The Jing task for Ant allows you to efficiently validate - multiple files against multiple RELAX NG patterns and integrate - RELAX NG validation with other XML processing.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - - http://www.thaiopensource.com/relaxng/jing-ant.html -
- License: - - BSD-like -
-

- - jMetra -

-

jMetra is a tool for collecting code metrics across a - project lifecycle and compiling the results into - JavaDoc-styled documentation to analyze project metrics over - time. jMetra is best utilized by integrating it with your - project's scheduled build process.

-

It works from the command line or using several provided - Ant tasks.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and higher -
- URL: - - - http://www.jmetra.com/ - -
- Contact: - - - R Todd Newton - - -
- License: - - Commercial, free licenses for open source projects and - evaluations. -
-

- - JMX4Ant -

-

JMX4Ant provides tasks for integration with JMX (Java Management - Extensions). It provides tasks for getting and setting attributes - of MBeans, invoking their methods and much more.

-

Note: As the Sourceforge project site - shows, the last update was on May 28 2003. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and higher -
- URL: - - - http://jmx4ant.sourceforge.net/ - -
- Contact: - - - Brian Dueck - -
- License: - - Apache Software License 1.1 -
-

- - JNI -

-

- - JNI is a free toolkit that makes easy work of - integrating Java and C through the Java Native - Interface (JNI). It includes a code generator that - generates both Java "proxy" classes to access C - "peer" classes, and C "proxy" classes to access - Java "peer" classes or interfaces. It also - includes a core library with a simplified JVM - interface as well as "helper" classes to ease - working with the JNI data types. The code - generation is driven by an XML project file that - can be created with the assistance of the GUI - Project Manager. The code generation can be - invoked either from Ant or from the - GUI. Includes a comprehensive printable PDF User - Guide and plenty of examples.

-

Note: As the Sourceforge project site - shows, the last update was on Jan 29 2002. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://jnipp.sf.net/ -
- Contact: - - Phillip E. Trewhella -
- License: - - GNU LGPL -
-

- - JPP -

-

- JPP is a preprocessor for Ant supporting - many different file types that allows you to include / exclude contents based on - build-time parameters. It is completely invisible to other tools and takes the hassle - out of maintaining customised code or content. It is free, is provided as an Ant task, - and very simple to use. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 -
- URL: - - http://www.javapreprocessor.com -
- Contact: - - info@javapreprocessor.com -
- License: - - Freeware -
-

- - JReleaseInfo -

-

Sometimes you are interested at runtime to have information - from build time. This may be the build date, a build number or - the version. The JReleaseInfo Ant Task generates a java - source file with getter methods for any desired and provided - properties. Furthermore, it can automatically generate a - viewer (which can e.g. be used as main-class in a library jar - file) that shows the included release information.

-

Note: As the Sourceforge project site - shows, the last update was on Aug 07 2005. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and later -
- URL: - - HomePage on SourceForge -
- Contact: - - Forums/Tracker on SourceForge -
- License: - - Apache License 2.0 -
-

- - JRun Ant Tasks -

-

JRun 4 SP1 ships with lib/jrun-ant-tasks.jar, which defines - three Ant tasks: jrun, jrunapp, and jrunjmx. Documentation - for the tasks can be found in JRun under - docs/ant/jrun.html.

-

Note that the service pack must be installed on top of an - existing JRun 4 installation.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 or higher -
- URL: - - http://www.adobe.com/products/jrun/ -
- License: - - Commercial -
-

- - JsDoc Toolkit Ant Task -

-

JsDoc Toolkit is an application, written in JavaScript, for - automatically generating template-formatted, multi-page HTML - (or XML, JSON, or any other text-based) documentation from - commented JavaScript source code.

-

This project is a simple wrapper around the JsDoc Toolkit - documentation program. It gives the user all the command - line options, with the flexibility of using in within an Ant - build file.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7.0 or higher -
- URL: - - http://code.google.com/p/jsdoc-toolkit-ant-task/ -
- Contact: - - Darren Hurley -
- License: - - Apache License 2.0 -
-

- - JSMin Ant Task -

-

The JSMin Ant task can be used for the automated minification of javascript files - in your build and deploy processes.

-

JSMin is a filter which removes comments and unnecessary whitespace from javascript - files. It typically reduces filesize by half, resulting in faster downloads.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 or higher -
- URL: - - http://code.google.com/p/jsmin-ant-task/ -
- Contact: - - M. Haynes -
- License: - - Apache License 2.0 -
-

- - JudoScript Ant Task -

-

The <judoscript> task is an easy way to embed JudoScript - code in the Ant build script. The tag format is quite simple. You can - either embed code directly, or can specify an external JudoScript program - file as the src attribute value. Parameters can be specified - as the params attribute; this is applicable to both embedded - code and external files. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 or higher -
- URL: - - http://www.judoscript.org/books/judoscript-0.9/chapters/ant.html -
- Contact: - - James Jianbo Huang -
- License: - - Lesser GNU Public License -
-

- - Just4log Ant Task -

-

Just4log is a ant task to optimize JVM bytecode with regards - for Logs ( be it, Log4j, Apache Commons or JDK 1.4 ) - It depends on apache BCEL for Bytecode engineering.

-

Note: As the Sourceforge project site - shows, the last update was on Oct 19 2003. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.2 or higher -
- URL: - - http://just4log.sourceforge.net -
- Contact: - - Lucas Bruand -
- License: - - Apache License 1.1. -
-

- - Kanaputs -

-

Kanaputs is a parser for java based scripting. It is an - interpreter for Java. With Kanaputs you can use Java as an - interpreted language: no more compilation, each instruction is - executed when you write it. It is a small programmation - language to make script files above Java.

-

Kanaputs Ant Task provides a way to add any kind of - programmatic features in your Ant script. The code you insert - stays OS independent (because Kanaputs uses Java) and is - completely integrated with Ant as you can give Ant properties - to the Kanaputs code and get back the results in other - properties.

-

Moreover, as you can invoke any kind of Java code with - Kanaputs, you can popup windows from your Ant file to ask the - user to do a choice.

-

Note: the website - shows that the latest version 1.4 is from Nov 26, 2004. The mailing archive from - the last few months contains only spam...

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and above -
- URL: - - - https://kanaputs.dev.java.net//
- https://kanaputs.dev.java.net/ant.pdf - -
- Contact: - - - kfra@dev.java.net - -
- License: - - Freeware -
-

- - LaTeX Task -

-

Simple Task to use (PDF)LaTeX, BibTeX, Makeindex and GlossTeX to - create your documentation.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.2 and above -
- URL: - - - http://www.dokutransdata.de/
- http://www.dokutransdata.de/ant_latex/ - -
- Contact: - - - jaloma@dokutransdata.de - -
- License: - - Freeware -
-

- - Macker -

-

A build-time architectural testing tool, designed - to maintain clean layering / tiering / modularity. - Macker works against compiled class files, checking - dependencies between classes against a set of - pattern-based access rules you specify for your - project in an XML rules file. Macker doesn't presume - anything about your architecture -- you write the - rules, and Macker keeps you honest about them.

-

Note: As the Sourceforge project site - shows, the last update was on Nov 02 2003. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and higher (1.4 untested but may work) -
- URL: - - http://innig.net/macker/ -
- Contact: - - Paul Cantrell -
- License: - - GNU GPL 2.0 -
-

- - MakeRunScript -

-

MakeRunScript creates a run script for your application. Even if you are developing on windows, - you can make a run script for *nix and vice versa. If you've used the built-in java task before, you - already know how to use 90% of MakeRunScript.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7 and higher -
- URL: - - http://sourceforge.net/projects/makerunscript/ -
- Contact: - - MakeRunScript forums -
- License: - - Apache 2.0 -
-

- - mtxslt -

-

The mtxslt (Multi-XSLT) extends the standard Ant "xslt/style" task - to make it easy to use multiple XSLT engines during the same build. - This is useful for regression testing of XSLT scripts against several - engines.

-

Note: As the Sourceforge project site - shows, the last update was on Oct 16 2002. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://mtxslt.sourceforge.net/ -
- Contact: - - Anthony B. Coates -
- License: - - Apache Software License 1.1 -
-

- - nsd2LaTeX Task -

-

Simple Task to use nsd2ltx to build your Nassi-Shneiderman diagrams.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.2 and above -
- URL: - - - http://www.dokutransdata.de/
- http://www.dokutransdata.de/ant_nsd2ltx/ - -
- Contact: - - - jaloma@dokutransdata.de - -
- License: - - Freeware -
-

- - Nurflugel AntScript Visualizer -

-

The Nurflugel AntScript Visualizer takes your build file, - finds any imported build files, and shows all relationships - between targets, taskdefs, macrodefs, Ant and Antcalls; output - options include PDF, SVG, and PNG. Many options including - grouping by build file, inclusion/exclusion of targets, - taskdefs, imports, etc. Installation is via Java WebStart, so - you'll always have the freshest version available.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.1 and later -
- URL: - - http://www.nurflugel.com/webstart/AntScriptVisualizer/ -
- Contact: - - dbullard <at> nurflugel <dot> com (email - will receive a challenge to weed out spam) -
- License: - - GNU General Public License -
-

- - Orangevolt Ant Tasks -

-

Orangevolt ANT Tasks is a collection of Tasks for Apache - Ant.

-

The Orangevolt Ant Tasks collections provides a bunch of - Appplication Deployment related Tasks from windows specific - tasks (registry access, executable generation), *nix specific - tasks (kde/gnome shortcut generation) to many useful utility - tasks like jnlp generation.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 or above -
- URL: - - http://sourceforge.net/projects/ovanttasks -
- Contact: - - info@roxes.com -
- License: - - GNU General Public License (GPL) -
-

- - pack -

-

pack is a task to build the smallest possible JAR to link - and run one or more classes.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://sadun-util.sourceforge.net/pack.html -
- Contact: - - Cristiano Sadun -
- License: - - GNU Lesser General Public License -
-

- - PCT -

-

PCT is a task to compile Progress code, and in a more general - way, to deal with Progress procedures and databases.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://pct.sourceforge.net -
- Contact: - - Gilles QUERRET -
- Licence: - - Apache License 2.0 -
-

- - PesterCat Ant Toolkit -

-

PesterCat is a web testing tool that was designed to - perform functional testing for web applications. The PesterCat - Ant Toolkit contains tasks to playback test scripts and create - HTML reports. -

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and later -
- URL: - - http://www.pestercat.com/ -
- License: - - Commercial -
-

- - PMD -

-

PMD checks Java source code for unused variables, - unnecessary object creation, etc

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and higher -
- URL: - - http://pmd.sf.net/ -
- Contact: - - Tom Copeland -
- License: - - BSD style license -
-

- - PRes -

-

PRes is short for Property Resources and will generate a Java source - file from name=value pair .property files which can be compiled like any - other class.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later (may work with earlier) -
- URL: - - http://mseries.sourceforge.net -
- Contact: - - MSeries -
- License: - - LGPL -
-

- - ProGuard -

-

ProGuard is - a free Java class file shrinker and obfuscator. It can detect - and remove unused classes, fields, methods, and attributes. It - can then rename the remaining classes, fields, and methods - using short meaningless names.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.5. Should work with all versions. -
- URL: - - - http://proguard.sourceforge.net/ - -
- Contact: - - - Feedback Page - -
- License: - - GNU General Public License -
-

- - properties2java -

-

Properties2Java is an Ant task for automatic conversion of - java ".properties" files to ".java" files extending the - java.util.ListResourceBundle.

-

Note: As the Sourceforge project site - shows, the last update was on Jun 04 2005. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 or above -
- URL: - - http://properties2java.jayefem.de/ -
- Contact: - - Jan-Friedrich Mutter -
- License: - - Apache License 2.0 -
-

- - Purge -

-

Purge deletes all but the most recent few files from a fileset. - For example: if you have generated files (logs, .ear, .war, .jar - etc) accumulating in a directory, the purge task will allow you - to delete the older files, keeping just the most recent ones.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 or above -
- URL: - - http://www.dallaway.com/ant/ -
- Contact: - - Richard Dallaway -
- License: - - LGPL -
-

- - RefactorIT -

-

RefactorIT includes an Ant task for metrics and audits. - RefactorIT is a Java refactoring, audit and metrics tool. - It plugs into major Java IDEs, also runs stand-alone with - a GUI and a command line interface.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://www.refactorit.com/ -
- Contact: - - support@refactorit.com -
- License: - - Commercial. (Free for accredited open source products, see - http://www.refactorit.com/osc.) -
-

- - Reflectant Task -

-

This is a task for reflection invocation from within ant build file.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 or above -
- URL: - - http://sourceforge.net/projects/reflectant/ -
- Contact: - - sv_ant@mail.bg -
- License: - - Apache License 2.0 -
-

- - rundoc -

-

A task designed to help with the single-sourcing of program - documentation. Rundoc replaces special commands - (in the format @@rundoc:command param1 param2...@@) embedded - within text files with their output in a - specified format. Currently, only Docbook format is supported.

-

Rundoc was written to keep sample code output in program - documentation synchronized with the actual output - of the current code, by running the referenced code when the - documentation is built.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.6 Should work with all versions. -
- URL: - - http://www.martiansoftware.com/lab/index.html#rundoc -
- Contact: - - Marty Lamb -
- License: - - Revised BSD -
-

- - SerialVer -

-

SerialVer adds the Java serialver functionality to Apache - Ant. This project adds Tasks and FilterReaders to get, to - insert and to modify the serialVersionUID in the source code - of a serializable class.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 and later -
- URL: - - http://serialver.sourceforge.net/ -
- Contact: - - developer mailing list -
- License: - - Apache Software License 1.1 -
-

- - Simian -

-

Simian (Similarity Analyser) identifies duplication in Java, - C#, C, CPP, COBOL, JSP, HTML source code and even plain text files.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 and later -
- URL: - - - http://www.redhillconsulting.com.au/products/simian/ -
- Contact: - - - simian-user-subscribe@redhillconsulting.com.au (User Mailinglist) - -
- License: - - Commercial, Free Licenses available for Non-Commercial Projects -
-

- - SmartAnalyzer -

-

Powerful analysis of dependencies between Java classes. - Only affected classes will be recompiled and it can be used - with any bytecode compiler.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 21 2003. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Apache Ant version 1.5.1 -
- URL: - - http://smartanalyzer.sourceforge.net/ -
- Contact: - - support at sourceforge project page -
- License: - - GNU General Public Licence (GPL) -
-

- - snip -

-

A task designed to help with the single-sourcing of program documentation. - Snip extracts snippets of text from files, placing them into properties in the Ant project. - These properties can then be used by any other Ant task, and are particularly useful when - referenced by <filter>s within the <copy> task.

-

Snip was originally written to keep snippets of sample code in API documentation synchronized - with the actual sample classes.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with 1.5.1. Should work with all versions. -
- URL: - - http://www.martiansoftware.com/lab/index.html#snip -
- Contact: - - Marty Lamb -
- License: - - Revised BSD -
-

- - spell -

-

Website is gone and nothing found.

-

- - SQL Compiler (SQLC) -

-

SQL Compiler (SQLC) compiles database metadata and SQL statements into data access and data transfer classes.

-

Note: It seems that the product is renamed to jIncarnate.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with Ant 1.5.4 and 1.6.5 -
- URL: - - http://www.hammurapi.biz/products/sqlc -
- Contact: - - Project Contact Page -
- License: - - LGPL -
-

- - SQLUnit -

-

SQLUnit is a regression and unit testing harness for testing - database stored procedures. The test suite is written as an XML file. - The SQLUnit harness itself is written in Java and uses the JUnit unit - testing framework to convert the XML test specifications to JDBC calls - and compare the results generated from the calls with the specified - results. It also provides the <sqlunit> task to run the tests - from a build script.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with Ant 1.6 -
- URL: - - http://sqlunit.sourceforge.net -
- Contact: - - Project forums -
- License: - - GNU General Public License (GPL) -
-

- - Styler -

-

The styler task makes useful combinations of XSLT transformations - easy to specify in an Ant build file. Like the built-in Ant task - style, styler can apply a single transformation to a set of XML files. - But it can also:

-
    -
  • handle multiple transformations, in parallel or pipelined.
  • -
  • enable transformations that split or merge files
  • -
  • process non-XML files, especially HTML (based on JTidy)
  • -
  • apply non-XSLT transformation, especially "regular - fragmentations"
  • -
  • use any custom XMLReader or XMLFilter class to handle new file - formats and transformation techniques.
  • -
- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://www.langdale.com.au/styler/ -
- Contact: - - Arnold deVos -
- License: - - LGPL -
-

- - Syntax -

-

Transforms source files into HTML documents with syntax - highlighting. It can handle a variety of source files - including Java, HTML, C/C++, SQL, and Java properties. Colors - for elements are specified using cascading style sheets. The - output can be templated for easy integration with a site's - look and feel.

-

A very short look into the scm - shows that the last modifications where in 2003.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 -
- URL: - - http://ostermiller.org/syntax/ant.html -
- Contact: - - Stephen Ostermiller -
- License: - - GNU General Public License (GPL) -
-

- - TestSetGenerator -

-

The TestSetGenerator is an ant task for generating property files with - testsets based on the results of SQL queries and validation plug-ins. Very - usefull when building unit tests that make use of changing datasets. This - task is an extension of the Ant SQL task. Hsqldb is used for both the - examples and the unittests.

-

Note: As the Sourceforge project site - shows, the last update was on Jan 04 2004. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - ANT 1.4 (or later) -
- URL: - - http://anttestsetgen.sourceforge.net/ -
- Contact: - - m.c.jansen@planet.nl -
- License: - - GPL -
-

- - TiniAnt -

-

TiniAnt is an Ant task to support building applications for - the TINI.

-

Note: As the Sourceforge project site - shows, the last update was on Mar 05 2002. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 to 1.4.1 -
- URL: - - http://tiniant.sourceforge.net/ -
- Contact: - - Sean Kelly -
- License: - - BSD-like license -
-

- - Transformica -

-

Transformica is a versatile and extensible code generator. - Supports multiple source models including database metadata, Java source files, grammar - files and custom models. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Tested with Ant 1.5.x and 1.6.5 -
- URL: - - http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/transformica/ -
- Contact: - - email support -
- License: - -   -
-

- - Version_Tool -

-

A versioning tool for Ant.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 19 2004. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 -
- URL: - - http://ant.ryangrier.com/ -
- Contact: - - version_tool@ryangrier.com -
- License: - - BSD license -
-

- - VPP -

-

VPP provides general file preprocessing support based on - the Velocity Template Engine. The core functionality is - provided as a filter for use with tasks that supports filter - chains. Also included are replacement tasks for <copy> and - <javac> that integrate support for preprocessing.

-

Note: As the Sourceforge project site - shows, the last update was on May 06 2004. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.5.1 and above -
- URL: - - http://vpp.sourceforge.net/ -
- Contact: - - vpp-user@lists.sourceforge.net -
- License: - - BSD license -
-

- - WOProject -

-

WOProject provides a set of tools to work with - WebObjects 5.1 - independent from platform and IDE. It significantly - improves developer productivity - and makes complex project structures more flexible compared to - traditional Makefile-based approach. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://objectstyle.org/woproject/ -
- Contact: - - Andrus Adamchik -
- License: - - Apache license -
-

- - WSDLValidate -

-

WSDLValidate is, as it sounds, a tool to validate WSDL files.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 or later -
- URL: - - http://www.eclipse.org/webtools/ -
- Contact: - - Project newsgroup and mailing list -
- License: - - Common Public - License (CPL) -
-

- - Xcluder -

-

xcluder is an XML Inclusions (XInclude) task for Apache Ant. - Offers the choice of using Xerces or Elliotte Rusty Harold's XOM API. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 or later. XInclude compliance depends on the - underlying Xerces or XOM used. Xerces 2.5.0 and above works fine, - but please note that 2.6.1 and 2.6.2 processed the - http://www.w3.org/2003/XInclude, now obsolete by - http://www.w3.org/2001/XInclude used by the latest - Candidate Recommendation (13 April 2004). - -
- URL: - - http://sourceforge.net/projects/xcluder -
- Contact: - - mbatsis@users.sf.net -
- License: - - GNU General Public License (GPL), GNU Library or Lesser - General Public License (LGPL) - -
-

- - XDoclet -

-

XDoclet is an extended Javadoc Doclet engine for use in Ant. - It lets you create custom Javadoc @tags and based on those tags - generates source code or other files (such as xml-ish deployment - descriptors). Templates and matching tasks are provided to generate - EJB and web application deployment descriptors. -

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://sourceforge.net/projects/xdoclet/ -
- License: - - BSD license -
-

- - XInclude -

-

XInclude is - a W3C standardized vocabulary for including arbitrary text or XML - documents in other XML documents. This task performes the inclusion - using an existing XInclude implementation

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.2 -
- URL: - - - http://www.jeckle.de/freeStuff/xia/index.html - -
- Contact: - - mario@jeckle.de -
- License: - - Lesser GNU Public License -
-

- - XML Directory Listing Ant Task -

-

The XML Directory Listing task can recurse through a directory structure and produce an - XML representation. The resulting file can then be transformed further with Ant.

-

The XML output is configurable through various options. The SAX parsing is fast and has a - low memory footprint.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 or higher -
- URL: - - http://code.google.com/p/xml-dir-listing/ -
- Contact: - - M. Haynes -
- License: - - Apache License 2.0 -
-

- - XMLReleaseNotes (XRN) -

-

This framework is a release notes framework that enables to - generate textual release notes from an XML file. This is an - open framework that enables to integrate the information - coming from VSC and bug tracking solutions, for instance.

-

Note: As the Sourceforge project site - shows, the last update was on Sep 04 2005. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://xmlreleasenotes.free.fr/ -
- Contact: - - Edouard Mercier -
- License: - - Apache Software License 1.1 -
-

- - XmlTask -

-

XmlTask provides a simple means to modify XML documents - without having to learn XSLT. A simple path reference to an - XML node specifies the node you want to change, and how you - want to allow XML insertion and removal, or attribute - changes. The emphasis is on providing the simplest means to - perform common XML replacements

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - http://www.oopsconsultancy.com/software/xmltask/ -
- Contact: - - xmltask-users at lists.sourceforge.net -
- License: - - Apache Software License 1.1 -
-

- - yGuard -

-

yGuard is a free Java(TM) Bytecode Obfuscator Task that - needs no external script or project files. It can completely - be configured and run through the Ant build script. The task - supports multiple Jar files at once and makes use of - patternsets and regular expressions to specify elements, which - should be left unobfuscated. Additionally it can be used to - produce patches for obfuscated applications that have already - been deployed.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://www.yworks.com/en/products_yguard_about.htm -
- Contact: - - yGuard@yWorks.com -
- License: - - Library: LGPL, Task: Commercial -
-

- - Zelix KlassMaster -

-

The task ZKMTask allows the Zelix KlassMaster Java obfuscator to be integrated into an Ant build.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4.1 and later -
- URL: - - http://www.zelix.com/klassmaster/docs/buildToolApi.html -
- License: - - Commercial -
-

- - Build Listeners -

-

- - AntUtility -

-

- Wondering why your Ant build is slow? Is your continuous integration server taking too - long to produce your project builds? This project may help. This project includes a small - number of classes for use with Ant that can help you to analyze your build in a - non-intrusive manner. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 -
- URL: - - https://antutility.dev.java.net/ -
- Contact: - - David Green -
- License: - - Apache - License 2.0 -
-

- - Compiler Implementations -

-

- - Generics (JSR14) Early-Access Compiler Adapter -

-

This is an Ant compiler-adapter that allows you to use the - normal <javac> task plus Sun's early-access - compiler to compile Generics-enabled Java code. (This is only - necessary until JDK1.5 is released.)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - http://www.madbean.com/blog/3/ -
- Contact: - - Matt Quail <spud[at]madbean[dot]com> -
- License: - - Public Domain -
-

- - miniRMI <rmic> implementation -

-

miniRMI is a freeware opensource library that serves as a - lightweight replacement for the original java.rmi packages and - is suitable especially for applets. Ant 1.4+ - <rmic> adapter included.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and later -
- URL: - - http://dione.zcu.cz/~toman40/miniRMI/ -
- Contact: - - Petr Toman -
- License: - - Gnu Lesser Public License -
-

- - IDE and Editor Integration -

-

- - AntFarm -

-

A plugin that integrates Ant into the jEdit editor.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.5 -
- URL: - - http://plugins.jedit.org/plugins/?AntFarm -
- Contact: - - jEdit developers mailinglist -
- License: - - GNU General Public License -
-

- - AntRunner -

-

An OpenTool that integrates Ant into the JBuilder IDE - (version 5 and later).

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and later -
- URL: - - http://antrunner.sourceforge.net/ -
- Contact: - - Dirk Schnelle -
- License: - - GNU General Public License -
-

- - CAPlex -

-

CA Plex is an architected RAD tool that combines the techniques of - model-driven development, code generation and patterns to create - business applications for multiple platforms, including Java, .NET and - IBM System i. In its 6.0 release, CA Plex includes integrated support - for building generated Java code with Ant.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 -
- URL: - - http://wiki.plexinfo.net/index.php?title=Customizing_Plex_6.0_ANT_builds -
- Contact: - - http://www.ca.com/us/products/product.aspx?ID=258 -
- License: - - Commercial -
-

- - Eclipse -

-

Eclipse is a universal tool platform with Ant integration.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - - Ant 1.3 and higher
- Bundles Ant 1.6.2 as of Eclipse 3.0.1 (tested with Ant 1.5.4 - 1.6.2)
- Eclipse 3.2 bundles Ant 1.6.5
- Eclipse 3.3 bundles Ant 1.7.0 - -
- URL: - - - http://www.eclipse.org/ - or - - Platform Ant Project - - -
- Contact: - - news://news.eclipse.org/eclipse.platform -
- License: - - Common Public License Version 1.0 -
-

- - Gel -

-

Java IDE with support for Ant. Gel is a native Microsoft Windows software.

-

Note: The website recommends using another IDE because GEL is not longer maintained.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 and above -
- URL: - - http://www.gexperts.com/products/gel/gel.asp -
- Contact: - - Project Mailing List -
- License: - - Freeware -
-

- - IntelliJ IDEA -

-

Java IDE with refactoring support and Ant integration. - The IDE has special editing and navigation support for Ant. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.6.5 -
- URL: - - http://www.intellij.com/idea/ -
- Contact: - - support@intellij.com -
- License: - - Commercial; Academic and OpenSource licenses available. -
-

- - JBuilder -

-

Embarcadero JBuilder comes (as Eclipse based product) with built-in Ant support.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Bundles Ant 1.6 -
- URL: - - http://www.codegear.com/en/products/jbuilder -
- Contact: - - http://support.codegear.com/en -
- License: - - Commercial; Turbo JBuilder 2007 is free. -
-

- - JDEE -

-

The Java Development Environment for Emacs (JDEE) supports - Apache Ant as one of three built-in ways to build your - applications.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and later -
- URL: - - http://jdee.sourceforge.net/ -
- Contact: - - JDEE Mailing list. -
- License: - - GNU General Public License -
-

- - NetBeans -

-

NetBeans IDE includes integrated Ant support. - This IDE uses Ant as its primary means of building applications, - with custom tasks and an Ant-aware editor.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles 1.8.0 starting with NetBeans 6.9; 1.8.1 for 6.9.1; 1.8.2 for 7.0 -
- URL: - - http://www.netbeans.org/ -
- Contact: - - nbdev@netbeans.org -
- License: - - Common Development and Distribution License / GNU General Public License -
-

- - Optistic IDX Java IDE -

-

Java IDE with deep Ant integration. IDX is a native Microsoft Windows program.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.6 -
- URL: - - - http://optistic.com/idx - -
- Contact: - - - support@optistic.com - -
- License: - - Commercial; Academic and OpenSource licenses available. -
-

- - Oracle JDeveloper 10i -

-

Java IDE with support for Ant.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.1 -
- URL: - - http://www.oracle.com/technology/products/jdev/index.html -
- Contact: - - JDeveloper Forum -
- License: - - Commercial -
-

- - Virtual Ant -

-

- Instead of manually creating build scripts in XML, Virtual Ant provides a fully virtual file system - where you can run your tasks in real time and see the results. Everything that you do is recorded and - turned into an Ant build script. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - - Ant 1.6.5 onwards - -
- URL: - - - http://www.placidsystems.com/virtualant/ - -
- Contact: - - - support@placidsystems.com - -
- License: - - Commercial; OpenSource licenses available too. -
-

- - WebSphere Studio Application Developer -

-

WSAD features Ant integrate by virtue of being built on the Eclipse tools platform.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.4.1 -
- URL: - - - http://www.ibm.com/developerworks/websphere/ - -
- Article: - - Using Ant with WebSphere Studio Application Developer -
- License: - - Commercial -
-

- - Source Control Systems -

-

There are several integration with SCM systems. Some are - built in. But some are available as - external libraries. Here a list of task libraries we are aware of:

-

- - ANT4HG -

-

These are tasks that allow users to access Mercurial - functionality from within Ant build scripts.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7 and later -
- URL: - - http://ant4hg.free.fr -
- Contact: - - ant4hg@free.fr -
- License: - - GNU Lesser General Public License -
-

- - clearAntLib -

-

This library is a collection of "value-add" Ant tasks for integrating - IBM Rational ClearCase with Apache Ant. The integration makes full use - of the power and capabilities of Ant, with support for nested elements - (such as filesets) and also supports conditions. There are a number of - tasks for creating XML reports on both ClearCase baselines and labels as - well as a task for "staging" ClearCase objects.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.1 and later -
- URL: - - - http://clearantlib.sourceforge.net/ -
- Contact: - - Forum -
- License: - - Apache License 2.0 -
-

- - Surround SCM -

-

These are tasks that allow users to access Surround SCM - functionality from within Ant build scripts.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and later -
- URL: - - - Surround SCM Resource Center -
- Contact: - - Seapine Support -
- License: - - GNU Lesser General Public License -
-

- - SvnAnt -

-

SvnAnt is an ant task that provides an interface to Subversion revision control system - that is a compelling replacement for CVS in the open source community.

- - - - - - - - - - - - - -
- URL: - - - Subclipse .: :. SvnAnt .: :. SvnClientAdapter -
- Contact: - - subclipse: Issues and Help -
- License: - - Eclipse Public License (EPL) 1.0 -
-

- - Svn4Ant -

-

JWare/AntXtras Svn4Ant (Svn4Ant) is a complete set of native Ant tasks for managing Subversion working copies, - exported directories, and repositories from a build, test, or deployment environment. - Immodestly, Svn4Ant?s goal is to be the best provider of Subversion Ant components.

- - - - - - - - - - - - - -
- URL: - - - Svn4Ant -
- Contact: - - Support - JWare Free Software -
- License: - - LGPL 2.1 -
-

- - Loggers -

-

- - AntStatistics -

-

AntStatistics logs execution times for - all build targets and displays them at the end of the build. Furthermore execution times of - past builds are collected and graphed in a chart.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 -
- URL: - - http://code.google.com/p/antstatistics/ -
- Contact: - - issue tracker -
- License: - - Apache License 2.0 -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/faq.html b/docs/faq.html deleted file mode 100644 index 0ef115dba3..0000000000 --- a/docs/faq.html +++ /dev/null @@ -1,2284 +0,0 @@ - - - - - - - - - Apache Ant - Frequently Asked Questions - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Frequently Asked Questions

- -

Questions

-

About this FAQ

- -

General

- -

Installation

- -

How do I ...

- -

It doesn't work (as expected)

- -

Apache Ant and IDEs/Editors

- -

Advanced Issues

- -

Known Problems

- - -

Answers

-

- - Where do I find the latest version of this - document? -

-

The latest version can always be found at Apache Ant's homepage - http://ant.apache.org/faq.html.

-

- - How can I contribute to this FAQ? -

-

The page you are looking it is generated from - this - document. If you want to add a new question, please submit - a patch against this document to one of Ant's mailing lists; - hopefully, the structure is self-explanatory.

-

If you don't know how to create a patch, see the patches - section of this - page.

-

- - How do you create the HTML version of this - FAQ? -

-

We use - Anakia - to render the HTML version from the original XML file.

-

The Velocity stylesheets used to process the XML files can - be found in the xdocs/stylesheets subdirectory of - Ant's SVN repository - the build file - docs.xml at the top level of the ant SVN - module (trunk) is used to drive Anakia.

-

To transform the xml into html, one needs velocity 1.4. - The command to run is :

-

- ant -Dvelocity.dir=[installation path of velocity] -f docs.xml -

-

- - What is Apache Ant? -

-

Ant is a Java-based build tool. In theory, it is kind of - like Make, without Make's wrinkles and with the full - portability of pure Java code.

-

- - Why do you call it Ant? -

-

According to Ant's original author, James Duncan - Davidson, the name is an acronym for "Another Neat - Tool".

-

Later explanations go along the lines of "ants - do an extremely good job at building things", or - "ants are very small and can carry a weight dozens of times - their own" - describing what Ant is intended to - be.

-

- - Tell us a little bit about Ant's history. -

-

Initially, Ant was part of the Tomcat code base, when it was - donated to the Apache Software Foundation. It was - created by James Duncan Davidson, who is also the original - author of Tomcat. Ant was there to build Tomcat, nothing - else.

-

Soon thereafter, several open source Java projects realized - that Ant could solve the problems they had with Makefiles. - Starting with the projects hosted at Jakarta and the old Java - Apache project, Ant spread like a virus and is now the build - tool of choice for a lot of projects.

-

In January 2000, Ant was moved to a separate CVS module and - was promoted to a project of its own, independent of - Tomcat, and became Apache Ant.

-

The first version of Ant that was exposed to a larger audience - was the one that shipped with Tomcat's 3.1 release on 19 April - 2000. This version has later been referred to as Ant - 0.3.1.

-

The first official release of Ant as a stand-alone product was - Ant 1.1, released on 19 July 2000. The complete release - history:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Ant Version - - Release Date -
- 1.1 - - 19 July 2000 -
- 1.2 - - 24 October 2000 -
- 1.3 - - 3 March 2001 -
- 1.4 - - 3 September 2001 -
- 1.4.1 - - 11 October 2001 -
- 1.5 - - 10 July 2002 -
- 1.5.1 - - 3 October 2002 -
- 1.5.2 - - 3 March 2003 -
- 1.5.3 - - 9 April 2003 -
- 1.5.4 - - 12 August 2003 -
- 1.6.0 - - 18 December 2003 -
- 1.6.1 - - 12 February 2004 -
- 1.6.2 - - 16 July 2004 -
- 1.6.3 - - 28 April 2005 -
- 1.6.4 - - 19 May 2005 -
- 1.6.5 - - 2 June 2005 -
- 1.7.0 - - 19 December 2006 -
- 1.7.1 - - 27 June 2008 -
- 1.8.0 - - 8 February 2010 -
- 1.8.1 - - 7 May 2010 -
- 1.8.2 - - 27 December 2010 -
-

- - Which version of Java is required to run - Apache Ant? -

-

You will need Java installed on your system, version 1.4 or - later required, 1.5 or later strongly recommended. The later - the version of Java, the more Ant tasks you get.

-

If only the JRE is present but not a full JDK then many - tasks will not work.

-

The following table lists the minimum Java versions - required to compile and run Ant. Note that most committers - work with more recent versions of the JDK and that Ant doesn't - get tested much for older versions.

- - - - - - - - - - - - - - - - - - - - - -
- Ant Version - - Minimum Java Version -
- 1.1 up to 1.5.4 - - 1.1 -
- 1.6.0 up to 1.6.5 - - 1.2 -
- 1.7.0 up to 1.7.1 - - 1.3 -
- 1.8.0 up to current svn trunk - - 1.4 -
-

- - I get checksum errors when I try to extract the - tar.gz distribution file. Why? -

-

Ant's distribution contains file names that are longer - than 100 characters, which is not supported by the standard - tar file format. Several different implementations of tar use - different and incompatible ways to work around this - restriction.

-

Ant's <tar> task can create tar archives that use - the GNU tar extension, and this has been used when putting - together the distribution. If you are using a different - version of tar (for example, the one shipping with Solaris), - you cannot use it to extract the archive.

-

The solution is to either install GNU tar, which can be - found here, - or use the zip archive instead (you can extract it using - jar xf).

-

- - How do you get ant-1.6.x (or any version later than - 1.5.2) to work on on RedHat ES 3? -

-

Redhat ES 3.0 comes installed with ant 1.5.2. Even if you - have your PATH and ANT_HOME variables set correctly to a later - version of ant, you will always be forced to use the - preinstalled version.

-

To use a later version of ant on this OS you could do the - following:

-
-$ ant -version
-Apache Ant version 1.5.2-23 compiled on November 12 2003
-$ su -
-# rpm -e ant ant-libs
-# exit
-$ hash -r
-$ ant -version
-Apache Ant version 1.6.2 compiled on July 16 2004
-
-

- - How to I precompile Java Server Pages (JSPs)? -

-

Apache Ant has a built in optional task <jspc> - which was intended for that. But this task is deprecated. - Here the alternative suggested by the manual:

-

Instead of relying on container specific JSP-compilers we suggest deploying - the raw files (*.jsp) and use the container build-in functions: after deploying - run a test suite (e.g. with - Cactus or - HttpUnit) against the deployed web - application. So you'll get then test result and the compiled JSPs.

-

- - How do I realize os--specific configurations? -

-

The core idea is using property files which name accords to the - os-name. Then simply use the build-in property os.name.

-

For better use you should also provide a file with default values. - But be careful with the correct os-names. For test simply <echo> - the ${os.name} on all machines and you can be sure to use the right - file names.

-
-          <property file="${os.name}.properties"/>
-          <property file="default.properties"/>
-
-

- - How do I add an external task that I've written to the - page "External Tools and Tasks"? -

-

Join and post a message to the dev or user mailing - list (one list is enough), including the following - information:

-
    -
  • the name of the task/tool
  • -
  • a short description of the task/tool
  • -
  • a Compatibility: entry stating with which version(s) of - Ant the tool/task is compatible to
  • -
  • a URL: entry linking to the main page of the tool/task
  • -
  • a Contact: entry containing the email address or the URL - of a webpage for the person or list to contact for issues - related to the tool/task. Note that we'll add a - link on the page, so any email address added there is not - obfuscated and can (and probably will) be abused by robots - harvesting websites for addresses to spam.
  • -
  • a License: entry containing the type of license for the - tool/task
  • -
-

The preferred format for this information is a patch to this - document.

-

If you have written something bigger than a 'simple plugin' to Ant it - may be better to add the link to projects.html. - The procedure to add it is the same. The file to patch is this - document. The syntax of that file is the same.

-

- - How do I create new tasks? -

-

Apart from a lot of information on using Ant, the - Manual also contains information - on how to extend Ant with new tasks. This information - can be found under "Developing with Ant".

-

Chances are that someone else already created the task you - want to create, it may be wise to see - External Tools and Tasks and - Related Projects first.

-

- - How do I pass parameters from the command line to my - build file? -

-

Use properties. Using ant - -Dname=value lets you define values for - properties on the Ant command line. These properties can then be - used within your build file as - any normal property: ${name} will put in - value.

-

- - How can I use Jikes-specific command-line - switches? -

-

A couple of switches are supported via "magic" - properties:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
- switch - - property - - default -
- +E - - build.compiler.emacs - - false == not set -
- +P - - build.compiler.pedantic - - false == not set -
- +F - - build.compiler.fulldepend - - false == not set -
- (Only for Ant < 1.4; replaced by the - nowarn - attribute of the <javac> - task after that.)
-nowarn -
- build.compiler.warnings - - true == not set -
-

With Ant >= 1.5, you can also use nested - <compilerarg> elements with the - <javac> task.

-

- - How do I include a < character in my command-line arguments? -

-

The short answer is "Use: &lt;".

-

The long answer is that this probably won't do what you - want anyway (see the next - section).

-

- - How do I redirect standard input or standard output - in the <exec> task? -

-

Say you want to redirect the standard output stream of the - m4 command to write to a file, something - like:

-
-shell-prompt> m4 foo.m4 > foo
-
-

and try to translate it into

-
-<exec executable="m4">
-  <arg value="foo.m4"/>
-  <arg value="&gt;"/>
-  <arg value="foo"/>
-</exec>
-
-

This will not do what you expect. The output redirection is - performed by your shell, not the command itself, so this - should read:

-
-<exec executable="/bin/sh">
-  <arg value="-c" />
-  <arg value="m4 foo.m4 &gt; foo" />
-</exec>
-
-

Note that you must use the value attribute of - <arg> in the last element, in order to have - the command passed as a single, quoted argument. Alternatively, - you can use:

-
-<exec executable="/bin/sh">
-  <arg line='-c "m4 foo.m4 &gt; foo"'/>
-</exec>
-
-

Note the double-quotes nested inside the single-quotes.

-

- - How do I execute a batch file or shell script from Ant? -

-

On native Unix systems, you should be able to run shell scripts - directly. On systems running a Unix-type shell (for example, Cygwin - on Windows) execute the (command) shell instead - cmd - for batch files, sh for shell scripts - then pass the - batch file or shell script (plus any arguments to the script) - as a single command, using the /c or - -c switch, respectively. See - the above section - for example <exec> tasks - executing sh. For batch files, use something like:

-
-<exec dir="." executable="cmd" os="Windows NT">
-  <arg line="/c test.bat"/>
-</exec>
-
-

- - I want to execute a particular target only if - multiple conditions are true. -

-

There are actually several answers to this question.

-

If you have only one set and one unset property to test, - you can specify both an if and an unless - attribute for the target, and they will act as if they - are "anded" together.

-

If you are using a version of Ant 1.3 or earlier, the - way to work with all other cases is to chain targets together - to determine the specific state you want to test for.

-

To see how this works, assume you have three properties: - prop1, prop2, and prop3. - You want to test that prop1 and prop2 - are set, and that prop3 is not. If the condition - holds true you want to echo "yes".

-

Here is the implementation in Ant 1.3 and earlier:

-
-<target name="cond" depends="cond-if"/>
-
-<target name="cond-if" if="prop1">
-  <antcall target="cond-if-2"/>
-</target>
-
-<target name="cond-if-2" if="prop2">
-  <antcall target="cond-if-3"/>
-</target>
-
-<target name="cond-if-3" unless="prop3">
-  <echo message="yes"/>
-</target>
-
-

Note: <antcall> tasks do not pass - property changes back up to the environment they were called - from, so you wouldn't be able to, for example, set a - result property in the cond-if-3 target, - then do - <echo message="result is ${result}"/> - in the cond target.

-

Starting with Ant 1.4, you can use the - <condition> task.

-
-<target name="cond" depends="cond-if,cond-else"/>
-
-<target name="check-cond">
-  <condition property="cond-is-true">
-    <and>
-      <not>
-        <equals arg1="${prop1}" arg2="$${prop1}" />
-      </not>
-      <not>
-        <equals arg1="${prop2}" arg2="$${prop2}" />
-      </not>
-      <equals arg1="${prop3}" arg2="$${prop3}" />
-    </and>
-  </condition>
-</target>
-
-<target name="cond-if" depends="check-cond" if="cond-is-true">
-  <echo message="yes"/>
-</target>
-
-<target name="cond-else" depends="check-cond" unless="cond-is-true">
-  <echo message="no"/>
-</target>
-
-

This version takes advantage of two things:

-
    -
  • If a property a has not been set, - ${a} will evaluate to ${a}.
  • - -
  • To get a literal $ in Ant, you have to - escape it with another $ - this will also break - the special treatment of the ${ sequence.
  • -
-

Because testing for a literal ${property} string - isn't all that readable or easy to understand, - post-1.4.1 Ant introduces the <isset> element - to the <condition> task.

-

Here is the previous example done using - <isset>:

-
-<target name="check-cond">
-  <condition property="cond-is-true">
-    <and>
-      <isset property="prop1"/>
-      <isset property="prop2"/>
-      <not>
-        <isset property="prop3"/>
-      </not>
-    </and>
-  </condition>
-</target>
-
-

The last option is to use a scripting language to set the - properties. This can be particularly handy when you need much - finer control than the simple conditions shown here but, of - course, comes with the overhead of adding JAR files to support - the language, to say nothing of the added maintenance in requiring - two languages to implement a single system. See the - - <script> task documentation for more - details.

-

- - How can I include national characters like German - umlauts in my build file? -

-

You need to tell the XML parser which character encoding - your build file uses, this is done inside the XML - declaration.

-

By default the parser assumes you are using the UTF-8 - encoding instead of your platform's default. For most Western - European countries you should set the encoding to - ISO-8859-1. To do so, make the very first line - of you build file read like

-
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-

- - How do I use jar's M switch? - I don't want a MANIFEST. -

-

A JAR archive is a ZIP file, so if you don't want a - MANIFEST you can simply use <zip>.

-

If your file names contain national characters you should - know that Sun's jar utility like Ant's - <jar> uses UTF-8 to encode their names while - <zip> uses your platforms default encoding. - Use the encoding attribute of <zip> if - necessary.

-

- - How can I do something like <property name="prop" - value="${${anotherprop}}"/> (double expanding the property)? -

-

Without any external help you can not.

-

With <script/>, which needs external libraries, you can do

-
-<script language="javascript">
-    propname = project.getProperty("anotherprop");
-    project.setNewProperty("prop", propname);
-</script>
-
-

With AntContrib (external task library) you can do - <propertycopy name="prop" from="${anotherprop}"/>.

-

With Ant 1.6 you can simulate the AntContribs <propertycopy> - and avoid the need of an external library:

-
-<macrodef name="propertycopy">
-  <attribute name="name"/>
-  <attribute name="from"/>
-  <sequential>
-    <property name="@{name}" value="${@{from}}"/>
-  </sequential>
-</macrodef>
-
-

With the 'props' antlib (external, but also from Ant) you could - do the dereferencing with ${${anotherprop} - not just - in the property task - instead everywhere in your buildfile (after - registering the required property helper).

-
-<propertyhelper>
-  <props:nested />
-</propertyhelper>
-<property name="foo" value="foo.value" />
-<property name="var" value="foo" />
-<echo> ${${var}} = foo.value </echo>
-

- - How can I delete everything beneath a particular directory, - preserving the directory itself? -

-

Most users who go down this path have no problem figuring out that - <delete includeemptydirs="true" /> will help them. The - seemingly tricky part is preserving the base directory itself, - which Ant includes in the directory scan. Fortunately the answer is simple: -

-
-<delete includeemptydirs="true">
-  <fileset dir="dirtokeep" includes="**/*" />
-</delete>
-
-

- - How can I delete a particular directory, - if and only if it is empty? -

-

Most users who go down this path have no problem figuring - out that - <delete includeemptydirs="true" /> will - help them. The seemingly tricky part is preserving the - non-empty directories, which Ant includes in the directory - scan. Fortunately the answer is simple:

-
-<delete includeemptydirs="true">
-  <fileset dir="dirtokeepifnotempty" excludes="**/*" />
-</delete>
-
-

- - General Advice -

-

There are many reasons why Apache Ant doesn't behave as - expected, not all of them are due to Ant bugs. See our Having Problems? page for hints that - may help pinning down the reasons for your problem.

-

- - Why does Ant always recompile all my Java files? -

-

In order to find out which files should be compiled, Ant - compares the timestamps of the source files to those of the - resulting .class files. Opening all source files - to find out which package they belong to would be very - inefficient. Instead, Ant expects you to place your - source files in a directory hierarchy that mirrors your - package hierarchy and to point Ant to the root of this - directory tree with the srcdir attribute.

-

Say you have <javac srcdir="src" - destdir="dest"/>. If Ant finds a file - src/a/b/C.java, it expects it to be in package - a.b so that the resulting .class - file is going to be dest/a/b/C.class.

-

If your source-tree directory structure does not match your - package structure, Ant's heuristic won't work, and - it will recompile classes that are up-to-date. Ant is not the - only tool that expects a source-tree layout like this.

-

If you have Java source files that aren't declared to - be part of any package, you can still use the <javac> - task to compile these files correctly - just set the - srcdir and destdir attributes to - the actual directory the source - files live in and the directory the class files should go into, - respectively.

-

- - I've used a <delete> task to - delete unwanted SourceSafe control files (CVS files, editor - backup files, etc.), but it doesn't seem to work; the files - never get deleted. What's wrong? -

-

This is probably happening because, by default, Ant excludes - SourceSafe control files (vssver.scc) and certain other - files from FileSets.

-

Here's what you probably did:

-
-<delete>
-  <fileset dir="${build.src}" includes="**/vssver.scc"/>
-</delete>
-
-

You need to switch off the default exclusions, - and it will work:

-
-<delete>
-  <fileset dir="${build.src}" includes="**/vssver.scc"
-           defaultexcludes="no"/>
-</delete>
-
-

For a complete listing of the patterns that are excluded - by default, see the user - manual.

-

- - I have a target I want to skip if a property is set, - so I have unless="property" as an attribute - of the target, but all the targets this target - depends on are still executed. Why? -

-

The list of dependencies is generated by Ant before any of the - targets are run. This allows dependent targets, such as an - init target, to set properties that can control the - execution of the targets higher in the dependency graph. This - is a good thing.

-

However, when your dependencies break down the - higher-level task - into several smaller steps, this behaviour becomes - counter-intuitive. There are a couple of solutions available: -

-
    -
  1. Put the same condition on each of the dependent targets.
  2. - -
  3. Execute the steps using <antcall>, - instead of specifying them inside the depends - attribute.
  4. -
-

- - In my <fileset>, I've put in an - <exclude> of all files followed by an - <include> of just the files I want, but it - isn't giving me any files at all. What's wrong? - -

-

The order of the <include> and - <exclude> tags within a <fileset> - is ignored when the FileSet is created. Instead, all of the - <include> elements are processed together, - followed by all of the <exclude> - elements. This means that the <exclude> - elements only apply to the file list produced by the - <include> elements.

-

To get the files you want, focus on just the - <include> patterns that would be necessary - to get them. If you find you need to trim the list that the - <include> elements produce, then use - <exclude> elements.

-

- - ant failed to build my program via javac - even when I put the needed jars in an external - build.properties file and reference them by - pathelement or classpath refid. -

-

When ant loads properties from an external - file it doesn't touch the value of properties, trailing blanks - will not be trimmed for example.

-

If the value represents a file path, like a jar needed to - compile, the task which requires the value, javac for example - would fail to compile since it can't find the file due to - trailing spaces.

-

- - Ant creates WAR files with a lower-case - web-inf or JAR files with a lower-case - meta-inf directory. -

-

No it doesn't.

-

You may have seen these lower-case directory names in - WinZIP, but WinZIP is trying to be helpful (and fails). If - WinZIP encounters a filename that is all upper-case, it - assumes it has come from an old DOS box and changes the case to - all lower-case for you.

-

If you extract (or just check) the archive with jar, you - will see that the names have the correct case.

-

With WinZIP (version 8.1 at least), this can be corrected in the - configuration. In the Options/Configuration menu, in the View tab, General - section, check the "Allow all upper case files names" box. The META-INF and - WEB-INF will look correct.

-

- - I installed Ant 1.6.x and now get - Exception in thread "main" java.lang.NoClassDefFoundError: - - -

-

- The cause of this is that there is an old version of ant somewhere in the - class path or configuration. -

-

- A version of this problem happens with jars that are in the classpath - that include an embedded copy of ant classes. - An example of this is some copies of weblogic.jar. -

-

- One can check if this is the case by doing (on unix/sh): -

-        unset CLASSPATH
-        ant -version
-        
- -

-

- - I installed Ant 1.6.x and now get - java.lang.InstantiationException: org.apache.tools.ant.Main - -

-

- The cause of this is that there is an old version of ant somewhere in the - class path or configuration. -

-

- A version of this problem may be seen on some linux systems. - Some linux systems (Fedora Core 2 for example), comes with a version - of ant pre-installed. There is a configuration file called - /etc/ant.conf which if present, the ant shell - script will 'dot' include. On Fedora Core 2, the /etc/ant.conf - file resets the ANT_HOME environment variable to - /usr/share/ant. This causes the problem that - an old version of ant (1.5.x in this cause) will be used - with a new version of the ant script file. -

-

- One can check if this is the case by doing - ant --noconfig -version. -

-

- - - Whenever I use the Ant jar or manifest related tasks, long lines in - my manifest are wrapped at 70 characters and the resulting jar does - not work in my application server. Why does Ant do this? - -

-

- Ant implements the Java - Jar - file specification. Please refer to the notes section where it - discusses the maximum allowable length of a line and the concept of - continuation characters. -

-

- If a jar file produced by Ant does not work in your appserver, and - that failure is due to the wrapped manifest, then you need - to consult your appserver provider, as it is a bug in their - appserver. Far more likely, however, is a problem in your - specification of your classpath. It is not Ant's wrapping of your - classpath that is the problem. -

-

- Do not raise a bug about this issue until you have checked to ensure - that the problem is not due to your classpath specification. -

-

- - <exec> fails with "Cannot run - program "...":CreateProcess error=2" on - Windows. -

-

A common problem is not having the executable on the - PATH. In case you get an error message Cannot run - program "...":CreateProcess error=2. The system cannot find - the path specified. have a look at your PATH - variable.

-

Just type the command directly on the command line and if - Windows finds it, Ant should do it too. (Otherwise ask on - the user mailinglist for help.) If Windows can not execute - the program add the directory of the programm to the PATH - (set PATH=%PATH%;dirOfProgram) or specify the - absolute path in the executable attribute in - your buildfile.

-

- - Is Apache Ant supported by my IDE/Editor? -

-

See the section - on IDE integration on our External Tools and Tasks page.

-

- - Why doesn't (X)Emacs/vi/MacOS X's project builder - correctly parse the error messages generated by Ant? -

-

Ant adds a "banner" with the name of the current - task in front of all logging messages - and there are no built-in - regular expressions in your editor that would account for - this.

-

You can disable this banner by invoking Ant with the - -emacs switch. To make Ant autodetect - Emacs' compile mode, put this into your - .antrc (contributed by Ville Skyttä).

-
-# Detect (X)Emacs compile mode
-if [ "$EMACS" = "t" ] ; then
-  ANT_ARGS="$ANT_ARGS -emacs"
-  ANT_OPTS="$ANT_OPTS -Dbuild.compiler.emacs=true"
-fi
-
-

Alternatively, you can add the following snippet to your - .emacs to make Emacs understand Ant's - output.

-
-(require 'compile)
-(setq compilation-error-regexp-alist
-  (append (list
-     ;; works for jikes
-     '("^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):\\([0-9]+\\):[0-9]+:[0-9]+:" 1 2 3)
-     ;; works for javac
-     '("^\\s-*\\[[^]]*\\]\\s-*\\(.+\\):\\([0-9]+\\):" 1 2))
-  compilation-error-regexp-alist))
-
-

Yet another alternative that preserves most of Ant's - formatting is to pipe Ant's output through the following Perl - script by Dirk-Willem van Gulik:

-
-#!/usr/bin/perl
-#
-# May 2001 dirkx@apache.org - remove any
-# [foo] lines from the output; keeping
-# spacing more or less there.
-#
-$|=1;
-while(<STDIN>) {
-        if (s/^(\s+)\[(\w+)\]//) {
-                if ($2 ne $last) {
-                        print "$1\[$2\]";
-                        $s = ' ' x length($2);
-                } else {
-                        print "$1 $s ";
-                };
-                $last = $2;
-        };
-        print;
-};
-
-

- - Is there a DTD that I can use to validate my build - files? -

-

An incomplete DTD can be created by the - <antstructure> task - but this one - has a few problems:

-
    -
  • It doesn't know about required attributes. Only - manual tweaking of this file can help here.
  • - -
  • It is not complete - if you add new tasks via - <taskdef> it won't know about it. See - this - page by Michel Casabianca for a solution to this - problem. Note that the DTD you can download at this page - is based on Apache Ant 0.3.1.
  • - -
  • It may even be an invalid DTD. As Ant allows tasks - writers to define arbitrary elements, name collisions will - happen quite frequently - if your version of Ant contains - the optional <test> and - <junit> tasks, there are two XML - elements named test (the task and the nested child - element of <junit>) with different attribute - lists. This problem cannot be solved; DTDs don't give a - syntax rich enough to support this.
  • -
-

- - How do I include an XML snippet in my build file? -

-

You can use XML's way of including external files and let - the parser do the job for Ant:

-
-<?xml version="1.0"?>
-
-<!DOCTYPE project [
-       <!ENTITY common SYSTEM "common.xml">
-]>
-
-<project name="test" default="test" basedir=".">
-
-  <target name="setup">
-    ...
-  </target>
-
-  &common;
-
-  ...
-
-</project>
-
-

will literally include the contents of common.xml where - you've placed the &common; entity.

-

(The filename common.xml in this example is resolved - relative to the containing XML file by the XML parser. You may also use - an absolute file: protocol URI.)

-

In combination with a DTD, this would look like this:

-
-<!DOCTYPE project PUBLIC "-//ANT//DTD project//EN" "ant.dtd" [
-   <!ENTITY include SYSTEM "header.xml">
-]>
-
-

Starting with Ant 1.6, there is a new - <import> task that can (also) be used to - include build file fragments. Unlike the snippets used with - entity includes, the referenced files have to be complete Ant - build files, though.

-

The example above would become:

-
-<?xml version="1.0"?>
-<project name="test" default="test" basedir=".">
-
-  <target name="setup">
-    ...
-  </target>
-
-  <import file="./common.xml"/>
-
-  ...
-
-</project>
-
-

Unlike entity includes, <import> will - let you use Ant properties in the file name.

-

- - How do I send an email with the result of my build - process? -

-

If you are using a nightly build of Ant 1.5 after - 2001-12-14, you can use the built-in MailLogger:

-
-         ant -logger org.apache.tools.ant.listener.MailLogger
-
-

See the Listeners - & Loggers documentation for details on the properties - required.

-

For older versions of Ant, you can use a custom - BuildListener that sends out an email - in the buildFinished() method. Will Glozer - <will.glozer@jda.com> has written such a listener based - on JavaMail. - The source is:

-
-import java.io.*;
-import java.util.*;
-import javax.mail.*;
-import javax.mail.internet.*;
-import org.apache.tools.ant.*;
-
-/**
- * A simple listener that waits for a build to finish and sends an email
- * of the results.  The settings are stored in "monitor.properties" and
- * are fairly self explanatory.
- *
- * @author      Will Glozer
- * @version     1.05a 09/06/2000
- */
-public class BuildMonitor implements BuildListener {
-    protected Properties props;
-
-    /**
-     * Create a new BuildMonitor.
-     */
-    public BuildMonitor() throws Exception {
-        props = new Properties();
-        InputStream is = getClass().getResourceAsStream("monitor.properties");
-        props.load(is);
-        is.close();
-    }
-
-    public void buildStarted(BuildEvent e) {
-    }
-
-    /**
-     * Determine the status of the build and the actions to follow, now that
-     * the build has completed.
-     *
-     * @param       e       Event describing the build status.
-     */
-    public void buildFinished(BuildEvent e) {
-        Throwable th = e.getException();
-        String status = (th != null) ? "failed" : "succeeded";
-
-        try {
-            String key = "build." + status;
-            if (props.getProperty(key + ".notify").equalsIgnoreCase("false")) {
-                    return;
-            }
-
-            Session session = Session.getDefaultInstance(props, null);
-
-            MimeMessage message = new MimeMessage(session);
-            message.addRecipients(Message.RecipientType.TO, parseAddresses(
-                props.getProperty(key + ".email.to")));
-            message.setSubject(props.getProperty(key + ".email.subject"));
-
-            BufferedReader br = new BufferedReader(new FileReader(
-                props.getProperty("build.log")));
-            StringWriter sw = new StringWriter();
-
-            String line = br.readLine();
-            while (line != null) {
-                sw.write(line);
-                sw.write("\n");
-                line = br.readLine();
-            }
-            br.close();
-
-            message.setText(sw.toString(), "UTF-8");
-            sw.close();
-
-            Transport transport = session.getTransport();
-            transport.connect();
-            transport.send(message);
-            transport.close();
-        } catch (Exception ex) {
-            System.out.println("BuildMonitor failed to send email!");
-            ex.printStackTrace();
-        }
-    }
-
-    /**
-     * Parse a comma separated list of internet email addresses.
-     *
-     * @param       s       The list of addresses.
-     * @return      Array of Addresses.
-     */
-    protected Address[] parseAddresses(String s) throws Exception {
-        StringTokenizer st = new StringTokenizer(s, ",");
-        Address[] addrs = new Address[st.countTokens()];
-
-        for (int i = 0; i < addrs.length; i++) {
-            addrs[i] = new InternetAddress(st.nextToken());
-        }
-        return addrs;
-    }
-
-    public void messageLogged(BuildEvent e) {
-    }
-
-    public void targetStarted(BuildEvent e) {
-    }
-
-    public void targetFinished(BuildEvent e) {
-    }
-
-    public void taskStarted(BuildEvent e) {
-    }
-
-    public void taskFinished(BuildEvent e) {
-    }
-}
-
-

With a monitor.properties like this:

-
-# configuration for build monitor
-
-mail.transport.protocol=smtp
-mail.smtp.host=<host>
-mail.from=Will Glozer <will.glozer@jda.com>
-
-build.log=build.log
-
-build.failed.notify=true
-build.failed.email.to=will.glozer@jda.com
-build.failed.email.subject=Nightly build failed!
-
-build.succeeded.notify=true
-build.succeeded.email.to=will.glozer@jda.com
-build.succeeded.email.subject=Nightly build succeeded!
-
-

monitor.properties should be placed right next - to your compiled BuildMonitor.class. To use it, - invoke Ant like:

-
-ant -listener BuildMonitor -logfile build.log
-
-

Make sure that mail.jar from JavaMail and - activation.jar from the - Java - Beans Activation Framework are in your CLASSPATH.

-

- - How do I get at the properties that Ant was running - with from inside BuildListener? -

-

You can get at a hashtable with all the properties that Ant - has been using through the BuildEvent parameter. For - example:

-
-public void buildFinished(BuildEvent e) {
-    Hashtable table = e.getProject().getProperties();
-    String buildpath = (String)table.get("build.path");
-    ...
-}
-
-

This is more accurate than just reading the same property - files that your project does, since it will give the correct - results for properties that were specified on the Ant command line.

-

- - <exec> causes other tasks to hang - or leads to strange behaviour of <input> - tasks. -

-

When Apache Ant forks a new process for example by using the - <exec>, <apply> - or <java> tasks, it will also start a - new thread reading from standard input and sending - everything that it has read to that process.

-

Unfortunately Ant has no way to know whether the forked - process is ever going to read any input, so it will start such - a thread even if the process doesn't need one.

-

This behaviour leads to strange side effects like the Ant - process - being suspended - when a build forking new process is run as a background - process on Unix-like systems or - <input> - tasks requiring - additional inputs if they come after - an <exec> task.

-

Fortunately there is a workaround for this, always specify - inputstring="" for - any <exec> task (or one of its sibblings) - if you know the forked process doesn't consume any - input.

-

- - <javac> causes a - StackOverflowError -

-

For some Java source files it is possible - that causes - a StackOverlowError is thrown inside Sun's javac - compiler. As far as we can tell this is not triggered by a - bug in Ant.

-

It is possible to work around this problem by setting - <javac>'s fork attribute to true.

-

- - Ant 1.7.0 doesn't build from sources without - JUnit -

-

When building Ant 1.7.0 from the source release without - junit.jar the build fails with the message "We cannot build - the test jar unless JUnit is present".

-

With Ant 1.7.0 we've started to add ant-testutil.jar as - part of the distribution and this causes a hard dependency on - JUnit - at least in version 1.7.0. Unfortunately the - installation docs don't say so.

-

There are two workarounds:

-
    - -
  1. Add junit.jar to your CLASSPATH when building Ant.
  2. - -
  3. Change Ant's buildfile and remove test-jar from the - depends list of the dist-lite target.
  4. - -
-

- - <chmod> or <exec> doesn't work in Ant - 1.3 on Unix -

-

The antRun script in ANT_HOME/bin - has DOS instead of Unix line endings; you must remove the - carriage-return characters from this file. This can be done by - using Ant's <fixcrlf> task - or something like:

-
-tr -d '\r' < $ANT_HOME/bin/antRun > /tmp/foo
-mv /tmp/foo $ANT_HOME/bin/antRun
-
-

- - <style> or <junit> ignores my - <classpath> -

-

Starting with Ant 1.7.0, <junit> will honor your - nested <classpath>.

-

These tasks don't ignore your classpath setting, you - are facing a common problem with delegating classloaders.

-

This question collects a common type of problem: A task - needs an external library and it has a nested classpath - element so that you can point it to this external library, but - that doesn't work unless you put the external library - into the CLASSPATH or place it in - ANT_HOME/lib.

-

Some background is necessary before we can discuss - solutions for Ant - 1.5.x and Ant - 1.6.x.

-

When you specify a nested <classpath> in - Ant, Ant creates a new class loader that uses the path you - have specified. It then tries to load additional classes from - this classloader.

-

In most cases - for example using <style> or - <junit> - Ant doesn't load the external library - directly, it is the loaded class that does so.

-

In the case of <junit> it is the task - implementation itself and in the case of - <style> it is the implementation of the - org.apache.tools.ant.taskdefs.XSLTLiaison - class.

-

As of Ant 1.7 <junit> no longer - requires you to have junit.jar in Ant's startup - classpath even if ant-junit.jar is present there.

-

Ant's class loader implementation uses Java's - delegation model, see http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html - the paragraph

-
The ClassLoader class uses a - delegation model to search for classes and resources. Each - instance of ClassLoader has an associated parent - class loader. When called upon to find a class or resource, a - ClassLoader instance will delegate the search for - the class or resource to its parent class loader before - attempting to find the class or resource itself. The virtual - machine's built-in class loader, called the bootstrap - class loader, does not itself have a parent but may serve as - the parent of a ClassLoader - instance.
-

The possible solutions depend on the version of Ant you - use, see the next sections.

-

- - <style> or <junit> ignores my - <classpath> - Ant 1.5.x version -

-

Please read the previous - entry before you go ahead.

-

First of all let's state that Ant's wrapper script - (ant or ant.bat) adds all - .jar files from ANT_HOME/lib to - CLASSPATH, therefore "in - CLASSPATH" shall mean "either in your - CLASSPATH environment variable or - ANT_HOME/lib" for the rest of this - answer.

-

The root of the problem is that the class that needs the - external library is on the CLASSPATH.

-

Let's see what happens when you load the <junit> - task. Ant's class loader will consult the - bootstrap class loader first, which tries to load classes from - CLASSPATH. The bootstrap class loader - doesn't know anything about Ant's class loader or - even the path you have specified.

-

If the bootstrap class loader can load the class Ant has - asked it to load (which it can if optional.jar is - part of CLASSPATH), this class will try to load - the external library from CLASSPATH as well - it - doesn't know anything else - and will not find it unless - the library is in CLASSPATH as well.

-

To solve this, you have two major options:

-
    -
  1. put all external libraries you need in - CLASSPATH as well this is not what you want, - otherwise you wouldn't have found this FAQ entry.
  2. - -
  3. remove the class that loads the external library from - the CLASSPATH.
  4. -
-

The easiest way to do this is to remove - optional.jar from ANT_HOME/lib. If - you do so, you will have to <taskdef> all - optional tasks and use nested <classpath> - elements in the <taskdef> tasks that point - to the new location of optional.jar. Also, - don't forget to add the new location of - optional.jar to the - <classpath> of your - <style> or <junit> - task.

-

If you want to avoid to <taskdef> all - optional tasks you need, the only other option is to remove - the classes that should not be loaded via the bootstrap class - loader from optional.jar and put them into a - separate archive. Add this separate archive to the - <classpath> of your - <style> or <junit> task - - and make sure the separate archive is not in - CLASSPATH.

-

In the case of <junit> you'd have - to remove all classes that are in the - org/apache/tools/ant/taskdefs/optional/junit - directory, in the <style> case it is one of - the *Liaison classes in - org/apache/tools/ant/taskdefs/optional.

-

If you use the option to break up optional.jar - for <junit> or remove - ant-junit.jar, you still have to use a - <taskdef> with a nested - <classpath> to define the junit task.

-

- - <style> or <junit> ignores my - <classpath> - Ant 1.6.x version -

-

Please read the general - entry before you go ahead.

-

The wrapper script of Ant 1.6.x no longer adds the contents - of ANT_HOME/lib to CLASSPATH, - instead Ant will create a classloader on top of the bootstrap - classloader - let's call it the coreloader for the rest of - this answer - which holds the contents of - ANT_HOME/lib. Ant's core and its tasks will be - loaded through this classloader and not the bootstrap - classloader.

-

This causes some small but notable differences between Ant - 1.5.x and 1.6.x. Most importantly, a third-party task that is - part of CLASSPATH will no longer work in Ant - 1.6.x since the task now can't find Ant's classes. In a sense - this is the same problem this entry is about, only - ant.jar has become the external library in - question now.

-

This coreloader also holds the contents of - ~/.ant/lib and any file or directory that has - been specified using Ant's -lib command line - argument.

-

Let's see what happens when you load the <junit> - task. Ant's class loader will consult the bootstrap - class loader first, which tries to load classes from - CLASSPATH. The bootstrap class loader - doesn't know anything about Ant's class loader or - even the path you have specified. If it fails to find the - class using the bootstrap classloader it will try the - coreloader next. Again, the coreloader doesn't know anything - about your path.

-

If the coreloader can load the class Ant has asked it to - load (which it can if ant-junit.jar is in - ANT_HOME/lib), this class will try to load the - external library from coreloader as well - it doesn't - know anything else - and will not find it unless the library - is in CLASSPATH or the coreloader as well.

-

To solve this, you have the following major options:

-
    -
  1. put all external libraries you need in - CLASSPATH as well this is not what you want, - otherwise you wouldn't have found this FAQ entry.
  2. - -
  3. put all external libraries you need in - ANT_HOME/lib or .ant/lib. This - probably still isn't what you want, but you might reconsider - the .ant/lib option.
  4. - -
  5. Always start Ant with the -lib command line - switch and point to your external libraries (or the - directories holding them).
  6. - -
  7. remove the class that loads the external library from - the coreloader.
  8. -
-

In Ant 1.6 optional.jar has been split into - multiple jars, each one containing classes with the same - dependencies on external libraries. You can move the - "offending" jar out of ANT_HOME/lib. For the - <junit> task it would be - ant-junit.jar.

-

If you do so, you will have to <taskdef> - all optional tasks that need the external library and use - nested <classpath> elements in the - <taskdef> tasks that point to the new - location of ant-*.jar. Also, don't forget - to add the new location of ant-*.jar to the - <classpath> of your - <style> or <junit> - task.

-

For example

-
-    <taskdef name="junit"
-            class="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
-      <classpath>
-        <pathelement location="HOME-OF/junit.jar"/>
-        <pathelement location="NEW-HOME-OF/ant-junit.jar"/>
-      </classpath>
-    </taskdef>
-
-

- - - Why do my custom task containers see Unknown Elements in Ant 1.6 - - they worked in Ant 1.5? - -

-

- The objects added in TaskContainer.addTask(Task task) - have changed from Tasks to UnknownElements. -

-

- There was a number of valid reasons for this change. But the backward - compatibility problems were not noticed until after Ant 1.6.0 was - released. -

-

- Your container class will need to be modified to check if the Task - is an UnknownElement and call perform on it to - convert it to a Task and to execute it. - (see apache.tools.ant.taskdefs.Sequential) -

-

- If you want to do more processing on the task, - you need to use the techniques in apache.tools.ant.taskdefs.Antlib#execute() - This does make use of one 1.6 method call (UE#getRealObject()), - you need to use UE#getTask() instead - this will - return null for non tasks (types like fileset id=x). -

-

- So.. iterate over the tasks, if they are UEs, convert them to - tasks, using UE#maybeConfigure and UE#getTask() -

-
-        for (Iterator i = tasks.iterator(); i.hasNext();) {
-           Task t = (Task) i.next();
-           if (t instanceof UnknownElement) {
-              ((UnknownElement) t).maybeConfigure();
-              t = ((UnknownElement) t).getTask();
-              if (t == null) {
-                  continue;
-              }
-           }
-           // .... original Custom code
-        }
-        
-

- This approach should work for ant1.5 and ant1.6. -

-

- - - Ant runs into an infinite loop/throws an OutOfMemoryError - when I compile my project under Mac OS X. - -

-

Apple's Java VMs reside - in /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z - and JAVA_HOME will usually be something - like /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z/Home.

-

Inside this home directory there is a symbolic link - named shared_bundle that links three levels up, - i.e. to /System/Library/Frameworks/JavaVM.framework.

-

If your build file contains a fileset like

-
-<fileset dir="${java.home}" includes="**/*.jar"/>
-
-

Ant is going to follow the shared_bundle - symlink and ends up recursing into all your installed VMs. - Even worse, it will - enter /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z/Home - and will once again follow the same symlink.

-

Ant versions after Ant 1.7.1 will detect the infinite loop - they are in, but the resulting fileset may still be too big to - deal with, in particular if you have many different VM - versions installed. The problem is amplified by the fact that - each installed version has a shared_bundle - symlink in it.

-

One solution is to not allow the fileset to follow symbolic - links at all, like in

-
-<fileset dir="${java.home}" includes="**/*.jar" followsymlinks="false"/>
-
-

another one excludes the shared_bundle - directories:

-
-<fileset dir="${java.home}" includes="**/*.jar" excludes="**/shared_bundle/**"/>
-
-

For Ant 1.7.1 and earlier - excluding shared_bundle may not be enough since - there is another symlink bundle that points to - the Home directory and will cause infite - recursions as well.

-

- - extension-point doesn't work - with import like the documentation - states. -

-

Yes, there is - a bug - in Ant 1.8.0.

-

When using two build files like

-
-importing.xml:
-<project>
-   ...
-   <import file="imported.xml"/>
-   <target name="bar" extensionOf="foo"/>
-</project>
-imported.xml:
-<project>
-   <extension-point name="foo"/>
-</project>
-
-

Ant 1.8.0 will fail, claiming there was no extension point - named "foo".

-

This bug has been fixed for Ant 1.8.1. For Ant 1.8.0 there - is - a work-around: - add an additional layer of importing like in

-
-importing.xml:
-<project>
-   <target name="bar" extensionOf="foo"/>
-</project>
-imported.xml:
-<project>
-   <extension-point name="foo"/>
-</project>
-build.xml:
-<project>
-   <import file="imported.xml"/>
-   <import file="importing.xml"/>
-</project>
-
-
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100644 index 161bcf7841..0000000000 Binary files a/docs/favicon.ico and /dev/null differ diff --git a/docs/images/JDJEditorsChoiceAward.jpg b/docs/images/JDJEditorsChoiceAward.jpg deleted file mode 100644 index 5dcb99815a..0000000000 Binary files a/docs/images/JDJEditorsChoiceAward.jpg and /dev/null differ diff --git a/docs/images/ant_logo.ico b/docs/images/ant_logo.ico deleted file mode 100644 index 9dbc258f2d..0000000000 Binary files a/docs/images/ant_logo.ico and /dev/null differ diff --git a/docs/images/ant_logo_medium.gif b/docs/images/ant_logo_medium.gif deleted file mode 100644 index 44bc07fa2e..0000000000 Binary files a/docs/images/ant_logo_medium.gif and /dev/null differ diff --git a/docs/images/ant_logo_small.gif b/docs/images/ant_logo_small.gif deleted file mode 100644 index 34080c9786..0000000000 Binary files a/docs/images/ant_logo_small.gif and /dev/null differ diff --git a/docs/images/beta.png b/docs/images/beta.png deleted file mode 100644 index 924a75d40d..0000000000 Binary files a/docs/images/beta.png and /dev/null differ diff --git a/docs/images/current.gif b/docs/images/current.gif deleted file mode 100644 index af0f64fb24..0000000000 Binary files a/docs/images/current.gif and /dev/null differ diff --git a/docs/images/group-logo.gif b/docs/images/group-logo.gif deleted file mode 100644 index de57d342cd..0000000000 Binary files a/docs/images/group-logo.gif and /dev/null differ diff --git a/docs/images/jp_rcwinner_2003.gif b/docs/images/jp_rcwinner_2003.gif deleted file mode 100644 index 63d8313413..0000000000 Binary files a/docs/images/jp_rcwinner_2003.gif and /dev/null differ diff --git a/docs/images/jw_ec_logo_winner2002.gif b/docs/images/jw_ec_logo_winner2002.gif deleted file mode 100644 index 334b1146b4..0000000000 Binary files a/docs/images/jw_ec_logo_winner2002.gif and /dev/null differ diff --git a/docs/images/jw_ec_logo_winner2003.gif b/docs/images/jw_ec_logo_winner2003.gif deleted file mode 100644 index dbbb422d8f..0000000000 Binary files a/docs/images/jw_ec_logo_winner2003.gif and /dev/null differ diff --git a/docs/images/label.gif b/docs/images/label.gif deleted file mode 100644 index bc4cb58978..0000000000 Binary files a/docs/images/label.gif and /dev/null differ diff --git a/docs/images/menu-left.gif b/docs/images/menu-left.gif deleted file mode 100644 index 0ca90471e0..0000000000 Binary files a/docs/images/menu-left.gif and /dev/null differ diff --git a/docs/images/menu-right.gif b/docs/images/menu-right.gif deleted file mode 100644 index 879c028069..0000000000 Binary files a/docs/images/menu-right.gif and /dev/null differ diff --git a/docs/images/page.gif b/docs/images/page.gif deleted file mode 100644 index b0b3944911..0000000000 Binary files a/docs/images/page.gif and /dev/null differ diff --git a/docs/images/printer.gif b/docs/images/printer.gif deleted file mode 100644 index 5021187b06..0000000000 Binary files a/docs/images/printer.gif and /dev/null differ diff --git a/docs/images/project-logo.gif b/docs/images/project-logo.gif deleted file mode 100644 index 5d9cd7f3a8..0000000000 Binary files a/docs/images/project-logo.gif and /dev/null differ diff --git a/docs/images/sdm_productivity_award.gif b/docs/images/sdm_productivity_award.gif deleted file mode 100644 index 6d76aa08eb..0000000000 Binary files a/docs/images/sdm_productivity_award.gif and /dev/null differ diff --git a/docs/images/search-left.gif b/docs/images/search-left.gif deleted file mode 100644 index cb204461f8..0000000000 Binary files a/docs/images/search-left.gif and /dev/null differ diff --git a/docs/images/search-right.gif b/docs/images/search-right.gif deleted file mode 100644 index 100557317c..0000000000 Binary files a/docs/images/search-right.gif and /dev/null differ diff --git a/docs/images/spacer.gif b/docs/images/spacer.gif deleted file mode 100644 index 35d42e808f..0000000000 Binary files a/docs/images/spacer.gif and /dev/null differ diff --git a/docs/images/tab-left.gif b/docs/images/tab-left.gif deleted file mode 100644 index 1bfd754405..0000000000 Binary files a/docs/images/tab-left.gif and /dev/null differ diff --git a/docs/images/tab-right.gif b/docs/images/tab-right.gif deleted file mode 100644 index 6803a85611..0000000000 Binary files a/docs/images/tab-right.gif and /dev/null differ diff --git a/docs/images/tabSel-left.gif b/docs/images/tabSel-left.gif deleted file mode 100644 index 46abc4dd48..0000000000 Binary files a/docs/images/tabSel-left.gif and /dev/null differ diff --git a/docs/images/tabSel-right.gif b/docs/images/tabSel-right.gif deleted file mode 100644 index 881f74c1d4..0000000000 Binary files a/docs/images/tabSel-right.gif and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index ff6b6bbad7..0000000000 --- a/docs/index.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - Apache Ant - Welcome - - - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Welcome

-

- - Apache Ant™ -

-

Apache Ant is a Java library and command-line tool who's - mission is to drive processes described in build files as targets - and extension points dependent upon each other. - The main known usage of Ant is the build of Java applications. - Ant supplies a number of built-in tasks allowing to compile, assemble, - test and run Java applications. - Ant can also be used effectively to build non Java applications, for - instance C or C++ applications. More generally, Ant can be used to - pilot any type of process which can be described in terms of targets - and tasks. -

-

- Ant is written in Java. Users of Ant can develop their own - "antlibs" containing Ant tasks and types, and are offered - a large number of ready-made commercial or open-source "antlibs". -

-

- Ant is extremely flexible and does not impose coding conventions or - directory layouts to the Java projects which adopt it as a build tool. -

-

- Software development projects looking for a solution combining build tool and - dependency management can use Ant in combination with Apache Ivy. -

-

The Apache Ant project is part of - the Apache Software - Foundation.

-

- - Apache Ant1.8.2 -

-

December 27th, 2010 - Apache Ant 1.8.2 Released

-

Apache Ant 1.8.2 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

-

Key features of the 1.8.2 release are

-
    -
  • performance improvements in directory scanning
  • -
  • XSLT task honors classpath again (bugrep 49271)
  • -
  • distinction between core tasks and optional tasks is abolished
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
-

- - Apache Ivy 2.2.0 -

-

September 30, 2010 - Apache Ivy 2.2.0 Released

-

Apache Ivy 2.2.0 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

-

Key features of the 2.2.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new parent mechanism for Ivy files
  • -
  • improved pom generation from an ivy.xml file
  • -
  • automated PGP signature generation when uploading artifacts
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
-

For more information see - the Ivy home page.

-

- - Apache AntUnit 1.1 -

-

September 26, 2008 - Apache AntUnit 1.1 Released

-

Apache AntUnit 1.1 is now available for download as binary - or source - release.

-

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

-

For more information see the Antlib's - home page

-

- - Documentation -

-

-You can view the documentation for the current release (Apache Ant 1.8.1) -online -

-

-Comprehensive documentation is included in the source and binary distributions. -

-

- - Get Involved -

- - -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/legal.html b/docs/legal.html deleted file mode 100644 index 9ad0d91456..0000000000 --- a/docs/legal.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - - - - Apache Ant - Legal - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Legal

-

- - Legal Stuff They Make Us Say -

-

All material on this website is Copyright © 1999-2011, - The Apache Software Foundation.

-

Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather - logo, and the Apache Ant project logos are trademarks of The - Apache Software Foundation.

-

Sun, Sun Microsystems, Solaris, Java, JavaServer Web - Development Kit, and JavaServer Pages are trademarks or - registered trademarks of Oracle Corporation. UNIX is a - registered trademark in the United States and other countries, - exclusively licensed through X/Open Company, Ltd. Windows, - WindowsNT, and Win32 are registered trademarks of Microsoft - Corp. All other product names mentioned herein and throughout - the entire web site are trademarks of their respective - owners.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/license.html b/docs/license.html deleted file mode 100644 index 2e303e041f..0000000000 --- a/docs/license.html +++ /dev/null @@ -1,519 +0,0 @@ - - - - - - - - - Apache Ant - License - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

License

-

- - The Apache License Version 2.0 -

-

The Apache License Version 2.0 applies - to all releases of Apache Ant starting with Ant 1.6.1

-
/*
- *                                 Apache License
- *                           Version 2.0, January 2004
- *                        http://www.apache.org/licenses/
- *
- *   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
- *
- *   1. Definitions.
- *
- *      "License" shall mean the terms and conditions for use, reproduction,
- *      and distribution as defined by Sections 1 through 9 of this document.
- *
- *      "Licensor" shall mean the copyright owner or entity authorized by
- *      the copyright owner that is granting the License.
- *
- *      "Legal Entity" shall mean the union of the acting entity and all
- *      other entities that control, are controlled by, or are under common
- *      control with that entity. For the purposes of this definition,
- *      "control" means (i) the power, direct or indirect, to cause the
- *      direction or management of such entity, whether by contract or
- *      otherwise, or (ii) ownership of fifty percent (50%) or more of the
- *      outstanding shares, or (iii) beneficial ownership of such entity.
- *
- *      "You" (or "Your") shall mean an individual or Legal Entity
- *      exercising permissions granted by this License.
- *
- *      "Source" form shall mean the preferred form for making modifications,
- *      including but not limited to software source code, documentation
- *      source, and configuration files.
- *
- *      "Object" form shall mean any form resulting from mechanical
- *      transformation or translation of a Source form, including but
- *      not limited to compiled object code, generated documentation,
- *      and conversions to other media types.
- *
- *      "Work" shall mean the work of authorship, whether in Source or
- *      Object form, made available under the License, as indicated by a
- *      copyright notice that is included in or attached to the work
- *      (an example is provided in the Appendix below).
- *
- *      "Derivative Works" shall mean any work, whether in Source or Object
- *      form, that is based on (or derived from) the Work and for which the
- *      editorial revisions, annotations, elaborations, or other modifications
- *      represent, as a whole, an original work of authorship. For the purposes
- *      of this License, Derivative Works shall not include works that remain
- *      separable from, or merely link (or bind by name) to the interfaces of,
- *      the Work and Derivative Works thereof.
- *
- *      "Contribution" shall mean any work of authorship, including
- *      the original version of the Work and any modifications or additions
- *      to that Work or Derivative Works thereof, that is intentionally
- *      submitted to Licensor for inclusion in the Work by the copyright owner
- *      or by an individual or Legal Entity authorized to submit on behalf of
- *      the copyright owner. For the purposes of this definition, "submitted"
- *      means any form of electronic, verbal, or written communication sent
- *      to the Licensor or its representatives, including but not limited to
- *      communication on electronic mailing lists, source code control systems,
- *      and issue tracking systems that are managed by, or on behalf of, the
- *      Licensor for the purpose of discussing and improving the Work, but
- *      excluding communication that is conspicuously marked or otherwise
- *      designated in writing by the copyright owner as "Not a Contribution."
- *
- *      "Contributor" shall mean Licensor and any individual or Legal Entity
- *      on behalf of whom a Contribution has been received by Licensor and
- *      subsequently incorporated within the Work.
- *
- *   2. Grant of Copyright License. Subject to the terms and conditions of
- *      this License, each Contributor hereby grants to You a perpetual,
- *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- *      copyright license to reproduce, prepare Derivative Works of,
- *      publicly display, publicly perform, sublicense, and distribute the
- *      Work and such Derivative Works in Source or Object form.
- *
- *   3. Grant of Patent License. Subject to the terms and conditions of
- *      this License, each Contributor hereby grants to You a perpetual,
- *      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- *      (except as stated in this section) patent license to make, have made,
- *      use, offer to sell, sell, import, and otherwise transfer the Work,
- *      where such license applies only to those patent claims licensable
- *      by such Contributor that are necessarily infringed by their
- *      Contribution(s) alone or by combination of their Contribution(s)
- *      with the Work to which such Contribution(s) was submitted. If You
- *      institute patent litigation against any entity (including a
- *      cross-claim or counterclaim in a lawsuit) alleging that the Work
- *      or a Contribution incorporated within the Work constitutes direct
- *      or contributory patent infringement, then any patent licenses
- *      granted to You under this License for that Work shall terminate
- *      as of the date such litigation is filed.
- *
- *   4. Redistribution. You may reproduce and distribute copies of the
- *      Work or Derivative Works thereof in any medium, with or without
- *      modifications, and in Source or Object form, provided that You
- *      meet the following conditions:
- *
- *      (a) You must give any other recipients of the Work or
- *          Derivative Works a copy of this License; and
- *
- *      (b) You must cause any modified files to carry prominent notices
- *          stating that You changed the files; and
- *
- *      (c) You must retain, in the Source form of any Derivative Works
- *          that You distribute, all copyright, patent, trademark, and
- *          attribution notices from the Source form of the Work,
- *          excluding those notices that do not pertain to any part of
- *          the Derivative Works; and
- *
- *      (d) If the Work includes a "NOTICE" text file as part of its
- *          distribution, then any Derivative Works that You distribute must
- *          include a readable copy of the attribution notices contained
- *          within such NOTICE file, excluding those notices that do not
- *          pertain to any part of the Derivative Works, in at least one
- *          of the following places: within a NOTICE text file distributed
- *          as part of the Derivative Works; within the Source form or
- *          documentation, if provided along with the Derivative Works; or,
- *          within a display generated by the Derivative Works, if and
- *          wherever such third-party notices normally appear. The contents
- *          of the NOTICE file are for informational purposes only and
- *          do not modify the License. You may add Your own attribution
- *          notices within Derivative Works that You distribute, alongside
- *          or as an addendum to the NOTICE text from the Work, provided
- *          that such additional attribution notices cannot be construed
- *          as modifying the License.
- *
- *      You may add Your own copyright statement to Your modifications and
- *      may provide additional or different license terms and conditions
- *      for use, reproduction, or distribution of Your modifications, or
- *      for any such Derivative Works as a whole, provided Your use,
- *      reproduction, and distribution of the Work otherwise complies with
- *      the conditions stated in this License.
- *
- *   5. Submission of Contributions. Unless You explicitly state otherwise,
- *      any Contribution intentionally submitted for inclusion in the Work
- *      by You to the Licensor shall be under the terms and conditions of
- *      this License, without any additional terms or conditions.
- *      Notwithstanding the above, nothing herein shall supersede or modify
- *      the terms of any separate license agreement you may have executed
- *      with Licensor regarding such Contributions.
- *
- *   6. Trademarks. This License does not grant permission to use the trade
- *      names, trademarks, service marks, or product names of the Licensor,
- *      except as required for reasonable and customary use in describing the
- *      origin of the Work and reproducing the content of the NOTICE file.
- *
- *   7. Disclaimer of Warranty. Unless required by applicable law or
- *      agreed to in writing, Licensor provides the Work (and each
- *      Contributor provides its Contributions) on an "AS IS" BASIS,
- *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- *      implied, including, without limitation, any warranties or conditions
- *      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- *      PARTICULAR PURPOSE. You are solely responsible for determining the
- *      appropriateness of using or redistributing the Work and assume any
- *      risks associated with Your exercise of permissions under this License.
- *
- *   8. Limitation of Liability. In no event and under no legal theory,
- *      whether in tort (including negligence), contract, or otherwise,
- *      unless required by applicable law (such as deliberate and grossly
- *      negligent acts) or agreed to in writing, shall any Contributor be
- *      liable to You for damages, including any direct, indirect, special,
- *      incidental, or consequential damages of any character arising as a
- *      result of this License or out of the use or inability to use the
- *      Work (including but not limited to damages for loss of goodwill,
- *      work stoppage, computer failure or malfunction, or any and all
- *      other commercial damages or losses), even if such Contributor
- *      has been advised of the possibility of such damages.
- *
- *   9. Accepting Warranty or Additional Liability. While redistributing
- *      the Work or Derivative Works thereof, You may choose to offer,
- *      and charge a fee for, acceptance of support, warranty, indemnity,
- *      or other liability obligations and/or rights consistent with this
- *      License. However, in accepting such obligations, You may act only
- *      on Your own behalf and on Your sole responsibility, not on behalf
- *      of any other Contributor, and only if You agree to indemnify,
- *      defend, and hold each Contributor harmless for any liability
- *      incurred by, or claims asserted against, such Contributor by reason
- *      of your accepting any such warranty or additional liability.
- *
- *   END OF TERMS AND CONDITIONS
- *
- *   APPENDIX: How to apply the Apache License to your work.
- *
- *      To apply the Apache License to your work, attach the following
- *      boilerplate notice, with the fields enclosed by brackets "[]"
- *      replaced with your own identifying information. (Don't include
- *      the brackets!)  The text should be enclosed in the appropriate
- *      comment syntax for the file format. We also recommend that a
- *      file or class name and description of purpose be included on the
- *      same "printed page" as the copyright notice for easier
- *      identification within third-party archives.
- *
- *   Copyright [yyyy] Apache Software Foundation
- *
- *   Licensed under the Apache License, Version 2.0 (the "License");
- *   you may not use this file except in compliance with the License.
- *   You may obtain a copy of the License at
- *
- *       http://www.apache.org/licenses/LICENSE-2.0
- *
- *   Unless required by applicable law or agreed to in writing, software
- *   distributed under the License is distributed on an "AS IS" BASIS,
- *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *   See the License for the specific language governing permissions and
- *   limitations under the License.
- */
-    
-

You can download the original license file here.

-

The License is accompanied by a NOTICE

-
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Ant distribution.                      ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   This product includes also software developed by :
-     - the W3C consortium (http://www.w3c.org) ,
-     - the SAX project (http://www.saxproject.org)
-
-   Please read the different LICENSE files present in the root directory of
-   this distribution.
-
-   The names "Ant" and  "Apache Software Foundation"  must not be used to
-   endorse  or promote  products derived  from this  software without prior
-   written permission. For written permission, please contact
-   apache@apache.org.
-
-

- - The Apache Software License, Version 1.1 -

-

The Apache Software License, Version 1.1, applies to all versions of up to Apache Ant 1.6.0 included.

-
/*
- * ============================================================================
- *                   The Apache Software License, Version 1.1
- * ============================================================================
- * 
- *    Copyright (C) 2000-2003 The Apache Software Foundation. All
- *    rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without modifica-
- * tion, are permitted provided that the following conditions are met:
- * 
- * 1. Redistributions of  source code must  retain the above copyright  notice,
- *    this list of conditions and the following disclaimer.
- * 
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 
- * 3. The end-user documentation included with the redistribution, if any, must
- *    include  the following  acknowledgment:  "This product includes  software
- *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
- *    Alternately, this  acknowledgment may  appear in the software itself,  if
- *    and wherever such third-party acknowledgments normally appear.
- * 
- * 4. The names "Ant" and  "Apache Software Foundation"  must not be used to
- *    endorse  or promote  products derived  from this  software without  prior
- *    written permission. For written permission, please contact
- *    apache@apache.org.
- * 
- * 5. Products  derived from this software may not  be called "Apache", nor may
- *    "Apache" appear  in their name,  without prior written permission  of the
- *    Apache Software Foundation.
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * This software  consists of voluntary contributions made  by many individuals
- * on behalf of the  Apache Software Foundation.  For more  information  on the 
- * Apache Software Foundation, please see <http://www.apache.org/>.
- *
- */
-
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/mail.html b/docs/mail.html deleted file mode 100644 index e1893b7729..0000000000 --- a/docs/mail.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - Apache Ant - Mailing Lists - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Mailing Lists

-

- - Mailing Lists -

-

Please read the guidelines of - the Jakarta Project before subscribing and posting to any of - the lists below. They apply to Apache Ant's lists as well.

-

The user and dev list are subscriber only lists, this means - you have to subscribe before you can post to the list. Please - note that any HTML parts sent to the lists will be removed by our - mailing list software - you shouldn't be sending HTML mails - anyway.

-

To subscribe to a mailinglist use the links below. In your first email you will get some - information about working with the list manager EZMLM.

-

- - User List: user@ant.apache.org -

-

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive - Third Party Archive -

-

This list is for developers that are using Ant in their own - projects to ask questions, share knowledge, and discuss issues - related to using Apache Ant as a build tool.

-

- - Ivy User List: ivy-user@ant.apache.org -

-

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive -

-

This list is for developers that are using Ivy or IvyDE in - their own projects to ask questions, share knowledge, and - discuss issues related to using Apache Ivy with or without Apache Ant.

-

- - Developer List: dev@ant.apache.org -

-

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive - Third Party Archive -

-

This is the list where participating developers of the Apache Ant - build tool, Apache Ivy or the Ant libraries developed by the Ant team - meet and discuss issues, code changes/additions, etc.

-

- - Notifications List: notifications@ant.apache.org -

-

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive -

-

Subscribers to this list get notices of each and every - code change, build results, testing notices, etc.

-

- - How to unsubscribe your old email address -

-

- First, find out the particular email adress to which ezmlm is sending. - The email headers are visible in Microsoft Outlook via the messages menu - "View | Options". -

-        Microsoft Mail Internet Headers Version 2.0
-        ...
-        List-Unsubscribe: <mailto:user-unsubscribe@ant.apache.org>
-        List-Help: <mailto:user-help@ant.apache.org>
-        List-Post: <mailto:user@ant.apache.org>
-        List-Id: "Ant Users List" <user.ant.apache.org>
-        Reply-To: "Ant Users List" <user@ant.apache.org>
-        Delivered-To: mailing list user@ant.apache.org
-        ...
-        Return-Path: user-return-12345-john=host.domain@ant.apache.org
-        ...
-        
- The Return-Path header contains the email address which is subscribed. -

-

To stop subscription for the address john@host.domain , send an email to

dev-unsubscribe-john=host.domain@ant.apache.org
- or to
user-unsubscribe-john=host.domain@ant.apache.org
. -

-

- - Archives -

-

These lists are archived at

- - -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/manual/LICENSE b/docs/manual/LICENSE deleted file mode 100644 index f820d4bd3a..0000000000 --- a/docs/manual/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Apache License - * Version 2.0, January 2004 - * http://www.apache.org/licenses/ - * - * TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - * - * 1. Definitions. - * - * "License" shall mean the terms and conditions for use, reproduction, - * and distribution as defined by Sections 1 through 9 of this document. - * - * "Licensor" shall mean the copyright owner or entity authorized by - * the copyright owner that is granting the License. - * - * "Legal Entity" shall mean the union of the acting entity and all - * other entities that control, are controlled by, or are under common - * control with that entity. For the purposes of this definition, - * "control" means (i) the power, direct or indirect, to cause the - * direction or management of such entity, whether by contract or - * otherwise, or (ii) ownership of fifty percent (50%) or more of the - * outstanding shares, or (iii) beneficial ownership of such entity. - * - * "You" (or "Your") shall mean an individual or Legal Entity - * exercising permissions granted by this License. - * - * "Source" form shall mean the preferred form for making modifications, - * including but not limited to software source code, documentation - * source, and configuration files. - * - * "Object" form shall mean any form resulting from mechanical - * transformation or translation of a Source form, including but - * not limited to compiled object code, generated documentation, - * and conversions to other media types. - * - * "Work" shall mean the work of authorship, whether in Source or - * Object form, made available under the License, as indicated by a - * copyright notice that is included in or attached to the work - * (an example is provided in the Appendix below). - * - * "Derivative Works" shall mean any work, whether in Source or Object - * form, that is based on (or derived from) the Work and for which the - * editorial revisions, annotations, elaborations, or other modifications - * represent, as a whole, an original work of authorship. For the purposes - * of this License, Derivative Works shall not include works that remain - * separable from, or merely link (or bind by name) to the interfaces of, - * the Work and Derivative Works thereof. - * - * "Contribution" shall mean any work of authorship, including - * the original version of the Work and any modifications or additions - * to that Work or Derivative Works thereof, that is intentionally - * submitted to Licensor for inclusion in the Work by the copyright owner - * or by an individual or Legal Entity authorized to submit on behalf of - * the copyright owner. For the purposes of this definition, "submitted" - * means any form of electronic, verbal, or written communication sent - * to the Licensor or its representatives, including but not limited to - * communication on electronic mailing lists, source code control systems, - * and issue tracking systems that are managed by, or on behalf of, the - * Licensor for the purpose of discussing and improving the Work, but - * excluding communication that is conspicuously marked or otherwise - * designated in writing by the copyright owner as "Not a Contribution." - * - * "Contributor" shall mean Licensor and any individual or Legal Entity - * on behalf of whom a Contribution has been received by Licensor and - * subsequently incorporated within the Work. - * - * 2. Grant of Copyright License. Subject to the terms and conditions of - * this License, each Contributor hereby grants to You a perpetual, - * worldwide, non-exclusive, no-charge, royalty-free, irrevocable - * copyright license to reproduce, prepare Derivative Works of, - * publicly display, publicly perform, sublicense, and distribute the - * Work and such Derivative Works in Source or Object form. - * - * 3. Grant of Patent License. Subject to the terms and conditions of - * this License, each Contributor hereby grants to You a perpetual, - * worldwide, non-exclusive, no-charge, royalty-free, irrevocable - * (except as stated in this section) patent license to make, have made, - * use, offer to sell, sell, import, and otherwise transfer the Work, - * where such license applies only to those patent claims licensable - * by such Contributor that are necessarily infringed by their - * Contribution(s) alone or by combination of their Contribution(s) - * with the Work to which such Contribution(s) was submitted. If You - * institute patent litigation against any entity (including a - * cross-claim or counterclaim in a lawsuit) alleging that the Work - * or a Contribution incorporated within the Work constitutes direct - * or contributory patent infringement, then any patent licenses - * granted to You under this License for that Work shall terminate - * as of the date such litigation is filed. - * - * 4. Redistribution. You may reproduce and distribute copies of the - * Work or Derivative Works thereof in any medium, with or without - * modifications, and in Source or Object form, provided that You - * meet the following conditions: - * - * (a) You must give any other recipients of the Work or - * Derivative Works a copy of this License; and - * - * (b) You must cause any modified files to carry prominent notices - * stating that You changed the files; and - * - * (c) You must retain, in the Source form of any Derivative Works - * that You distribute, all copyright, patent, trademark, and - * attribution notices from the Source form of the Work, - * excluding those notices that do not pertain to any part of - * the Derivative Works; and - * - * (d) If the Work includes a "NOTICE" text file as part of its - * distribution, then any Derivative Works that You distribute must - * include a readable copy of the attribution notices contained - * within such NOTICE file, excluding those notices that do not - * pertain to any part of the Derivative Works, in at least one - * of the following places: within a NOTICE text file distributed - * as part of the Derivative Works; within the Source form or - * documentation, if provided along with the Derivative Works; or, - * within a display generated by the Derivative Works, if and - * wherever such third-party notices normally appear. The contents - * of the NOTICE file are for informational purposes only and - * do not modify the License. You may add Your own attribution - * notices within Derivative Works that You distribute, alongside - * or as an addendum to the NOTICE text from the Work, provided - * that such additional attribution notices cannot be construed - * as modifying the License. - * - * You may add Your own copyright statement to Your modifications and - * may provide additional or different license terms and conditions - * for use, reproduction, or distribution of Your modifications, or - * for any such Derivative Works as a whole, provided Your use, - * reproduction, and distribution of the Work otherwise complies with - * the conditions stated in this License. - * - * 5. Submission of Contributions. Unless You explicitly state otherwise, - * any Contribution intentionally submitted for inclusion in the Work - * by You to the Licensor shall be under the terms and conditions of - * this License, without any additional terms or conditions. - * Notwithstanding the above, nothing herein shall supersede or modify - * the terms of any separate license agreement you may have executed - * with Licensor regarding such Contributions. - * - * 6. Trademarks. This License does not grant permission to use the trade - * names, trademarks, service marks, or product names of the Licensor, - * except as required for reasonable and customary use in describing the - * origin of the Work and reproducing the content of the NOTICE file. - * - * 7. Disclaimer of Warranty. Unless required by applicable law or - * agreed to in writing, Licensor provides the Work (and each - * Contributor provides its Contributions) on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied, including, without limitation, any warranties or conditions - * of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - * PARTICULAR PURPOSE. You are solely responsible for determining the - * appropriateness of using or redistributing the Work and assume any - * risks associated with Your exercise of permissions under this License. - * - * 8. Limitation of Liability. In no event and under no legal theory, - * whether in tort (including negligence), contract, or otherwise, - * unless required by applicable law (such as deliberate and grossly - * negligent acts) or agreed to in writing, shall any Contributor be - * liable to You for damages, including any direct, indirect, special, - * incidental, or consequential damages of any character arising as a - * result of this License or out of the use or inability to use the - * Work (including but not limited to damages for loss of goodwill, - * work stoppage, computer failure or malfunction, or any and all - * other commercial damages or losses), even if such Contributor - * has been advised of the possibility of such damages. - * - * 9. Accepting Warranty or Additional Liability. While redistributing - * the Work or Derivative Works thereof, You may choose to offer, - * and charge a fee for, acceptance of support, warranty, indemnity, - * or other liability obligations and/or rights consistent with this - * License. However, in accepting such obligations, You may act only - * on Your own behalf and on Your sole responsibility, not on behalf - * of any other Contributor, and only if You agree to indemnify, - * defend, and hold each Contributor harmless for any liability - * incurred by, or claims asserted against, such Contributor by reason - * of your accepting any such warranty or additional liability. - * - * END OF TERMS AND CONDITIONS - * - * APPENDIX: How to apply the Apache License to your work. - * - * To apply the Apache License to your work, attach the following - * boilerplate notice, with the fields enclosed by brackets "[]" - * replaced with your own identifying information. (Don't include - * the brackets!) The text should be enclosed in the appropriate - * comment syntax for the file format. We also recommend that a - * file or class name and description of purpose be included on the - * same "printed page" as the copyright notice for easier - * identification within third-party archives. - * - * Copyright [yyyy] [name of copyright owner] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ diff --git a/docs/manualdownload.cgi b/docs/manualdownload.cgi deleted file mode 100755 index 4324f769f0..0000000000 --- a/docs/manualdownload.cgi +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Wrapper script around mirrors.cgi script -# (we must change to that directory in order for python to pick up the -# python includes correctly) -cd /www/www.apache.org/dyn/mirrors -/www/www.apache.org/dyn/mirrors/mirrors.cgi $* diff --git a/docs/manualdownload.html b/docs/manualdownload.html deleted file mode 100644 index b5af19e50e..0000000000 --- a/docs/manualdownload.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - Apache Ant - Ant Manual Distributions - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Ant Manual Distributions

-

- - Downloading Apache Ant™'s Manual -

-

Apache Ant's manual is part of the binary distribution but is also - available as a stand-alone download.

-

Use the links below to download a distribution of Ant's manual from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

-

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

-

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

-

- - Mirror -

-

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

-
-Other mirrors: - -
-

- - Current Release of Ant -

-

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

-
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-
-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- -

- - Old Ant Releases -

-

Manuals for older releases of Ant can be -found here.

-

- - Verify Releases -

-

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

-

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

-

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-manual.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-manual.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-manual.tar.gz.asc -

-

A command line version of GnuPG -is also available for Windows users. Follow the -instructions -to verify the package.

-

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

-

We highly recommend to verify the PGP signature, though.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/mission.html b/docs/mission.html deleted file mode 100644 index 500be78e33..0000000000 --- a/docs/mission.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - - - Apache Ant - Apache Ant™ Mission - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Apache Ant™ Mission

-

- - Board Resolution -

-

Apache Ant is a project of the Apache Software Foundation. It - started as a subproject of the Apache Jakarta Project.

-

This is the board resolution (from the minutes) - that created the Apache Ant project:

-
-7.D. Resolution [R3] to create the Ant PMC
-
-WHEREAS, the Board of Directors deems it to be in the best
-interests of the Foundation and consistent with the
-Foundation's purpose to establish a Project Management
-Committee charged with the creation and maintenance of
-open-source software related to the Apache Ant build tool, for
-distribution at no charge to the public.
-
-NOW, THEREFORE, BE IT RESOLVED, that a Project Management
-Committee (PMC), to be known as the "Apache Ant PMC", be and
-hereby is established pursuant to Bylaws of the Foundation; and
-be it further
-
-RESOLVED, that the Apache Ant PMC be and hereby is responsible
-for the creation and maintenance of the Ant build system and
-related software components, based on software licensed to the
-Foundation; and be it further
-
-RESOLVED, that the office of "Vice President, Apache Ant" be
-and hereby is created, the person holding such office to serve
-at the direction of the Board of Directors as the chair of the
-Apache Ant PMC, and to have primary responsibility for
-management of the projects within the scope of responsibility
-of the Apache Ant PMC; and be it further
-
-RESOLVED, that the persons listed immediately below be and
-hereby are appointed to serve as the initial members of the
-Apache Ant PMC:
-
-   Bruce Atherton
-   Stephane Bailliez
-   Stefan Bodewig
-   Erik Hatcher
-   Diane Holt
-   Donald Leslie
-   Steve Loughran
-   Conor MacNeill
-   Costin Manolache
-   Sam Ruby
-   Jon Skeet
-   Magesh Umasankar
-   Christoph Wilhelms
-
-NOW, THEREFORE, BE IT FURTHER RESOLVED, that Conor MacNeill be
-and hereby is appointed to the office of Vice President, Apache
-Ant, to serve in accordance with and subject to the direction
-of the Board of Directors and the Bylaws of the Foundation
-until death, resignation, retirement, removal or
-disqualification, or until a successor is appointed; and be it
-further
-
-RESOLVED, that the initial Apache Ant PMC be and hereby is
-tasked with the creation of a set of bylaws intended to
-encourage open development and increased participation in the
-Apache Ant Project.
-
-By Unanimous Vote, Resolution R3 was approved. The Ant PMC is
-hereby created.
-    
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/nightlies.html b/docs/nightlies.html deleted file mode 100644 index 9d161ca145..0000000000 --- a/docs/nightlies.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - Apache Ant - Nightly+Continuous Builds - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Nightly+Continuous Builds

-

- - Nightly Builds -

-

We don't provide binary nightly builds at the moment, but if you -want to build Apache Ant from sources, you can use a Subversion snapshot.

-

- - Continuous Builds -

-

Ant and Ivy are using Continous Integrations systems to improve the development process. -Note that these are no official builds and they are not endorsed or even supported by the Ant team. -But if you have problems with testing the latest (successful) build, you are welcome to post -that on the developer mailinglist. -You can directly access the builds of Ant and Ivy on these CI installations:

-

The Apache Software Foundation hosts an -installation of the Hudson CI-system which Ant + Ivy -use.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TitleDescriptionBuild commandWhenlast buildlast success
Apache Ant
Ant Trunk on JDK 1.4current development on the lowest defined JDKbuild.shcontinuously
Ant Trunk Tests on JDK 1.4current development on the lowest defined JDKbuild.sh allclean testcontinuously
Checks Ant POMs by building Ant from the POMs.Checks the POMs by building Ant by Mavenmaven src/etc/poms/pom.xml clean packagecontinuously
Ant NightlyMetric checks of Ant Trunk (Findbugs, RAT, Checkstyle)ant allclean distribution | ant -f check.xml dumphtml findbugs ratcontinuously
Ant JDK-MatrixChecks Ant Trunk against several JDKs (1.4, 1.5, 1.6)ant testcontinuously
Apache Ivy
Ivy Core Trunkcurrent developmentant clean jarcontinuously
Ivy Core Trunk ChecksMetric checks of Ivy Trunk (Findbugs, RAT, Checkstyle)ant findbugs checkstyle-internal | ant -f build-release.xml ratcontinuously
Apache IvyDE
IvyDE Trunkcurrent developmentant clean hudson-prepare | ant dist checkstyle ratcontinuously
Eclipse UpdatesiteUpdate your Eclipse installation with the latest Ivy/IvyDEant hudson-prepare | ant hudson-buildcontinuously
-

JetBrains is offering Ant the service of a Continuous Build on their TeamCity system.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TitleDescriptionBuild commandWhenlast buildlast success
Apache Ant
Core Trunk (Windows)current development (Windows platform)clean testcontinuously
Core Trunk (Linux)current development (Linux platform)clean testcontinuously
Core Trunk (MacOS)current development (MacOS platform)clean testcontinuously
JavaDocJavaDocs for classes and testclassesjavadocs javadocs.testDaily at 08:00 GMT
(if there are pending changes)
Checkstylecheck the conformance against coding styleguide-f check.xml checkstyle htmlreportcontinuously
Findbugsruns Findbugs against Ant Codebase-f check.xml findbugsDaily at 08:00
(if there are pending changes)
Distributiona 'distribution' nearly as done while releasingallclean main_distributionDaily at 08:00 GMT
(if there are pending changes)
Apache Ivy
Core Trunkcurrent developmentclean-all testcontinuously
Core 2.0.xmaintenance of 2.x releasesclean-all testcontinuously
Core Trunk - Checkstylecheck of code styleguideclean checkstyleDaily at 00:00 GMT + 12:00 GMT
(if there are pending changes)
Core Trunk - Distributiona 'distribution' nearly as done while releasing.-f build-release.xml snapshot-maven2Daily at 09:00 GMT
(if there are pending changes)
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/page.css b/docs/page.css deleted file mode 100644 index 7ff313b76a..0000000000 --- a/docs/page.css +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -body { - background-color: #FFFFFF; - color: #000000; - margin: 0px 0px 0px 0px; - font-family: Verdana, Helvetica, sans-serif; - font-size : 90%; -} - -a:link { color: #0F3660; } -a:visited { color: #009999; } -a:active { color: #000066; } -a:hover { color: #000066; } - -.menucontainer { - float: left; - background-color: #4C6C8F; - margin: 0px 5px; - width: 250px; -} - -.menu { - font-size : 90%; - padding: 3px 8px 5px 3px; - border-right: 1px solid #294563; - border-left: 1px solid #294563; -} - -.menu a:link { color: #FFFFFF; text-decoration : none; } -.menu a:visited { color: #FFFFFF; text-decoration : none; } -.menu a:hover { color: #FFCC00; text-decoration : none; } -.menu ul { margin: 0px 0px 0px 20px; padding: 0px; } -.menu li { list-style-image: url('images/label.gif'); font-weight : bold; } -.menu ul ul li .sel { list-style-image: url('images/current.gif'); font-weight : normal; } -.menu ul ul li { list-style-image: url('images/page.gif'); font-weight : normal; } - -.menuheader { - color: #CFDCED; -} - -.sel { - color: #ffcc00; -} - -.tab { font-size : 85%; border: 0; background-color: #294563;} -.tab a:link { text-decoration : none; } -.tab a:visited { text-decoration : none; color: #2A4A6D } -.tab a:hover { color: #000066; } - -table .title { background-color: #FFFFFF; width:100%; border: 0px; } -.dida { font-size: 80%; } - -.pre { white-space: pre;} -.nowrap { white-space: nowrap;} - -.main { - margin-left: 280px; - margin-right: 5px; -} - -.content { - padding: 5px 5px 5px 10px; - font : small Verdana, Helvetica, sans-serif; - font-size : 90%; -} - -.content .ForrestTable { width: 100%; background-color: #7099C5; color: #ffffff; font-size : 90%;} -.content .ForrestTable caption { text-align: left; color: black; font-weight: bold; } -.content .ForrestTable th { text-align: center; } -.content .ForrestTable td { background-color: #f0f0ff; color: black; } - -.content .externals { width: 80%; background-color: #7099C5; color: #ffffff; font-size : 90%;} -.content .externals caption { text-align: left; color: black; font-weight: bold; } -.content .externals th { width: 120px; text-align: right; } -.content .externals td { background-color: #f0f0ff; color: black; } - -.content .ContinuousBuild { width: 90%; background-color: #7099C5; color: #ffffff; font-size : 90%;} -.content .ContinuousBuild caption { text-align: left; color: black; font-weight: bold; } -.content .ContinuousBuild th { width: 120px; } -.content .ContinuousBuild td { background-color: #f0f0ff; color: black; text-align: center; } -.content .ContinuousBuild .title { width: 15%; text-align: left; } -.content .ContinuousBuild .description { width: 30%; font-style: italic; } -.content .ContinuousBuild .command { width: 20%; font-family: "Courier New", Courier, monospace; } -.content .ContinuousBuild .when { width: 25%; } -.content .ContinuousBuild .link { } - - -.frame { margin: 5px 20px 5px 20px; font-size: 90%; } -.frame .content { margin: 0px; } - -.note { border: solid 1px #7099C5; background-color: #f0f0ff; } -.note .label { background-color: #7099C5; color: #ffffff; } - -.warning { border: solid 1px #D00000; background-color: #fff0f0; } -.warning .label { background-color: #D00000; color: #ffffff; } - -.fixme { border: solid 1px #C6C600; background-color: #FAF9C3; } -.fixme .label { background-color: #C6C600; color: #ffffff; } - -.code { border-color: #CFDCED; border-style: solid; border-width: 1px; } -.codefrag { font-family: "Courier New", Courier, monospace; } - -.highlight { background-color: yellow; } - -.minitoc {margin: 5px 5px 5px 40px;} - -.dtdElement { width: 100%; font-size: 90%; background-color : #ffffff; } - -.dtdTag { color: #990000; text-transform : uppercase; font-style : normal; font-size : 120%; font-weight : bold; } - -.section { - font-family: Verdana, Helvetica, sans-serif; - background-color: #294563; - color: #ffffff; - font-weight: bold; - padding: 2px; - margin-top: 20px; - clear: right; -} - -.subsection { - font-family: arial,helvetica,sanserif; - background-color: #4C6C8F; - color: #ffffff; - font-weight: bold; - padding: 2px; - clear: right; -} - -.toc { - font-family: arial,helvetica,sanserif; - background-color: #4C6C8F; - color: #ffffff; - font-weight: bold; - padding: 2px; -} - -.faq { - font-family: arial,helvetica,sanserif; - background-color: #4C6C8F; - color: #ffffff; - font-weight: bold; - padding: 2px; -} - -.navpath { - font-family: arial,helvetica,sanserif; - background-color: #CFDCED; - padding: 2px 6px; - margin: 0px 0px 0px 0px; - font-size: 90%; - border-bottom: 2px solid #4C6C8F; -} - -.title { - font-family: Verdana, Helvetica, sans-serif; -} - -.copyright { - font-family: arial,helvetica,sanserif; - font-size: 90%; - background-color: #CFDCED; - clear: both; - text-align: center; - margin: 0px; - border-top: thin solid #4C6C8F; -} - -.bluebar { - padding: 5px 5px 5px 10px; - background-color: #4C6C8F; - margin: 0px; -} - -.lightbluebar { - padding: 5px 5px 5px 10px; - background-color: #CFDCED; - margin: 0px; - border-top: 1px solid #294563; - border-bottom: 1px solid #294563; -} - -.logobar { - background-color: #294563; - padding-right: 10px; - margin: 0px; -} - -.searchcaption { - color: #FFFFFF; - text-align: left; - font-family: arial,helvetica,sanserif; - font-size: 90%; - background-color: #4C6C8F; - margin: 0px; -} - -@media print { - .menu { - display: none; - } -} - -#adcontainer { -} \ No newline at end of file diff --git a/docs/problems.html b/docs/problems.html deleted file mode 100644 index cc0659611b..0000000000 --- a/docs/problems.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - Apache Ant - Having Problems? - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Having Problems?

-

- - Having Problems? -

-

- This page details some steps you can take to try and resolve - any problems you may be having with Apache Ant. If you find you can't - resolve the problem, then this page will help you collect some of - the relevant information to provide in a bug report. This information - will help the Ant developers understand and resolve the problem. - Of course, not all the steps here will make sense for every problem - you may encounter - these are just some suggestions to point - you in the right direction. -

-

- - Ensure that you are actually running the version of Ant that you think you do -

-

Many tools include a version of Ant and some Operating - Systems even install it by default now, so you may have a - version of Ant installed that you haven't been aware of.

-

One of the first things to do is to run -

- ant -version -

- and -

- ant -diagnostics -

- to be sure. Also, we highly recommend that you run Ant with - an empty CLASSPATH. If any other version of Ant can be - loaded from the CLASSPATH, many types of errors may happen - because of incompatible classes being loaded.

-

See the FAQ for some examples, but many - other problems are a result of an old version of Ant on your - system as well.

-

- - Read the Manual -

-

- The first step to take when you have a problem with Ant is to read - the manual entry for the task or - concept that is giving you trouble. In particular, check the - meaning of a task's attributes and nested elements. Perhaps an - attribute is available that would provide the behavior you require. - If you have problems with the manual itself, you can submit a - documentation bug report (see below) to help us improve the Ant - documentation. -

-

- - Examine Debug Output -

-

- If you're still having a problem, the next step is to try and - gather additional information about what Ant is doing. - Try running Ant with the verbose flag: -

- ant -verbose -

- or -

- ant -v -

- - This will produce output that starts like the following:

- - - - -
- -Ant version 1.4.1 compiled on October 11 2001
-Buildfile: build.xml
-Detected Java version: 1.3 in: D:\usr\local\java\jdk13\jre
-Detected OS: Windows NT
-parsing buildfile D:\ant\build.xml -with URI = file:D:/ant/build.xml
-Project base dir set to: D:\ant
-  [property] Loading Environment env.
-  [property] Loading D:\ant\conf.properties
-Build sequence for target 'debug' is [debug]
-Complete build sequence is [debug, gensrc, compile, jar, test]
-. . .
- -
-

- You should be able to see from the trace more about what Ant - is doing and why it's taking a particular course of action. - If you need even more information, you can use the - -debug flag rather than - -verbose. - This will generally produce so much - output that you may want to save the output to a file and - analyze it in an editor. You can save the output using the - -logfile <filename> flag, or - using redirection. -

-

- Once you have all this debug information, how can you use it - to solve your problem? That will depend on the task in question - and the nature of your problem. Each task logs different aspects - of its operation, but it should give you an idea of what is going - on. For example, the <javac> task logs the - reasons why it - chooses to compile particular class files and not others, along - with which compiler it is using and the arguments it will pass - to that compiler. The following partial trace shows why - <javac> is adding one class file but - skipping another. - This is followed by which compiler it will be using, the - arguments that will get passed to the compiler, - and a list of all the class files to be compiled. -

- - - - -
- -[javac] Test.java omitted as D:\classes\Test.class is up to date.
-[javac] Unset.java added as D:\classes\Unset.class is outdated.
-[javac] Compiling 1 source file to D:\classes
-[javac] Using classic compiler
-[javac] Compilation args: -d D:\classes -classpath D:\classes;
-D:\jdk118\classes.zip; -sourcepath D:\src\java -g:none
-[javac] File to be compiled:
-D:\src\java\Unset.java
- -
-

- In many cases, Ant tasks are wrappers around OS commands or - other Java classes. In debug mode, many of these tasks will - print out the equivalent command line, as the - <javac> task - output does. If you are having a problem, it is often useful to - run the command directly from the command line, in the same way - Ant is running it, and see if the problem occurs from there - as well. The problem may be in the command that is being run, - or it may be in the way the Ant task is running the command. - You can also see the effect of changing attribute values on the - generated command line. This can help you to understand whether - you are using the correct attributes and values. -

-

- - Has It Been Fixed? -

-

- After examining the debug output, if you still believe that the - problem you are having is caused by Ant, chances are that someone - else may have already encountered this problem, and perhaps it has - been fixed. The next step, therefore, would be to download the - sources of ant, see svn. -

-

- Gump - is building ant every night and using the ant built from the - latest source to build a long list of open source projects. However, - the version of ant built by gump is not available for download. Even - if it were, it would not include most of the optional tasks. -

-

- We currently do not have nightly builds including the optional tasks. -

-

- - bugs -

-

If you are convinced that you have identified an unfixed bug, please turn to - our document concerning the bug database.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/projects.html b/docs/projects.html deleted file mode 100644 index bd340a3505..0000000000 --- a/docs/projects.html +++ /dev/null @@ -1,1482 +0,0 @@ - - - - - - - - - Apache Ant - Related Projects - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Related Projects

-

- - Related Projects -

-

Nothing listed here is directly supported by the Apache Ant - developers, if you encounter any problems with them, please use - the contact information.

-

- - AndroMDA -

-

AndroMDA is a code generator tool that follows the Model - Driven Architecture (MDA) paradigm. It takes a UML model from - a CASE-tool and generates classes and deployable components - (J2EE or other) specific for your application - architecture.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.4.1 and above -
- URL: - - http://www.AndroMDA.org/ -
- Contact: - - project mailing lists -
- License: - - BSD license -
-

- - AntContrib -

-

The Ant-Contrib project is a collection of user supplied - task (like an <if> task) and a development - playground for experimental tasks like a C/C++ compilation - task for different compilers.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.4.1 and above -
- URL: - - http://ant-contrib.sourceforge.net/ -
- Contact: - - project mailing list -
- License: - - Apache Software Foundation License -
-

- - Antelope -

-

A GUI for running Ant and editing build files, can run as - stand-alone or as a plugin to jEdit. In addition to running - targets, Antelope can generate performance statistics and can - trace/display a target's execution path without actually - executing the target.

-

Includes several additional tasks: Assert, If/Else, - Try/Catch/Finally, Switch, Variable, Stopwatch, Limit, Math, - Post, SSH, SCP, AntFetch, AntCallBack.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and higher. -
- URL: - - http://antelope.tigris.org/ -
- Contact: - - Dale Anson -
- License: - - Apache Software Foundation License -
-

- - AntHill -

-

Anthill is a build tool that promotes a controlled build - process by ensuring that every build reflects the source - repository contents and tagging the repository with a unique - build number after every build. Anthill also encourages the - sharing of knowledge within an organization by automatically - updating a project intranet site with artifacts from the - latest build.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.3, is compatible with Ant 1.3 to 1.4.1 -
- URL: - - http://www.urbancode.com/projects/anthill/ -
- Contact: - - Maciej Zawadzki -
- License: - - Mozilla-like license -
-

- - Antigen -

-

Antigen (Ant Installer Generator) is a tool to take an Ant build script, combine it with a GUI - and wrap it up as an executable jar file. Its main use is for creating graphical, ant-based installers.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - bundles Ant 1.6.2 -
- URL: - - http://antigen.sourceforge.net/ -
- Contact: - - Jon Tayler -
- License: - - Academic Free License -
-

- - AntInstaller -

-

Builds MSI style installers (with command line option) - using Ant as Back end. UI developed by writing an XML install - descriptor. Runtime launched from scripts or an all inclusive - Jar.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.1 others not tested -
- URL: - - http://antinstaller.sf.net/ -
- Contact: - - teknopaul@users.sourceforge.net -
- License: - - LGPL but in the process of of moving to Apache2.0 on request -
-

- - Antiplate -

-

Antiplate is an ant-script that seeds a project-structure for typical java-projects, - including an ant-buildscript with typical targets like compiling, create distributions, - execute tests etc.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 or later -
- URL: - - Homepage -
- Contact: - - antiplate@mnementh.de -
- License: - - Apache License 2.0 -
-

- - Antlion -

-

The Antlion Project adds value to Ant build scripts by providing - tasks which centralizes the library dependencies, and enables - projects to define dependencies upon other projects.

-

External dependencies may be loaded from a custom local - repository or Maven-like remote repositories. Antlion handles - the generation of properties, filesets, and paths.

-

Inter-project dependencies allow for building the other - project's files if they aren't already built.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 and later -
- URL: - - http://antlion.sourceforge.net/ -
- Contact: - - Project mailing list -
- License: - - Apache License, Version 2.0 -
-

- - Ant Script Library -

-

The Ant Script Library (ASL) is a collection of re-usable - Ant scripts that can be imported into your own projects. The ASL - provides a number of pre-defined targets that simplify setting up build - scripts for a new project, bringing re-use and consistency to your own - Ant scripts.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7 or later -
- URL: - - http://www.exubero.com/asl/ - -
- Contact: - - Joe Schmetzer -
- License: - - The Apache Software License 2.0 -
-

- - AntShellExt (Ant Shell Extension) -

-

The domain is sold and we did not found it any more.

-

- - Antworks -

-

The antworks project is a set of tools and standardized targets that - greatly simplifies using ant in your project.

-

- The driver behind antworks is Importer. Importer is an extension to the - ant import task that will download and - cache an ant build.xml file and it's associated resources called - antlets. Antlets are available for Java compiling - and packaging, JUnit, Forrest, J2EE and - more. -

-

- See the Getting Started - guide for more information. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - 1.6 and later -
- URL: - - http://antworks.sourceforge.net/index.html -
- Contact: - - Antworks Developers mailing lists -
- License: - - The Apache License 2.0 -
-

- - BuildMonkey -

-

BuildMonkey is a Web-based automated build dashboard, with upload - capability and google web search. It schedules the running of Ant - build scripts - checking sources out of CM - and makes the results - available centrally.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5.4 or later -
- URL: - - http://www.buildmonkey.com/ -
- Contact: - - jb@buildmonkey.com -
- License: - - Freeware, commercial/support licences available -
-

- - CruiseControl -

-

CruiseControl is a tool for setting up a continuous build - process. CruiseControl provides an Ant wrapper and a set of - tasks to automate the checkout/build/test cycle. CruiseControl - also comes bundled with a servlet for viewing the status of - the current build, as well as previous build results.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.2 and higher -
- URL: - - http://cruisecontrol.sourceforge.net/ -
- Contact: - - Project Mailing Lists and Administrators -
- License: - - Release 1.0 has been licensed under the GNU General Public - License. Starting with release 1.1 the license has been - changed to a BSD-like license. -
-

- - Flaka -

-

The goal of Flaka is to simplify writing build scripts using -

    -
  • Regular control structures (when, for, switch, ..)
  • -
  • Exception handling
  • -
  • An Expression Language which in turn provdes: -
      -
    • access to underlying data objects
    • -
    • untyped variables in addition to Ant properties
    • -
    • powerfull expressions like cond ? then : else
    • -
    -
  • -
- Checkout the manual's overview chapter about the feature Flaka provides. Have especially a look at the section describing the expression language. -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.7 and higher -
- URL: - - http://workbench.haefelinger.it/flaka/ -
- Contact: - - Contact Project Lead -
- License: - - Apache License v.20 -
-

- - Invicta -

-

Invicta is a build management tool. Using simple project definition files, - it generates powerful build scripts (such as ANT) while hiding their - complexity. Invicta is a modular framework that allows developing additional - components and output types.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.5 and higher -
- URL: - - http://invicta.sf.net/ -
- Contact: - - Project Mailing Lists and Administrators -
- License: - - LGPL. -
-

- - JAM - JavaGen Ant Modules -

-

JAM is a modular Ant toolkit for developing and testing Java/J2EE - applications. JAM supports EJB and Servlet/JSP development using XDoclet, - JUnit, Cactus, Maven, Castor and MDA/UML code generation on various J2EE - servers including JBoss.

-

From JAMs website: NOTICE: As of June 2006 JAM is no longer supported. - We recommend Maven 2 Tasks for Ant as a replacement.

- - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6 -
- URL: - - http://www.javagen.com/jam/ -
- License: - - GPL -
-

- - Krysalis Centipede -

-

The Centipede admin told us, that that project - "is no more" and that "Antworks has taken it place." -

-

- - Leafcutter -

-

Leafcutter is an API which allows you to execute Ant tasks from Java code.
- Leafcutter is useful as:

    -
  • A way of integrating Ant tasks into existing Java programs.
  • -
  • A wholesale alternative to standard Ant for process automation.
  • -
-

- - - - - - - - - - - - - - - - - -
- Compatibility: - - unknown -
- URL: - - https://leafcutter.dev.java.net/ -
- Contact: - - Discussion Forum -
- License: - - Apache Software Foundation License -
-

- - luntbuild -

-

Luntbuild is an open source build automation and management - tool based on Apache Ant. Builds are setup through concepts of - projects, views, schedules, modules, etc. All configurations - and monitoring tasks is performed from a clean web - interface. It supports schedules builds, force builds, - rebuilds, clean build, increment build, etc.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.x -
- URL: - - http://luntbuild.javaforge.com/ -
- Contact: - - luntbuild project page -
- License: - - Opensource -
-

- - NAnt -

-

NAnt is a .NET based build tool. In theory it is kind of - like make without make's wrinkles. In practice it's a lot like - Ant.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - compatible in spirit. -
- URL: - - http://nant.sourceforge.net/ -
- Contact: - - project mailing list -
- License: - - GNU General Public License -
-

- - Parabuild -

-

Parabuild is an automated multiplatform build management server. - Parabuild helps software teams and organizations of all sizes reduce - risks of project failures and increase productivity by providing provides - automatic continuous integration builds and stable scheduled builds.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.3 and later -
- URL: - - http://www.viewtier.com/products/parabuild.htm -
- Contact: - - http://www.viewtier.com/about_us.htm -
- License: - - Commercial -
-

- - Rant -

-

Rant stands for Remote Ant. It is a distributed build - system that allows an Ant build file to launch builds on other - systems and receive exceptions should they occur.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 09 2002. (jhm)

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://remoteant.sourceforge.net/ -
- Contact: - - Chris Nelson -
- License: - - MIT License -
-

- - Savant -

-

Savant is a build and dependency management tool written in Java. Savant can be used in - two different ways:

    -
  • As a stand-alone build tool that wraps Apache Ant and provides a number of cool new - features such as plugins that are versioned and downloadable
  • -
  • As a set of tasks which can be used within Apache Ant build files
  • -

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Unknown. There is a distro, which ships Ant 1.7.1 -
- URL: - - http://code.google.com/p/savant-build/ -
- Contact: - - Bugtracking system -
- License: - - ASF 2.0 -
-

- - WebTest -

-

WebTest is a free open source tool for automated testing of web applications. - It is a set of powerful Ant tasks allowing to call web pages, mimic user actions - (clicking links, filling forms, ...) and verify the results. - The generated reports give comprehensive information on success and failure of the test steps.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.6.5 -
- URL: - - http://webtest.canoo.com/ -
- Contact: - - project mailing list -
- License: - - Apache like license -
-

- - XML Publication -

-

XML Publication is a set of tools to generate Web pages - from desktop documents or other structured documents using - XSLT and Ant.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.4 -
- URL: - - http://wwbota.free.fr/XMLPublication/ -
- Contact: - - Jean-Marc Vanel -
- License: - - GNU General Public License. -
-

- - yEd -

-

yEd is a freeware multi-purpose graph and diagram editor - that runs on the Java 2 platform. It provides an import filter - for Ant build scripts that makes it possible to conveniently - display and browse the dependencies between the different targets - of the build file. This is especially useful for debugging and - understanding large build files.

- - - - - - - - - - - - - - - - - -
- Compatibility: - - Ant 1.x -
- URL: - - http://www.yworks.com/products/yed/ -
- Contact: - - yWorks Support -
- License: - - Freeware -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/projects/index.html b/docs/projects/index.html deleted file mode 100644 index 667c91ad89..0000000000 --- a/docs/projects/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - Apache Ant - Welcome - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Welcome

-

- - Welcome to the Apache Ant™ Projects Area -

-

This is where the Apache Ant sub-projects live!

-

Now, that Apache Ant has become an Apache Top-Level Project it is time to make space on this - Web-Page for Ant sub-projects.

-

To make sure you do not miss anything: Stay tuned and visit this page from time to time :)! -

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/projects/ivy.html b/docs/projects/ivy.html deleted file mode 100644 index fed1f1e8de..0000000000 --- a/docs/projects/ivy.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - - - Apache Ant - The Apache Ivy Subproject - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

The Apache Ivy Subproject

-

- - The Apache Ivy™ Subproject -

-

Apache Ivy

-

Apache Ivy is a simple yet powerful dependency manager featuring continuous integration, - dependencies of dependencies management, multiple repositories including ibiblio and - high performance (use of a local cache).

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/projects/ivyde.html b/docs/projects/ivyde.html deleted file mode 100644 index 22daa40ba2..0000000000 --- a/docs/projects/ivyde.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - - - Apache Ant - The Apache IvyDE Subproject - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

The Apache IvyDE Subproject

-

- - The Apache IvyDE™ Subproject -

-

Apache IvyDE

-
    Apache IvyDE is the Eclipse plugin which intergrates Apache Ivy into your java development enviromnent. It includes: -
  • an Ivy xml files editor: creation wizard, html preview and completion for Ivy xml tag, attributes but also attributes' values.
  • -
  • an Ivy settings files editor: completion for xml tag, attributes but also attributes' values.
  • -
  • a classpath container: automatic downloads, access "resolve" task from your IDE, and resolve in Eclipse's workspace
  • -
  • an Ivy console: presents every log from Ivy, really helpful to debug a failing resolve
  • -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/resources.html b/docs/resources.html deleted file mode 100644 index c3b8aff74a..0000000000 --- a/docs/resources.html +++ /dev/null @@ -1,1480 +0,0 @@ - - - - - - - - - Apache Ant - Resources - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Resources

-

- - FAQs -

-

- - At Apache Ant™'s website -

-

Starting with the release of Apache Ant 1.4 the Ant's FAQ is - bundled with the distribution, the most recent version can - always be found at the website.

- - - - - -
- FAQ: - - http://ant.apache.org/faq.html -
-

- - jGuru -

-

jGuru hosts an interactive Ant discussion forum and FAQ system

- - - - - - - - - -
- Forum: - - http://www.jguru.com/forums/home.jsp?topic=Ant -
- FAQ: - - http://www.jguru.com/faq/home.jsp?topic=Ant -
-

- - FAQ about Borland Application Server tasks -

-

Benoit Moussaud, the original author of the Borland - Application Server specific EJB tasks has put - together a FAQ for this specific subtask.

- - - - - -
- FAQ: - - http://www.moussaud.org/ejbjar.html -
-

- - WIKIs -

-

- - Apache -

-

The ASF provides a Wiki farm for Apache projects.

- - - - - - - - - -
- Main page: - - Apache Wiki Farm -
- Ant Wiki: - - Ant Wiki -
-

- - Books -

-

The most recent books come first

-

- - Ant in Action -

-

Published April/May 2007, and covering Ant 1.7.

-

This is a major rewrite of the first edition; still 600 pages long. -

-

- This book moves up from Ant1.5 to Java1.5 and 1.7, with a near-complete - rewrite of the applied-ant section, covering new topics such as - antlibs, repository management with Ivy, Xml Schema validation, - EJB3.0/Java EE development and advanced deployment using SmartFrog. - The ant coding section looks at AntUnit, antlib authoring and - scripting languages, while the beginners chapters, the first third - of the book, still shows developers how to build, test, package and - redistribute a Java application. -

-

- If you are one of the 20,000+ owners of the first edition, it is now - obsolete. Sorry :) -

- - - - - - - - - - - - - - - - - - -
- Author: - - Steve Loughran and Erik Hatcher -
- Publisher URL: - - - - http://www.manning.com/loughran/ - - -
- Book URL - - - - http://antbook.org/ - - -
- Source code repository - - - - http://sourceforge.net/projects/antbook - - -
ISBN:193239480X
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Ant: The Definitive Guide, 2nd edition -

-

Published April 2005, and covers Ant release 1.6.1.

-

This is a complete rewrite of the first edition; this book is - now 290 pages and so covers Ant in more depth than its predecessor. -

-

It also mixes reference information (tables) with text explanation - on how to use the tasks. Contents includes JUnit, CVS, execution, basic - deployment, Web application development and XDoclet. There is also coverage - of XDoclet, and a chapter on how to extend Ant in Java.

- - - - - - - - - - -
- Author: - - Steve Holzner -
- URL: - - - http://www.oreilly.com/catalog/anttdg2/ - -
ISBN:0596006098
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Pragmatic Project Automation -

-

- - How to Build, Deploy, and Monitor Java Applications. - Published: July 2004 ISBN: 0-9745140-3-9 -

-

- This is not a reference guide to Ant, but a book on how to automate the build process. - The core build, continuous integration, reporting and release management - are all covered. Ant is of course central to this. This is a fun read! -

- - - - - - - - - - -
- Author: - - Mike Clark -
- URL: - - - http://www.pragmaticprogrammer.com/sk/auto// - -
ISBN:0974514039
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Extreme Programming with Ant -

-

This book shows how to implement an XP project using Ant 1.5.3, and many other 3rd party tools. Covers:

-
    -
  • The fundamentals of Ant: concepts, core and optional tasks
  • -
  • How to write custom Ant components, including custom Tasks, Loggers, Listeners, Input Handlers, Selectors, Filters, Mappers and Data Types
  • -
  • Mitigating risks by creating spike tests with Ant buildfiles
  • -
  • Add CVS version control and testing with JUnit
  • -
  • Automate nightly builds and reporting
  • -
  • Deploy applications dynamically using XDoclet
  • -
  • Enforcing Code Standards with Jalopy, PMD, CheckStyle, iContract, JDepend
  • -
  • Using Remote Ant (Rant) and CruiseControl
  • -
  • Generating project documentation
  • -
  • Adapting an XP process for use by other teams or across an enterprise
  • -
  • Custom Task examples to generating UML diagrams, creating reports and metrics on-the-fly
  • -
  • Follows a case-study of a team that implements an XP Project
  • -
- - - - - - - - - - -
- Authors: - - Glenn Niemeyer and Jeremy Poteet -
- URL: - - http://www.sams.com/catalog/product.asp?product_id=%7BFB825A48-BC04-4C55-BD8C-DF93C6BBF920%7D -
ISBN:0672325624
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Ant. Das Java-Build-Tool in der Praxis -

-

A German language book on Ant that covers Ant 1.5. - This is the original description:

-
-        Das Build-Tool Ant ist das Open-Source-Werkzeug, das den Entwicklungsprozess einer Java-
-        oder J2EE-Anwendung wesentlich vereinfacht. Gesteuert durch XML-basierte Skripte f�hrt es
-        nahezu alle Aufgaben aus, die nach dem Kodieren einer Anwendung anfallen.
-

Some topics:

-
    -
  • creating archives (zip, jar)
  • -
  • call the java compiler
  • -
  • edit property files
  • -
  • file operation
  • -
  • source code control systems
  • -
-

The book is available in English as "Ant: The Java Build Tool in Practice"

- - - - - - - - - - -
- Authors: - - Bernd Matzke -
- URL: - - http://www.addison-wesley.de/main/main.asp?page=home/bookdetails&ProductID=13459 -
ISBN:3827320666
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Java Development with Ant -

-

Published 2002. This book covers Ant 1.5, including:

-
    -
  • The new Ant 1.5 features
  • -
  • Ant's datatypes and property handling
  • -
  • JUnit testing and reporting
  • -
  • Continuous integration techniques
  • -
  • XDoclet for attribute-oriented programming
  • -
  • EJB generation, building, and packaging
  • -
  • Writing and testing native code
  • -
  • Building Web Services with Apache Axis
  • -
  • Deploying your system to multiple remote servers
  • -
  • Using and writing -
      -
    • Loggers
    • -
    • Listeners
    • -
    • Selectors
    • -
    • Custom tasks
    • -
    -
  • -
-

Also available in Korean and German editions

- - - - - - - - - - -
- Authors: - - Erik Hatcher and Steve Loughran -
- URL: - - http://www.manning.com/antbook/ -
ISBN:1930110588
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Ant: The Definitive Guide, 1st edition -

-

Published 2002, Covers Ant release 1.4.1.

- - - - - - - - - - -
- Authors: - - Jesse E. Tilly and Eric M. Burke -
- URL: - - http://www.oreilly.com/catalog/anttdg/ -
ISBN:0596001843
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Ant. Kurz und Gut. -

-

A German language short reference for Ant that covers Ant - 1.4. This is the original description:

-
-  Ant kurz & gut enthält eine vollständige Referenz der Built-in Tasks
-  und ihrer jeweiligen Attribute sowie kurze Beispiele für ihre Verwendung.
-  Daneben bietet das Buch eine knappe Einführung in die Arbeit mit Ant und
-  eine Erläuterung der Ant-Basiselemente (Projekte, Properties, Targets und Tasks).
-  Behandelt werden außerdem grundlegende Konzepte wie Filesets, Patternsets und
-  Pfadstrukturen, das Schreiben eigener Tasks, die Aufruf-Syntax und Optional Tasks. 
- - - - - - - - - - -
- Author: - - Stefan Edlich -
- URL: - - http://www.amazon.de/exec/obidos/ASIN/3897212412/ -
ISBN:3897212412
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Java Tools for eXtreme Programming -

-

This book covers the following XP subjects:

-
    -
  • Automated unit and functional testing
  • -
  • Continuous integration through build and deployment automation
  • -
  • The value of refactoring and continuous integration
  • -
  • How Ant, JUnit, JUnitPerf, Cactus, HTTPUnit, and JMeter - can be used to achieve the goals of the XP methodology
  • -
- - - - - - - - - - -
- Authors: - - Richard Hightower and Nicholas Lesiecki -
- URL: - - http://www.wiley.com/cda/product/0,,047120708X,00.html -
ISBN:047120708X
-

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-

- - Articles and Presentations -

-

The following sections list articles and presentations - written about Apache Ant. If you've written something that - should be included, please post it to one of the mailing - lists.

-

- - Articles -

-

- - Ant + DocBook HOWTO -

-

Pure Java DocBook Systems, including Ant Integration

-

The DocBook team documents how to use "make" for DocBook. - This HOWTO document is an attempt to cover the neglected case of using - DocBook for pure Java projects.

- - - - - - - - - -
- Author: - - Blaine Simpson -
- URL: - - http://pub.admc.com/howtos/ant-docbook-howto/ -
-

- - Extending Ant Input Abilities -

-

The contents of this document is the following:

    -
  • Section 2 provides a simple example how InputHandlers are created,
  • -
  • Section 3 develops an inputhandler that masks the passwords typed on the command line,
  • -
  • Section 4 gives two handlers, whose input is typed in graphical components,
  • -
  • Section 5 extends Input task so that we can use dierent input handlers on different uses of <input>,
  • -
  • Section 6 describes a problem found while writing this document,
  • -
  • Section 7 summarizes some dark corners the author do not understand.
  • -

- - - - - - - - - -
- Author: - - Ivan Ivanov -
- URL: - - https://sourceforge.net/project/showfiles.php?group_id=103509 (Download ZIP+PDF from Sourceforge) -
-

- - Keep the Ant, Hold the XML -

-

Key G. Gauthier talks about writing "buildfiles" in Java.

- - - - - - - - - -
- Author: - - Key G. Gauthier -
- URL: - - http://www.ftponline.com/javapro/2004_06/magazine/features/kgauthier/ -
-

- - Ant 1.6 for Task Writers -

-

This article talks about XML namespace handling, Ant - libraries and the newly introduced type polymorphism.

- - - - - - - - - -
- Author: - - Stefan Bodewig -
- URL: - - http://otn.oracle.com/pub/articles/bodewig_taskwriters.html -
-

- - Managing Build Complexity with Apache Ant 1.6 -

-

As Apache Ant is applied to increasingly difficult tasks, - its users are creating more complex and less legible build - files. This is due, in part, to the limited tools for - decomposition and code reuse within previous versions of - Ant.

- - - - - - - - - -
- Author: - - Geoffrey Wiseman -
- URL: - - http://www.sys-con.com/story/?storyid=45078&DE=1 -
-

- - New Ant 1.6 Features for Big Projects -

-

This article describes the <macrodef>, <import> - and <subant> tasks in detail and shows how they help in - building bigger systems.

- - - - - - - - - -
- Author: - - Stefan Bodewig -
- URL: - - http://otn.oracle.com/pub/articles/bodewig_ant1.6.html -
-

- - Programmieren für Ant -

-

This article describes the main topics of programming your own tasks. - Description is done on five examples.

-

This article is written in German and published in - Java-Spektrum - 5/2004.

- - - - - - - - - -
- Author: - - Bernd Matzke -
- URL: - - http://www.sigs-datacom.de/sd/news/document?PID=216 -
-

- - Ant in Anger: Using Ant in a Production Development System -

-

This document describes strategies and some basic examples of how to - use Ant in larger team development projects.

- - - - - - - - - -
- Author: - - Steve Loughran -
- URL: - - http://ant.apache.org/ant_in_anger.html -
-

- - Ant Task Guidelines -

-

This document describes how to write custom Ant tasks, and how to submit - them to potentially be included in Ant.

- - - - - - - - - -
- Author: - - Steve Loughran -
- URL: - - http://ant.apache.org/ant_task_guidelines.html -
-

- - Build a Better Robot with Ant -

-

This article describes the gory details of writing custom - Ant tasks.

- - - - - - - - - -
- Author: - - Erik Hatcher -
- URL: - - http://www.fawcette.com/javapro/2003_02/magazine/features/ehatcher/l -
-

- - Automating the build and test process -

-

This article demonstrates an approach to the automated build and test process. Working with Ant 1.3 and the JUnit test framework, it shows how to automate a process that captures pertinent information about each test suite run, generates an attractive report, and e-mails the report.

- - - - - - - - - -
- Author: - - Erik Hatcher -
- URL: - - http://www.ibm.com/developerworks/java/library/j-junitmail/ -
-

- - Incremental development with Ant and JUnit -

-

This article explores the benefits of unit testing with Ant and - JUnit, detailing how to develop automated unit tests and integrate them - into your build process.

- - - - - - - - - -
- Author: - - Malcolm Davis -
- URL: - - http://www-106.ibm.com/developerworks/library/j-ant/?dwzone=java -
-

- - Automate your build process using Java and Ant -

-

This article provides an introduction to using Ant with some basic - examples and by highlighting some of the important tasks.

- - - - - - - - - -
- Author: - - Michael Cymerman -
- URL: - - http://www.javaworld.com/javaworld/jw-10-2000/jw-1020-ant.html -
-

- - Short tutorial in Cactus' (formerly J2EEUnit) documentation -

-

There is a short tutorial on how to use Ant in Cactus' - documentation. It has a slant towards build files that will be used - with Cactus.

- - - - - - - - - -
- Author: - - Cactus development team -
- URL: - - http://jakarta.apache.org/cactus/howto_ant_primer.html -
-

- - Developing custom Ant tasks with VisualAge for Java -

-

This article outlines how to integrate Ant into VisualAge for Java, - and how to write and debug custom tasks using the IDE and the - integrated debugger.

- - - - - - - - - -
- Author: - - Glenn McAllister -
- URL: - - http://www7.software.ibm.com/vad.nsf/data/document2366?OpenDocument&p=1&BCT=1&Footer=1 -
-

- - Automated builds with VisualAge for Java and Ant -

-

This article shows how you can perform command line builds with a - VisualAge for Java repository.

- - - - - - - - - -
- Author: - - Glenn McAllister -
- URL: - - http://www7.software.ibm.com/vad.nsf/Data/Document4366?OpenDocument&p=1&BCT=3&Footer=1 -
-

- - Ant: A Build Tool from the Jakarta Project -

-

This article is from the "Best Practices" section of - Sun's Dot-Com Builder Site.

- - - - - - - - - -
- Author: - - Laura Geele Wang -
- URL: - - http://dcb.sun.com/practices/profiles/ant.jsp -
-

- - Making a Mountain Out of an Anthill -

-

This article is from the June 2001 issue of the Java Developer' - Journal. You need to be a registered JDJ subscriber to view this - article.

- - - - - - - - - -
- Author: - - Neal Ford -
- URL: - - http://www.sys-con.com/java/archivesa.cfm?volume=06&issue=06 -
-

- - Using Ant and Weblogic EJBs -

-

This article describes how to use Ant to create Weblogic EJBs, and - some workarounds for issues you may encounter.

- - - - - - - - - -
- Author: - - Jesse E. Tilly -
- URL: - - http://www.onjava.com/pub/a/onjava/2001/06/25/antejb.html -
-

- - Using JavaScript with Ant -

-

A tutorial about using JavaScript and XSLT with Ant.

- - - - - - - - - -
- Author: - - Dylan Schiemann -
- URL: - - http://www.sitepen.com/ant/javascript.html -
-

- - Building with Ant -

-

Series of articles that describe a framework for web - application development based on Ant and JUnit.

- - - - - - - - - -
- Author: - - Alex Chaffee -
- URL: - - Introduction: http://softwaredev.earthweb.com/sdtech/article/0,,12065_989631,00.html
- Directory Structure: http://softwaredev.earthweb.com/sdtech/article/0,,12082_994991,00.html
- Deployment and Distribution: http://softwaredev.earthweb.com/sdtech/article/0,,12077_998241,00.html -
-

- - Developing with JAXB and Ant -

-

Series of articles that shows how to use Ant together with - the Java API for XML Binding (JAXB).

- - - - - - - - - -
- Author: - - Joseph Shelby -
- URL: - - http://www.onjava.com/pub/a/onjava/2002/03/06/jaxant1.html
- http://www.onjava.com/pub/a/onjava/2002/03/13/jaxbant2.html -
-

- - Presentations -

-

- - Ant Build Tool -

-

A PowerPoint presentation on Ant 1.2. It provides a basic overview - of Ant's capabilities.

- - - - - - - - - -
- Author: - - Patrick Chanezon -
- URL: - - http://people.netscape.com/chanezon/tech/ant/ant_preso.ppt -
-

- - Ant -

-

A detailed Ant 1.3 PowerPoint presentation, made at the St. Louis Java Users Group - meeting in March 2001. Includes a detailed build file and basic - descriptions of all the built in and optional tasks. Updated for Ant 1.4 in October 2001. - Available in PDF format now.

- - - - - - - - - -
- Author: - - Mark Volkmann -
- URL: - - http://www.ociweb.com/jnb/files/Ant.pdf -
- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/slides/extending_ant.odp b/docs/slides/extending_ant.odp deleted file mode 100644 index 278ba7c726..0000000000 Binary files a/docs/slides/extending_ant.odp and /dev/null differ diff --git a/docs/srcdownload.cgi b/docs/srcdownload.cgi deleted file mode 100755 index 4324f769f0..0000000000 --- a/docs/srcdownload.cgi +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Wrapper script around mirrors.cgi script -# (we must change to that directory in order for python to pick up the -# python includes correctly) -cd /www/www.apache.org/dyn/mirrors -/www/www.apache.org/dyn/mirrors/mirrors.cgi $* diff --git a/docs/srcdownload.html b/docs/srcdownload.html deleted file mode 100644 index 7600ed887c..0000000000 --- a/docs/srcdownload.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - Apache Ant - Source Distributions - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

Source Distributions

-

- - Apache Ant™ -

-

Apache Ant is a Java library and command-line tool that help - building software.

-

- - Downloading Apache Ant -

-

Use the links below to download a source distribution of Ant from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

-

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

-

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

-

- - Mirror -

-

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

-
-Other mirrors: - -
-

- - Current Release of Apache Ant -

-

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

-
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-
-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- -

- - Old Ant Releases -

-

Older releases of Ant can be found here. We highly -recommend to not use those releases but upgrade to Ant's latest release.

-

- - Verify Releases -

-

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

-

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

-

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-src.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-src.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-src.tar.gz.asc -

-

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

-

We highly recommend to verify the PGP signature, though.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/svn.html b/docs/svn.html deleted file mode 100644 index d66c43cb39..0000000000 --- a/docs/svn.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - Apache Ant - SVN Repositories - - - - - - - - -
- - - - - - -
Apache Ant siteApache Ant logo -
- - - - - - - - - - - - - - -
- - - - -
- the Apache Ant site -
-
-
-
- -
- - - - - -
- - - - -
Home
-
- - - - -
Projects
-
-
- -
- - -
 
-
-
-

SVN Repositories

-

- - Access the Source Tree (Subversion) -

-

Anyone can checkout source code from our public Subversion repository. To do so, - simply use the following command (if you are using a GUI client, configure it - appropriately):

-
-svn co http://svn.apache.org/repos/asf/ant/[project]/trunk/ ant-[project]
-

Modules available for access are:

-
    -
  • ant - The "main" Ant module.
    - http://svn.apache.org/repos/asf/ant/core/trunk/ -
  • -
  • Ivy - The "main" Ivy module.
    - http://svn.apache.org/repos/asf/ant/ivy/core/trunk/ -
  • -
  • IvyDE - - Eclipse Plugin for Ivy.
    - http://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk/ -
  • -
  • antunit Test framework for Ant.
    - http://svn.apache.org/repos/asf/ant/antlibs/antunit/trunk/
  • -
  • Dotnet antlib Contains Nant, Nunit, ...
    - http://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/
  • -
  • svn antlib Contains tasks to interact with Subversion repositories.
    - http://svn.apache.org/repos/asf/ant/antlibs/svn/trunk/
  • -
  • sandbox - New developments. Contains currently gendoc.
    - http://svn.apache.org/repos/asf/ant/sandbox/ -
  • -
-

If you are not familiar with Subversion, Jakarta's - source repositories page may hold many helpful hints.

-

Nightly snapshots of the SVN tree are available at - http://svn.apache.org/snapshots/ant/.

-

A nice view of the source history is available through - Cenqua's Fisheye instance.

- -
-
- - - - - - - - - - - - - - - - - - - diff --git a/docs/webtest/gettest/.htaccess b/docs/webtest/gettest/.htaccess deleted file mode 100644 index 262439ff93..0000000000 --- a/docs/webtest/gettest/.htaccess +++ /dev/null @@ -1,10 +0,0 @@ -Redirect seeother /webtest/gettest/other.txt /webtest/gettest/testother.txt -Redirect temp /webtest/gettest/temp.txt /webtest/gettest/testtemp.txt -Redirect permanent /webtest/gettest/permanent.txt /webtest/gettest/testperm.txt -Redirect /webtest/gettest/infinite.txt /webtest/gettest/infinite2.txt -Redirect /webtest/gettest/infinite2.txt /webtest/gettest/infinite.txt -Redirect /webtest/gettest/redir5.txt /webtest/gettest/redir5-1.txt -Redirect /webtest/gettest/redir5-1.txt /webtest/gettest/redir5-2.txt -Redirect /webtest/gettest/redir5-2.txt /webtest/gettest/redir5-3.txt -Redirect /webtest/gettest/redir5-3.txt /webtest/gettest/redir5-4.txt -Redirect /webtest/gettest/redir5-4.txt /webtest/gettest/testredir5.txt diff --git a/docs/webtest/gettest/local.cgi b/docs/webtest/gettest/local.cgi deleted file mode 100755 index 2e34db2144..0000000000 --- a/docs/webtest/gettest/local.cgi +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -echo "Location: testlocal.txt" -echo diff --git a/docs/webtest/gettest/testlocal.txt b/docs/webtest/gettest/testlocal.txt deleted file mode 100644 index c8420ac95c..0000000000 --- a/docs/webtest/gettest/testlocal.txt +++ /dev/null @@ -1 +0,0 @@ -local redirect succeeded diff --git a/docs/webtest/gettest/testother.txt b/docs/webtest/gettest/testother.txt deleted file mode 100644 index 0387eb0a4b..0000000000 --- a/docs/webtest/gettest/testother.txt +++ /dev/null @@ -1 +0,0 @@ -seeother redirect succeeded diff --git a/docs/webtest/gettest/testperm.txt b/docs/webtest/gettest/testperm.txt deleted file mode 100644 index d16174652a..0000000000 --- a/docs/webtest/gettest/testperm.txt +++ /dev/null @@ -1 +0,0 @@ -permanent redirect succeeded diff --git a/docs/webtest/gettest/testredir5.txt b/docs/webtest/gettest/testredir5.txt deleted file mode 100644 index 507b4390d0..0000000000 --- a/docs/webtest/gettest/testredir5.txt +++ /dev/null @@ -1 +0,0 @@ -5 levels of redirect succeeded diff --git a/docs/webtest/gettest/testtemp.txt b/docs/webtest/gettest/testtemp.txt deleted file mode 100644 index d036b86fed..0000000000 --- a/docs/webtest/gettest/testtemp.txt +++ /dev/null @@ -1 +0,0 @@ -temporary redirect succeeded diff --git a/docs/webtest/testkeystore b/docs/webtest/testkeystore deleted file mode 100644 index 2fd22c9f41..0000000000 Binary files a/docs/webtest/testkeystore and /dev/null differ diff --git a/docs/manual/Integration/anttool1.gif b/manual/Integration/anttool1.gif similarity index 100% rename from docs/manual/Integration/anttool1.gif rename to manual/Integration/anttool1.gif diff --git a/docs/manual/Integration/jext-plugin.html b/manual/Integration/jext-plugin.html similarity index 100% rename from docs/manual/Integration/jext-plugin.html rename to manual/Integration/jext-plugin.html diff --git a/docs/manual/Integration/remacc.gif b/manual/Integration/remacc.gif similarity index 100% rename from docs/manual/Integration/remacc.gif rename to manual/Integration/remacc.gif diff --git a/docs/manual/Integration/toolmenu.gif b/manual/Integration/toolmenu.gif similarity index 100% rename from docs/manual/Integration/toolmenu.gif rename to manual/Integration/toolmenu.gif diff --git a/docs/LICENSE b/manual/LICENSE similarity index 100% rename from docs/LICENSE rename to manual/LICENSE diff --git a/docs/manual/Tasks/BorlandEJBTasks.html b/manual/Tasks/BorlandEJBTasks.html similarity index 100% rename from docs/manual/Tasks/BorlandEJBTasks.html rename to manual/Tasks/BorlandEJBTasks.html diff --git a/docs/manual/Tasks/BorlandGenerateClient.html b/manual/Tasks/BorlandGenerateClient.html similarity index 100% rename from docs/manual/Tasks/BorlandGenerateClient.html rename to manual/Tasks/BorlandGenerateClient.html diff --git a/docs/manual/Tasks/ant.html b/manual/Tasks/ant.html similarity index 100% rename from docs/manual/Tasks/ant.html rename to manual/Tasks/ant.html diff --git a/docs/manual/Tasks/antcall.html b/manual/Tasks/antcall.html similarity index 100% rename from docs/manual/Tasks/antcall.html rename to manual/Tasks/antcall.html diff --git a/docs/manual/Tasks/antlr.html b/manual/Tasks/antlr.html similarity index 100% rename from docs/manual/Tasks/antlr.html rename to manual/Tasks/antlr.html diff --git a/docs/manual/Tasks/antstructure.html b/manual/Tasks/antstructure.html similarity index 100% rename from docs/manual/Tasks/antstructure.html rename to manual/Tasks/antstructure.html diff --git a/docs/manual/Tasks/antversion.html b/manual/Tasks/antversion.html similarity index 100% rename from docs/manual/Tasks/antversion.html rename to manual/Tasks/antversion.html diff --git a/docs/manual/Tasks/apply.html b/manual/Tasks/apply.html similarity index 100% rename from docs/manual/Tasks/apply.html rename to manual/Tasks/apply.html diff --git a/docs/manual/Tasks/apt.html b/manual/Tasks/apt.html similarity index 100% rename from docs/manual/Tasks/apt.html rename to manual/Tasks/apt.html diff --git a/docs/manual/Tasks/attrib.html b/manual/Tasks/attrib.html similarity index 100% rename from docs/manual/Tasks/attrib.html rename to manual/Tasks/attrib.html diff --git a/docs/manual/Tasks/augment.html b/manual/Tasks/augment.html similarity index 100% rename from docs/manual/Tasks/augment.html rename to manual/Tasks/augment.html diff --git a/docs/manual/Tasks/available.html b/manual/Tasks/available.html similarity index 100% rename from docs/manual/Tasks/available.html rename to manual/Tasks/available.html diff --git a/docs/manual/Tasks/basename.html b/manual/Tasks/basename.html similarity index 100% rename from docs/manual/Tasks/basename.html rename to manual/Tasks/basename.html diff --git a/docs/manual/Tasks/bindtargets.html b/manual/Tasks/bindtargets.html similarity index 100% rename from docs/manual/Tasks/bindtargets.html rename to manual/Tasks/bindtargets.html diff --git a/docs/manual/Tasks/buildnumber.html b/manual/Tasks/buildnumber.html similarity index 100% rename from docs/manual/Tasks/buildnumber.html rename to manual/Tasks/buildnumber.html diff --git a/docs/manual/Tasks/cab.html b/manual/Tasks/cab.html similarity index 100% rename from docs/manual/Tasks/cab.html rename to manual/Tasks/cab.html diff --git a/docs/manual/Tasks/ccm.html b/manual/Tasks/ccm.html similarity index 100% rename from docs/manual/Tasks/ccm.html rename to manual/Tasks/ccm.html diff --git a/docs/manual/Tasks/changelog.html b/manual/Tasks/changelog.html similarity index 100% rename from docs/manual/Tasks/changelog.html rename to manual/Tasks/changelog.html diff --git a/docs/manual/Tasks/checksum.html b/manual/Tasks/checksum.html similarity index 100% rename from docs/manual/Tasks/checksum.html rename to manual/Tasks/checksum.html diff --git a/docs/manual/Tasks/chgrp.html b/manual/Tasks/chgrp.html similarity index 100% rename from docs/manual/Tasks/chgrp.html rename to manual/Tasks/chgrp.html diff --git a/docs/manual/Tasks/chmod.html b/manual/Tasks/chmod.html similarity index 100% rename from docs/manual/Tasks/chmod.html rename to manual/Tasks/chmod.html diff --git a/docs/manual/Tasks/chown.html b/manual/Tasks/chown.html similarity index 100% rename from docs/manual/Tasks/chown.html rename to manual/Tasks/chown.html diff --git a/docs/manual/Tasks/clearcase.html b/manual/Tasks/clearcase.html similarity index 100% rename from docs/manual/Tasks/clearcase.html rename to manual/Tasks/clearcase.html diff --git a/docs/manual/Tasks/common.html b/manual/Tasks/common.html similarity index 100% rename from docs/manual/Tasks/common.html rename to manual/Tasks/common.html diff --git a/docs/manual/Tasks/componentdef.html b/manual/Tasks/componentdef.html similarity index 100% rename from docs/manual/Tasks/componentdef.html rename to manual/Tasks/componentdef.html diff --git a/docs/manual/Tasks/concat.html b/manual/Tasks/concat.html similarity index 100% rename from docs/manual/Tasks/concat.html rename to manual/Tasks/concat.html diff --git a/docs/manual/Tasks/condition.html b/manual/Tasks/condition.html similarity index 100% rename from docs/manual/Tasks/condition.html rename to manual/Tasks/condition.html diff --git a/docs/manual/Tasks/conditions.html b/manual/Tasks/conditions.html similarity index 100% rename from docs/manual/Tasks/conditions.html rename to manual/Tasks/conditions.html diff --git a/docs/manual/Tasks/copy.html b/manual/Tasks/copy.html similarity index 100% rename from docs/manual/Tasks/copy.html rename to manual/Tasks/copy.html diff --git a/docs/manual/Tasks/copydir.html b/manual/Tasks/copydir.html similarity index 100% rename from docs/manual/Tasks/copydir.html rename to manual/Tasks/copydir.html diff --git a/docs/manual/Tasks/copyfile.html b/manual/Tasks/copyfile.html similarity index 100% rename from docs/manual/Tasks/copyfile.html rename to manual/Tasks/copyfile.html diff --git a/docs/manual/Tasks/cvs.html b/manual/Tasks/cvs.html similarity index 100% rename from docs/manual/Tasks/cvs.html rename to manual/Tasks/cvs.html diff --git a/docs/manual/Tasks/cvspass.html b/manual/Tasks/cvspass.html similarity index 100% rename from docs/manual/Tasks/cvspass.html rename to manual/Tasks/cvspass.html diff --git a/docs/manual/Tasks/cvstagdiff.html b/manual/Tasks/cvstagdiff.html similarity index 100% rename from docs/manual/Tasks/cvstagdiff.html rename to manual/Tasks/cvstagdiff.html diff --git a/docs/manual/Tasks/cvsversion.html b/manual/Tasks/cvsversion.html similarity index 100% rename from docs/manual/Tasks/cvsversion.html rename to manual/Tasks/cvsversion.html diff --git a/docs/manual/Tasks/defaultexcludes.html b/manual/Tasks/defaultexcludes.html similarity index 100% rename from docs/manual/Tasks/defaultexcludes.html rename to manual/Tasks/defaultexcludes.html diff --git a/docs/manual/Tasks/delete.html b/manual/Tasks/delete.html similarity index 100% rename from docs/manual/Tasks/delete.html rename to manual/Tasks/delete.html diff --git a/docs/manual/Tasks/deltree.html b/manual/Tasks/deltree.html similarity index 100% rename from docs/manual/Tasks/deltree.html rename to manual/Tasks/deltree.html diff --git a/docs/manual/Tasks/depend.html b/manual/Tasks/depend.html similarity index 100% rename from docs/manual/Tasks/depend.html rename to manual/Tasks/depend.html diff --git a/docs/manual/Tasks/dependset.html b/manual/Tasks/dependset.html similarity index 100% rename from docs/manual/Tasks/dependset.html rename to manual/Tasks/dependset.html diff --git a/docs/manual/Tasks/diagnostics.html b/manual/Tasks/diagnostics.html similarity index 100% rename from docs/manual/Tasks/diagnostics.html rename to manual/Tasks/diagnostics.html diff --git a/docs/manual/Tasks/dirname.html b/manual/Tasks/dirname.html similarity index 100% rename from docs/manual/Tasks/dirname.html rename to manual/Tasks/dirname.html diff --git a/docs/manual/Tasks/ear.html b/manual/Tasks/ear.html similarity index 100% rename from docs/manual/Tasks/ear.html rename to manual/Tasks/ear.html diff --git a/docs/manual/Tasks/echo.html b/manual/Tasks/echo.html similarity index 100% rename from docs/manual/Tasks/echo.html rename to manual/Tasks/echo.html diff --git a/docs/manual/Tasks/echoproperties.html b/manual/Tasks/echoproperties.html similarity index 100% rename from docs/manual/Tasks/echoproperties.html rename to manual/Tasks/echoproperties.html diff --git a/docs/manual/Tasks/echoxml.html b/manual/Tasks/echoxml.html similarity index 100% rename from docs/manual/Tasks/echoxml.html rename to manual/Tasks/echoxml.html diff --git a/docs/manual/Tasks/ejb.html b/manual/Tasks/ejb.html similarity index 100% rename from docs/manual/Tasks/ejb.html rename to manual/Tasks/ejb.html diff --git a/docs/manual/Tasks/exec.html b/manual/Tasks/exec.html similarity index 100% rename from docs/manual/Tasks/exec.html rename to manual/Tasks/exec.html diff --git a/docs/manual/Tasks/fail.html b/manual/Tasks/fail.html similarity index 100% rename from docs/manual/Tasks/fail.html rename to manual/Tasks/fail.html diff --git a/docs/manual/Tasks/filter.html b/manual/Tasks/filter.html similarity index 100% rename from docs/manual/Tasks/filter.html rename to manual/Tasks/filter.html diff --git a/docs/manual/Tasks/fixcrlf.html b/manual/Tasks/fixcrlf.html similarity index 100% rename from docs/manual/Tasks/fixcrlf.html rename to manual/Tasks/fixcrlf.html diff --git a/docs/manual/Tasks/ftp.html b/manual/Tasks/ftp.html similarity index 100% rename from docs/manual/Tasks/ftp.html rename to manual/Tasks/ftp.html diff --git a/docs/manual/Tasks/genkey.html b/manual/Tasks/genkey.html similarity index 100% rename from docs/manual/Tasks/genkey.html rename to manual/Tasks/genkey.html diff --git a/docs/manual/Tasks/get.html b/manual/Tasks/get.html similarity index 100% rename from docs/manual/Tasks/get.html rename to manual/Tasks/get.html diff --git a/docs/manual/Tasks/gunzip.html b/manual/Tasks/gunzip.html similarity index 100% rename from docs/manual/Tasks/gunzip.html rename to manual/Tasks/gunzip.html diff --git a/docs/manual/Tasks/gzip.html b/manual/Tasks/gzip.html similarity index 100% rename from docs/manual/Tasks/gzip.html rename to manual/Tasks/gzip.html diff --git a/docs/manual/Tasks/hostinfo.html b/manual/Tasks/hostinfo.html similarity index 100% rename from docs/manual/Tasks/hostinfo.html rename to manual/Tasks/hostinfo.html diff --git a/docs/manual/Tasks/image-classdiagram.gif b/manual/Tasks/image-classdiagram.gif similarity index 100% rename from docs/manual/Tasks/image-classdiagram.gif rename to manual/Tasks/image-classdiagram.gif diff --git a/docs/manual/Tasks/image.html b/manual/Tasks/image.html similarity index 100% rename from docs/manual/Tasks/image.html rename to manual/Tasks/image.html diff --git a/docs/manual/Tasks/import.html b/manual/Tasks/import.html similarity index 100% rename from docs/manual/Tasks/import.html rename to manual/Tasks/import.html diff --git a/docs/manual/Tasks/include.html b/manual/Tasks/include.html similarity index 100% rename from docs/manual/Tasks/include.html rename to manual/Tasks/include.html diff --git a/docs/manual/Tasks/input.html b/manual/Tasks/input.html similarity index 100% rename from docs/manual/Tasks/input.html rename to manual/Tasks/input.html diff --git a/docs/manual/Tasks/jar.html b/manual/Tasks/jar.html similarity index 100% rename from docs/manual/Tasks/jar.html rename to manual/Tasks/jar.html diff --git a/docs/manual/Tasks/jarlib-available.html b/manual/Tasks/jarlib-available.html similarity index 100% rename from docs/manual/Tasks/jarlib-available.html rename to manual/Tasks/jarlib-available.html diff --git a/docs/manual/Tasks/jarlib-display.html b/manual/Tasks/jarlib-display.html similarity index 100% rename from docs/manual/Tasks/jarlib-display.html rename to manual/Tasks/jarlib-display.html diff --git a/docs/manual/Tasks/jarlib-manifest.html b/manual/Tasks/jarlib-manifest.html similarity index 100% rename from docs/manual/Tasks/jarlib-manifest.html rename to manual/Tasks/jarlib-manifest.html diff --git a/docs/manual/Tasks/jarlib-resolve.html b/manual/Tasks/jarlib-resolve.html similarity index 100% rename from docs/manual/Tasks/jarlib-resolve.html rename to manual/Tasks/jarlib-resolve.html diff --git a/docs/manual/Tasks/java.html b/manual/Tasks/java.html similarity index 100% rename from docs/manual/Tasks/java.html rename to manual/Tasks/java.html diff --git a/docs/manual/Tasks/javac.html b/manual/Tasks/javac.html similarity index 100% rename from docs/manual/Tasks/javac.html rename to manual/Tasks/javac.html diff --git a/docs/manual/Tasks/javacc.html b/manual/Tasks/javacc.html similarity index 100% rename from docs/manual/Tasks/javacc.html rename to manual/Tasks/javacc.html diff --git a/docs/manual/Tasks/javadoc.html b/manual/Tasks/javadoc.html similarity index 100% rename from docs/manual/Tasks/javadoc.html rename to manual/Tasks/javadoc.html diff --git a/docs/manual/Tasks/javah.html b/manual/Tasks/javah.html similarity index 100% rename from docs/manual/Tasks/javah.html rename to manual/Tasks/javah.html diff --git a/docs/manual/Tasks/jdepend.html b/manual/Tasks/jdepend.html similarity index 100% rename from docs/manual/Tasks/jdepend.html rename to manual/Tasks/jdepend.html diff --git a/docs/manual/Tasks/jjdoc.html b/manual/Tasks/jjdoc.html similarity index 100% rename from docs/manual/Tasks/jjdoc.html rename to manual/Tasks/jjdoc.html diff --git a/docs/manual/Tasks/jjtree.html b/manual/Tasks/jjtree.html similarity index 100% rename from docs/manual/Tasks/jjtree.html rename to manual/Tasks/jjtree.html diff --git a/docs/manual/Tasks/jlink.html b/manual/Tasks/jlink.html similarity index 100% rename from docs/manual/Tasks/jlink.html rename to manual/Tasks/jlink.html diff --git a/docs/manual/Tasks/jspc.html b/manual/Tasks/jspc.html similarity index 100% rename from docs/manual/Tasks/jspc.html rename to manual/Tasks/jspc.html diff --git a/docs/manual/Tasks/junit.html b/manual/Tasks/junit.html similarity index 100% rename from docs/manual/Tasks/junit.html rename to manual/Tasks/junit.html diff --git a/docs/manual/Tasks/junitreport.html b/manual/Tasks/junitreport.html similarity index 100% rename from docs/manual/Tasks/junitreport.html rename to manual/Tasks/junitreport.html diff --git a/docs/manual/Tasks/length.html b/manual/Tasks/length.html similarity index 100% rename from docs/manual/Tasks/length.html rename to manual/Tasks/length.html diff --git a/docs/manual/Tasks/loadfile.html b/manual/Tasks/loadfile.html similarity index 100% rename from docs/manual/Tasks/loadfile.html rename to manual/Tasks/loadfile.html diff --git a/docs/manual/Tasks/loadproperties.html b/manual/Tasks/loadproperties.html similarity index 100% rename from docs/manual/Tasks/loadproperties.html rename to manual/Tasks/loadproperties.html diff --git a/docs/manual/Tasks/loadresource.html b/manual/Tasks/loadresource.html similarity index 100% rename from docs/manual/Tasks/loadresource.html rename to manual/Tasks/loadresource.html diff --git a/docs/manual/Tasks/local.html b/manual/Tasks/local.html similarity index 100% rename from docs/manual/Tasks/local.html rename to manual/Tasks/local.html diff --git a/docs/manual/Tasks/macrodef.html b/manual/Tasks/macrodef.html similarity index 100% rename from docs/manual/Tasks/macrodef.html rename to manual/Tasks/macrodef.html diff --git a/docs/manual/Tasks/mail.html b/manual/Tasks/mail.html similarity index 100% rename from docs/manual/Tasks/mail.html rename to manual/Tasks/mail.html diff --git a/docs/manual/Tasks/makeurl.html b/manual/Tasks/makeurl.html similarity index 100% rename from docs/manual/Tasks/makeurl.html rename to manual/Tasks/makeurl.html diff --git a/docs/manual/Tasks/manifest.html b/manual/Tasks/manifest.html similarity index 100% rename from docs/manual/Tasks/manifest.html rename to manual/Tasks/manifest.html diff --git a/docs/manual/Tasks/manifestclasspath.html b/manual/Tasks/manifestclasspath.html similarity index 100% rename from docs/manual/Tasks/manifestclasspath.html rename to manual/Tasks/manifestclasspath.html diff --git a/docs/manual/Tasks/mimemail.html b/manual/Tasks/mimemail.html similarity index 100% rename from docs/manual/Tasks/mimemail.html rename to manual/Tasks/mimemail.html diff --git a/docs/manual/Tasks/mkdir.html b/manual/Tasks/mkdir.html similarity index 100% rename from docs/manual/Tasks/mkdir.html rename to manual/Tasks/mkdir.html diff --git a/docs/manual/Tasks/move.html b/manual/Tasks/move.html similarity index 100% rename from docs/manual/Tasks/move.html rename to manual/Tasks/move.html diff --git a/docs/manual/Tasks/native2ascii.html b/manual/Tasks/native2ascii.html similarity index 100% rename from docs/manual/Tasks/native2ascii.html rename to manual/Tasks/native2ascii.html diff --git a/docs/manual/Tasks/netrexxc.html b/manual/Tasks/netrexxc.html similarity index 100% rename from docs/manual/Tasks/netrexxc.html rename to manual/Tasks/netrexxc.html diff --git a/docs/manual/Tasks/nice.html b/manual/Tasks/nice.html similarity index 100% rename from docs/manual/Tasks/nice.html rename to manual/Tasks/nice.html diff --git a/docs/manual/Tasks/pack.html b/manual/Tasks/pack.html similarity index 100% rename from docs/manual/Tasks/pack.html rename to manual/Tasks/pack.html diff --git a/docs/manual/Tasks/parallel.html b/manual/Tasks/parallel.html similarity index 100% rename from docs/manual/Tasks/parallel.html rename to manual/Tasks/parallel.html diff --git a/docs/manual/Tasks/patch.html b/manual/Tasks/patch.html similarity index 100% rename from docs/manual/Tasks/patch.html rename to manual/Tasks/patch.html diff --git a/docs/manual/Tasks/pathconvert.html b/manual/Tasks/pathconvert.html similarity index 100% rename from docs/manual/Tasks/pathconvert.html rename to manual/Tasks/pathconvert.html diff --git a/docs/manual/Tasks/perforce.html b/manual/Tasks/perforce.html similarity index 100% rename from docs/manual/Tasks/perforce.html rename to manual/Tasks/perforce.html diff --git a/docs/manual/Tasks/presetdef.html b/manual/Tasks/presetdef.html similarity index 100% rename from docs/manual/Tasks/presetdef.html rename to manual/Tasks/presetdef.html diff --git a/docs/manual/Tasks/projecthelper.html b/manual/Tasks/projecthelper.html similarity index 100% rename from docs/manual/Tasks/projecthelper.html rename to manual/Tasks/projecthelper.html diff --git a/docs/manual/Tasks/property.html b/manual/Tasks/property.html similarity index 100% rename from docs/manual/Tasks/property.html rename to manual/Tasks/property.html diff --git a/docs/manual/Tasks/propertyfile.html b/manual/Tasks/propertyfile.html similarity index 100% rename from docs/manual/Tasks/propertyfile.html rename to manual/Tasks/propertyfile.html diff --git a/docs/manual/Tasks/propertyhelper.html b/manual/Tasks/propertyhelper.html similarity index 100% rename from docs/manual/Tasks/propertyhelper.html rename to manual/Tasks/propertyhelper.html diff --git a/docs/manual/Tasks/pvcstask.html b/manual/Tasks/pvcstask.html similarity index 100% rename from docs/manual/Tasks/pvcstask.html rename to manual/Tasks/pvcstask.html diff --git a/docs/manual/Tasks/recorder.html b/manual/Tasks/recorder.html similarity index 100% rename from docs/manual/Tasks/recorder.html rename to manual/Tasks/recorder.html diff --git a/docs/manual/Tasks/rename.html b/manual/Tasks/rename.html similarity index 100% rename from docs/manual/Tasks/rename.html rename to manual/Tasks/rename.html diff --git a/docs/manual/Tasks/renameextensions.html b/manual/Tasks/renameextensions.html similarity index 100% rename from docs/manual/Tasks/renameextensions.html rename to manual/Tasks/renameextensions.html diff --git a/docs/manual/Tasks/replace.html b/manual/Tasks/replace.html similarity index 100% rename from docs/manual/Tasks/replace.html rename to manual/Tasks/replace.html diff --git a/docs/manual/Tasks/replaceregexp.html b/manual/Tasks/replaceregexp.html similarity index 100% rename from docs/manual/Tasks/replaceregexp.html rename to manual/Tasks/replaceregexp.html diff --git a/docs/manual/Tasks/resourcecount.html b/manual/Tasks/resourcecount.html similarity index 100% rename from docs/manual/Tasks/resourcecount.html rename to manual/Tasks/resourcecount.html diff --git a/docs/manual/Tasks/retry.html b/manual/Tasks/retry.html similarity index 100% rename from docs/manual/Tasks/retry.html rename to manual/Tasks/retry.html diff --git a/docs/manual/Tasks/rexec.html b/manual/Tasks/rexec.html similarity index 100% rename from docs/manual/Tasks/rexec.html rename to manual/Tasks/rexec.html diff --git a/docs/manual/Tasks/rmic.html b/manual/Tasks/rmic.html similarity index 100% rename from docs/manual/Tasks/rmic.html rename to manual/Tasks/rmic.html diff --git a/docs/manual/Tasks/rpm.html b/manual/Tasks/rpm.html similarity index 100% rename from docs/manual/Tasks/rpm.html rename to manual/Tasks/rpm.html diff --git a/docs/manual/Tasks/schemavalidate.html b/manual/Tasks/schemavalidate.html similarity index 100% rename from docs/manual/Tasks/schemavalidate.html rename to manual/Tasks/schemavalidate.html diff --git a/docs/manual/Tasks/scp.html b/manual/Tasks/scp.html similarity index 100% rename from docs/manual/Tasks/scp.html rename to manual/Tasks/scp.html diff --git a/docs/manual/Tasks/script.html b/manual/Tasks/script.html similarity index 100% rename from docs/manual/Tasks/script.html rename to manual/Tasks/script.html diff --git a/docs/manual/Tasks/scriptdef.html b/manual/Tasks/scriptdef.html similarity index 100% rename from docs/manual/Tasks/scriptdef.html rename to manual/Tasks/scriptdef.html diff --git a/docs/manual/Tasks/sequential.html b/manual/Tasks/sequential.html similarity index 100% rename from docs/manual/Tasks/sequential.html rename to manual/Tasks/sequential.html diff --git a/docs/manual/Tasks/serverdeploy.html b/manual/Tasks/serverdeploy.html similarity index 100% rename from docs/manual/Tasks/serverdeploy.html rename to manual/Tasks/serverdeploy.html diff --git a/docs/manual/Tasks/setproxy.html b/manual/Tasks/setproxy.html similarity index 100% rename from docs/manual/Tasks/setproxy.html rename to manual/Tasks/setproxy.html diff --git a/docs/manual/Tasks/signjar.html b/manual/Tasks/signjar.html similarity index 100% rename from docs/manual/Tasks/signjar.html rename to manual/Tasks/signjar.html diff --git a/docs/manual/Tasks/sleep.html b/manual/Tasks/sleep.html similarity index 100% rename from docs/manual/Tasks/sleep.html rename to manual/Tasks/sleep.html diff --git a/docs/manual/Tasks/sos.html b/manual/Tasks/sos.html similarity index 100% rename from docs/manual/Tasks/sos.html rename to manual/Tasks/sos.html diff --git a/docs/manual/Tasks/sound.html b/manual/Tasks/sound.html similarity index 100% rename from docs/manual/Tasks/sound.html rename to manual/Tasks/sound.html diff --git a/docs/manual/Tasks/splash.html b/manual/Tasks/splash.html similarity index 100% rename from docs/manual/Tasks/splash.html rename to manual/Tasks/splash.html diff --git a/docs/manual/Tasks/sql.html b/manual/Tasks/sql.html similarity index 100% rename from docs/manual/Tasks/sql.html rename to manual/Tasks/sql.html diff --git a/docs/manual/Tasks/sshexec.html b/manual/Tasks/sshexec.html similarity index 100% rename from docs/manual/Tasks/sshexec.html rename to manual/Tasks/sshexec.html diff --git a/docs/manual/Tasks/sshsession.html b/manual/Tasks/sshsession.html similarity index 100% rename from docs/manual/Tasks/sshsession.html rename to manual/Tasks/sshsession.html diff --git a/docs/manual/Tasks/starteam.html b/manual/Tasks/starteam.html similarity index 100% rename from docs/manual/Tasks/starteam.html rename to manual/Tasks/starteam.html diff --git a/docs/manual/Tasks/style.html b/manual/Tasks/style.html similarity index 100% rename from docs/manual/Tasks/style.html rename to manual/Tasks/style.html diff --git a/docs/manual/Tasks/subant.html b/manual/Tasks/subant.html similarity index 100% rename from docs/manual/Tasks/subant.html rename to manual/Tasks/subant.html diff --git a/docs/manual/Tasks/symlink.html b/manual/Tasks/symlink.html similarity index 100% rename from docs/manual/Tasks/symlink.html rename to manual/Tasks/symlink.html diff --git a/docs/manual/Tasks/sync.html b/manual/Tasks/sync.html similarity index 100% rename from docs/manual/Tasks/sync.html rename to manual/Tasks/sync.html diff --git a/docs/manual/Tasks/tar.html b/manual/Tasks/tar.html similarity index 100% rename from docs/manual/Tasks/tar.html rename to manual/Tasks/tar.html diff --git a/docs/manual/Tasks/taskdef.html b/manual/Tasks/taskdef.html similarity index 100% rename from docs/manual/Tasks/taskdef.html rename to manual/Tasks/taskdef.html diff --git a/docs/manual/Tasks/telnet.html b/manual/Tasks/telnet.html similarity index 100% rename from docs/manual/Tasks/telnet.html rename to manual/Tasks/telnet.html diff --git a/docs/manual/Tasks/tempfile.html b/manual/Tasks/tempfile.html similarity index 100% rename from docs/manual/Tasks/tempfile.html rename to manual/Tasks/tempfile.html diff --git a/docs/manual/Tasks/touch.html b/manual/Tasks/touch.html similarity index 100% rename from docs/manual/Tasks/touch.html rename to manual/Tasks/touch.html diff --git a/docs/manual/Tasks/translate.html b/manual/Tasks/translate.html similarity index 100% rename from docs/manual/Tasks/translate.html rename to manual/Tasks/translate.html diff --git a/docs/manual/Tasks/truncate.html b/manual/Tasks/truncate.html similarity index 100% rename from docs/manual/Tasks/truncate.html rename to manual/Tasks/truncate.html diff --git a/docs/manual/Tasks/tstamp.html b/manual/Tasks/tstamp.html similarity index 100% rename from docs/manual/Tasks/tstamp.html rename to manual/Tasks/tstamp.html diff --git a/docs/manual/Tasks/typedef.html b/manual/Tasks/typedef.html similarity index 100% rename from docs/manual/Tasks/typedef.html rename to manual/Tasks/typedef.html diff --git a/docs/manual/Tasks/unpack.html b/manual/Tasks/unpack.html similarity index 100% rename from docs/manual/Tasks/unpack.html rename to manual/Tasks/unpack.html diff --git a/docs/manual/Tasks/untar.html b/manual/Tasks/untar.html similarity index 100% rename from docs/manual/Tasks/untar.html rename to manual/Tasks/untar.html diff --git a/docs/manual/Tasks/unzip.html b/manual/Tasks/unzip.html similarity index 100% rename from docs/manual/Tasks/unzip.html rename to manual/Tasks/unzip.html diff --git a/docs/manual/Tasks/uptodate.html b/manual/Tasks/uptodate.html similarity index 100% rename from docs/manual/Tasks/uptodate.html rename to manual/Tasks/uptodate.html diff --git a/docs/manual/Tasks/vss.html b/manual/Tasks/vss.html similarity index 100% rename from docs/manual/Tasks/vss.html rename to manual/Tasks/vss.html diff --git a/docs/manual/Tasks/waitfor.html b/manual/Tasks/waitfor.html similarity index 100% rename from docs/manual/Tasks/waitfor.html rename to manual/Tasks/waitfor.html diff --git a/docs/manual/Tasks/war.html b/manual/Tasks/war.html similarity index 100% rename from docs/manual/Tasks/war.html rename to manual/Tasks/war.html diff --git a/docs/manual/Tasks/whichresource.html b/manual/Tasks/whichresource.html similarity index 100% rename from docs/manual/Tasks/whichresource.html rename to manual/Tasks/whichresource.html diff --git a/docs/manual/Tasks/wljspc.html b/manual/Tasks/wljspc.html similarity index 100% rename from docs/manual/Tasks/wljspc.html rename to manual/Tasks/wljspc.html diff --git a/docs/manual/Tasks/xmlproperty.html b/manual/Tasks/xmlproperty.html similarity index 100% rename from docs/manual/Tasks/xmlproperty.html rename to manual/Tasks/xmlproperty.html diff --git a/docs/manual/Tasks/xmlvalidate.html b/manual/Tasks/xmlvalidate.html similarity index 100% rename from docs/manual/Tasks/xmlvalidate.html rename to manual/Tasks/xmlvalidate.html diff --git a/docs/manual/Tasks/zip.html b/manual/Tasks/zip.html similarity index 100% rename from docs/manual/Tasks/zip.html rename to manual/Tasks/zip.html diff --git a/docs/manual/Types/antlib.html b/manual/Types/antlib.html similarity index 100% rename from docs/manual/Types/antlib.html rename to manual/Types/antlib.html diff --git a/docs/manual/Types/assertions.html b/manual/Types/assertions.html similarity index 100% rename from docs/manual/Types/assertions.html rename to manual/Types/assertions.html diff --git a/docs/manual/Types/classfileset.html b/manual/Types/classfileset.html similarity index 100% rename from docs/manual/Types/classfileset.html rename to manual/Types/classfileset.html diff --git a/docs/manual/Types/custom-programming.html b/manual/Types/custom-programming.html similarity index 100% rename from docs/manual/Types/custom-programming.html rename to manual/Types/custom-programming.html diff --git a/docs/manual/Types/description.html b/manual/Types/description.html similarity index 100% rename from docs/manual/Types/description.html rename to manual/Types/description.html diff --git a/docs/manual/Types/dirset.html b/manual/Types/dirset.html similarity index 100% rename from docs/manual/Types/dirset.html rename to manual/Types/dirset.html diff --git a/docs/manual/Types/extension.html b/manual/Types/extension.html similarity index 100% rename from docs/manual/Types/extension.html rename to manual/Types/extension.html diff --git a/docs/manual/Types/extensionset.html b/manual/Types/extensionset.html similarity index 100% rename from docs/manual/Types/extensionset.html rename to manual/Types/extensionset.html diff --git a/docs/manual/Types/filelist.html b/manual/Types/filelist.html similarity index 100% rename from docs/manual/Types/filelist.html rename to manual/Types/filelist.html diff --git a/docs/manual/Types/fileset.html b/manual/Types/fileset.html similarity index 100% rename from docs/manual/Types/fileset.html rename to manual/Types/fileset.html diff --git a/docs/manual/Types/filterchain.html b/manual/Types/filterchain.html similarity index 100% rename from docs/manual/Types/filterchain.html rename to manual/Types/filterchain.html diff --git a/docs/manual/Types/filterset.html b/manual/Types/filterset.html similarity index 100% rename from docs/manual/Types/filterset.html rename to manual/Types/filterset.html diff --git a/docs/manual/Types/mapper.html b/manual/Types/mapper.html similarity index 100% rename from docs/manual/Types/mapper.html rename to manual/Types/mapper.html diff --git a/docs/manual/Types/namespace.html b/manual/Types/namespace.html similarity index 100% rename from docs/manual/Types/namespace.html rename to manual/Types/namespace.html diff --git a/docs/manual/Types/patternset.html b/manual/Types/patternset.html similarity index 100% rename from docs/manual/Types/patternset.html rename to manual/Types/patternset.html diff --git a/docs/manual/Types/permissions.html b/manual/Types/permissions.html similarity index 100% rename from docs/manual/Types/permissions.html rename to manual/Types/permissions.html diff --git a/docs/manual/Types/propertyset.html b/manual/Types/propertyset.html similarity index 100% rename from docs/manual/Types/propertyset.html rename to manual/Types/propertyset.html diff --git a/docs/manual/Types/redirector.html b/manual/Types/redirector.html similarity index 100% rename from docs/manual/Types/redirector.html rename to manual/Types/redirector.html diff --git a/docs/manual/Types/regexp.html b/manual/Types/regexp.html similarity index 100% rename from docs/manual/Types/regexp.html rename to manual/Types/regexp.html diff --git a/docs/manual/Types/resources.html b/manual/Types/resources.html similarity index 100% rename from docs/manual/Types/resources.html rename to manual/Types/resources.html diff --git a/docs/manual/Types/selectors-program.html b/manual/Types/selectors-program.html similarity index 100% rename from docs/manual/Types/selectors-program.html rename to manual/Types/selectors-program.html diff --git a/docs/manual/Types/selectors.html b/manual/Types/selectors.html similarity index 100% rename from docs/manual/Types/selectors.html rename to manual/Types/selectors.html diff --git a/docs/manual/Types/tarfileset.html b/manual/Types/tarfileset.html similarity index 100% rename from docs/manual/Types/tarfileset.html rename to manual/Types/tarfileset.html diff --git a/docs/manual/Types/xmlcatalog.html b/manual/Types/xmlcatalog.html similarity index 100% rename from docs/manual/Types/xmlcatalog.html rename to manual/Types/xmlcatalog.html diff --git a/docs/manual/Types/zipfileset.html b/manual/Types/zipfileset.html similarity index 100% rename from docs/manual/Types/zipfileset.html rename to manual/Types/zipfileset.html diff --git a/docs/manual/antexternal.html b/manual/antexternal.html similarity index 100% rename from docs/manual/antexternal.html rename to manual/antexternal.html diff --git a/docs/manual/anttaskslist.html b/manual/anttaskslist.html similarity index 100% rename from docs/manual/anttaskslist.html rename to manual/anttaskslist.html diff --git a/docs/manual/api/index.html b/manual/api/index.html similarity index 100% rename from docs/manual/api/index.html rename to manual/api/index.html diff --git a/docs/manual/base_task_classes.html b/manual/base_task_classes.html similarity index 100% rename from docs/manual/base_task_classes.html rename to manual/base_task_classes.html diff --git a/docs/manual/clonevm.html b/manual/clonevm.html similarity index 100% rename from docs/manual/clonevm.html rename to manual/clonevm.html diff --git a/docs/manual/conceptstypeslist.html b/manual/conceptstypeslist.html similarity index 100% rename from docs/manual/conceptstypeslist.html rename to manual/conceptstypeslist.html diff --git a/docs/manual/cover.html b/manual/cover.html similarity index 96% rename from docs/manual/cover.html rename to manual/cover.html index f3f75770ae..e691bbeec5 100644 --- a/docs/manual/cover.html +++ b/manual/cover.html @@ -24,7 +24,7 @@
-

+

Apache Ant™ 1.8.2 Manual

This is the manual for version 1.8.2 of Apache Ant. diff --git a/docs/manual/credits.html b/manual/credits.html similarity index 100% rename from docs/manual/credits.html rename to manual/credits.html diff --git a/docs/manual/develop.html b/manual/develop.html similarity index 100% rename from docs/manual/develop.html rename to manual/develop.html diff --git a/docs/manual/developlist.html b/manual/developlist.html similarity index 100% rename from docs/manual/developlist.html rename to manual/developlist.html diff --git a/docs/manual/dirtasks.html b/manual/dirtasks.html similarity index 100% rename from docs/manual/dirtasks.html rename to manual/dirtasks.html diff --git a/docs/manual/favicon.ico b/manual/favicon.ico similarity index 100% rename from docs/manual/favicon.ico rename to manual/favicon.ico diff --git a/docs/manual/feedback.html b/manual/feedback.html similarity index 100% rename from docs/manual/feedback.html rename to manual/feedback.html diff --git a/docs/manual/ide.html b/manual/ide.html similarity index 100% rename from docs/manual/ide.html rename to manual/ide.html diff --git a/docs/images/ant_logo_large.gif b/manual/images/ant_logo_large.gif similarity index 100% rename from docs/images/ant_logo_large.gif rename to manual/images/ant_logo_large.gif diff --git a/docs/manual/index.html b/manual/index.html similarity index 100% rename from docs/manual/index.html rename to manual/index.html diff --git a/docs/manual/inputhandler.html b/manual/inputhandler.html similarity index 100% rename from docs/manual/inputhandler.html rename to manual/inputhandler.html diff --git a/docs/manual/install.html b/manual/install.html similarity index 100% rename from docs/manual/install.html rename to manual/install.html diff --git a/docs/manual/installlist.html b/manual/installlist.html similarity index 100% rename from docs/manual/installlist.html rename to manual/installlist.html diff --git a/docs/manual/intro.html b/manual/intro.html similarity index 100% rename from docs/manual/intro.html rename to manual/intro.html diff --git a/docs/manual/javacprops.html b/manual/javacprops.html similarity index 100% rename from docs/manual/javacprops.html rename to manual/javacprops.html diff --git a/docs/manual/listeners.html b/manual/listeners.html similarity index 100% rename from docs/manual/listeners.html rename to manual/listeners.html diff --git a/docs/manual/platform.html b/manual/platform.html similarity index 100% rename from docs/manual/platform.html rename to manual/platform.html diff --git a/docs/manual/projecthelper.html b/manual/projecthelper.html similarity index 100% rename from docs/manual/projecthelper.html rename to manual/projecthelper.html diff --git a/docs/manual/properties.html b/manual/properties.html similarity index 100% rename from docs/manual/properties.html rename to manual/properties.html diff --git a/docs/manual/proxy.html b/manual/proxy.html similarity index 100% rename from docs/manual/proxy.html rename to manual/proxy.html diff --git a/docs/manual/running.html b/manual/running.html similarity index 100% rename from docs/manual/running.html rename to manual/running.html diff --git a/docs/manual/runninglist.html b/manual/runninglist.html similarity index 100% rename from docs/manual/runninglist.html rename to manual/runninglist.html diff --git a/docs/manual/stylesheets/antmanual.css b/manual/stylesheets/antmanual.css similarity index 100% rename from docs/manual/stylesheets/antmanual.css rename to manual/stylesheets/antmanual.css diff --git a/docs/manual/stylesheets/style.css b/manual/stylesheets/style.css similarity index 100% rename from docs/manual/stylesheets/style.css rename to manual/stylesheets/style.css diff --git a/docs/manual/sysclasspath.html b/manual/sysclasspath.html similarity index 100% rename from docs/manual/sysclasspath.html rename to manual/sysclasspath.html diff --git a/docs/manual/targets.html b/manual/targets.html similarity index 100% rename from docs/manual/targets.html rename to manual/targets.html diff --git a/docs/manual/tasklist.html b/manual/tasklist.html similarity index 100% rename from docs/manual/tasklist.html rename to manual/tasklist.html diff --git a/docs/manual/tasksoverview.html b/manual/tasksoverview.html similarity index 100% rename from docs/manual/tasksoverview.html rename to manual/tasksoverview.html diff --git a/docs/manual/toc.html b/manual/toc.html similarity index 100% rename from docs/manual/toc.html rename to manual/toc.html diff --git a/docs/manual/tutorial-HelloWorldWithAnt.html b/manual/tutorial-HelloWorldWithAnt.html similarity index 100% rename from docs/manual/tutorial-HelloWorldWithAnt.html rename to manual/tutorial-HelloWorldWithAnt.html diff --git a/docs/manual/tutorial-tasks-filesets-properties.html b/manual/tutorial-tasks-filesets-properties.html similarity index 100% rename from docs/manual/tutorial-tasks-filesets-properties.html rename to manual/tutorial-tasks-filesets-properties.html diff --git a/docs/manual/tutorial-tasks-filesets-properties.zip b/manual/tutorial-tasks-filesets-properties.zip similarity index 100% rename from docs/manual/tutorial-tasks-filesets-properties.zip rename to manual/tutorial-tasks-filesets-properties.zip diff --git a/docs/manual/tutorial-writing-tasks-src.zip b/manual/tutorial-writing-tasks-src.zip similarity index 100% rename from docs/manual/tutorial-writing-tasks-src.zip rename to manual/tutorial-writing-tasks-src.zip diff --git a/docs/manual/tutorial-writing-tasks.html b/manual/tutorial-writing-tasks.html similarity index 100% rename from docs/manual/tutorial-writing-tasks.html rename to manual/tutorial-writing-tasks.html diff --git a/docs/manual/tutorials.html b/manual/tutorials.html similarity index 100% rename from docs/manual/tutorials.html rename to manual/tutorials.html diff --git a/docs/manual/using.html b/manual/using.html similarity index 100% rename from docs/manual/using.html rename to manual/using.html diff --git a/docs/manual/usinglist.html b/manual/usinglist.html similarity index 100% rename from docs/manual/usinglist.html rename to manual/usinglist.html diff --git a/xdocs/antlibs/antunit/index.xml b/xdocs/antlibs/antunit/index.xml deleted file mode 100644 index 6bf7b30aa6..0000000000 --- a/xdocs/antlibs/antunit/index.xml +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - Apache AntUnit - - - - -

-

Apache AntUnit is an Antlib that provides a test framework - for Apache Ant tasks and types.

-
- -
-

September 26, 2008 - Apache AntUnit 1.1 Released

- -

Apache AntUnit 1.1 is now available for download as binary - or source - release.

- -

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

-
- -
-

September 3, 2008 - Apache AntUnit 1.1 Beta 1 Available

-
- -
-

January 8, 2007 - Apache AntUnit 1.0 Available

- -

Apache AntUnit 1.0 is now available for download as binary - or source - release.

- -
- -
-

Initially all tests for Apache Ant tasks were written as individual - JUnit test cases. Pretty - soon it was clear that most tests needed to perform common tasks - like reading a build file, initializing a project instance with - it and executing a target. At this point BuildFileTest - was invented, a base class for almost all task test cases.

- -

BuildFileTest works fine and in fact has been picked up by the Ant-Contrib Project - and others as well.

- -

Over time a new pattern evolved, more and more tests only - executed a target and didn't check any effects. Instead that - target contained the assertions as a <fail> - task. This is an example taken from the build file for the - ANTLR task (using Ant 1.7 features):

- - - - - - - - - - - - - - - - - - -]]> - -

where the corresponding JUnit testcase has been reduced - to

- - - -

This approach has a couple of advantages, one of them is that - it is very easy to translate an example build file from a bug - report into a test case. If you ask a user for a testcase for a - given bug in Ant, he now doesn't need to understand JUnit or how - to fit a test into Ant's existing tests any more.

- -

AntUnit takes this approach to testing even further, it - removes JUnit completely and it comes with a set of predefined - <assert> tasks in order to reuse common kind - of checks.

- -

It turns out that AntUnit lends itself as a solution to other - problems as well. The assertions are an easy way to validate a - setup before even starting the build process, for example. - AntUnit could also be used for functional and integration tests - outside of the scope of Ant tasks (assert contents of databases - after running an application, assert contents of HTTP responses - ...). This is an area that will need more research.

-
- -
- -

The <antunit> task drives the tests much like - <junit> does for JUnit tests.

- -

When called on a build file, the task will start a new Ant - project for that build file and scan for targets with names - that start with "test". For each such target it then will

-
    -
  1. Execute the target named setUp, if there is one.
  2. -
  3. Execute the target itself - if this target depends on - other targets the normal Ant rules apply and the dependent - targets are executed first.
  4. -
  5. Execute the target names tearDown, if there is one.
  6. -
- -
- - -

The base task is <assertTrue>. It - accepts a single nested condition and throws a subclass of - BuildException named AssertionFailedException if that - condition evaluates to false.

- -

This task could have been implemented using - <macrodef> and <fail>, - but in fact it is a "real" task so that it is possible to - throw a subclass of BuildException. The - <antunit> task catches this exception and - marks the target as failed, any other type of Exception - (including other BuildException) are test errors.

- -

Together with <assertTrue> there are - many predefined assertions for common conditions, most of - these are only macros.

- -
- - - -

The <logcapturer> captures all messages - that pass Ant's logging system and provides them via a - reference inside of the project. If you want to assert - certain log messages, you need to start this task (prior to - your target under test) and use the - <assertLogContains> assertion.

- -

<expectFailure> is a task container that - catches any BuildException thrown by tasks nested into it. If - no exception has been thrown it will cause a test failure (by - throwing an AssertionFailedException).

-
- - -

Part of the library is the AntUnitListener - interface that can be used to record test results. The - <antunit> task accepts arbitrary many listeners and - relays test results to them.

- -

Currently two implementations - - <plainlistener> and xmllistener - modelled after the "plain" and "xml" - JUnit listeners - are bundled with the library.

-
-
- -
- -

This is a way to test that <touch> - actually creates a file if it doesn't exist:

- - - - - - - - - - - - - - - - - - - -]]> - -

When running a task like

- - - - - -]]> - -

from a buildfile of its own you'll get a result that looks like

- - - -
- - diff --git a/xdocs/antlibs/bindownload.xml b/xdocs/antlibs/bindownload.xml deleted file mode 100644 index d4c96ac8c4..0000000000 --- a/xdocs/antlibs/bindownload.xml +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - Binary Distributions - - - - - -
- -

Use the links below to download a binary distribution of Apache Antlibs from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

- -

Antlibs are distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

- -

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

- -
- -
- -

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

- -
-Other mirrors: - -
-
- -
- -
-
Note
-
Very recent releases may not be available on all -mirrors for a few days.
-
-

-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- - - -
- -
- -

Older releases of Ant Libraries can be found here. -We highly recommend to not use those releases but upgrade to the latest releases.

- -
- -
- -

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

- -

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

- -

-% pgpk -a KEYS
-% pgpv apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-dotnet-1.0-bin.tar.gz.asc -

- -

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1 or -md5sum/sha1sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

- -

We highly recommend to verify the PGP signature, though.

- -
- - -
diff --git a/xdocs/antlibs/charter.xml b/xdocs/antlibs/charter.xml deleted file mode 100644 index 89729ac546..0000000000 --- a/xdocs/antlibs/charter.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - Apache Ant Libraries - Charter - - - -
- -

Below is the text of the proposal that has been accepted by - the Apache Ant PMC. Further amendments are expected.

- - -Proposal to Create a Ant-Libraries Sub-Project in Apache Ant -============================================================ - -(0) rationale - -Ant itself has accumulated lots and lots of tasks over time. So many, -that Ant developers have become reluctant to adding new -task. Furthermore any new task in Ant would be tied to Ant's release -schedule which is too slow for a thriving, fresh piece of code. - -The proposal allows Ant tasks and types to be developed under the Ant -umbrella by Ant developers but have much shorter release cycles than -Ant itself. In addition it would new committers who would have commit -access to a single Ant library instead of the whole of Ant. - -(1) scope of the subproject - -The subproject shall create and maintain libraries of Ant tasks and -types. Each library will be managed in the same manner as the Ant -project itself, the PMC is ultimately responsible for it. - -Common Java libraries that only happen to provide Ant tasks as well -are out of scope of the subproject. Providing the tasks or types has -to be the primary goal of the library. - -To further this goal, the subproject shall also host a workplace for -Ant committers. - -(1.5) interaction with other subprojects - -(1.5.1) the sandbox - -The subproject will host a SVN repository available to all Ant -committers as a workplace for new Ant libraries. - -Before a library can have a public release it has to get promoted to -the "proper" Ant libraries subproject. This also means it has to match -the requirements of an Ant library as defined in section (4) under -Guidelines below. - -The status of any library developed in the sandbox shall be reviewed -after six months and the library gets either promoted or removed - or -it has to be re-evaluated after another six months. - -(2) identify the initial source from which the subproject is to be populated - -Some Ant committers have developed tasks or libraries inside of the -Ant CVS module under the proposal/sandbox directory. Committers are -free to move them over to the new sandbox subproject or remove them -completely. - -Libraries expected to move to the sandbox subproject initially are - -* the .NET tasks under proposal/sandbox/dotnet - -* the Subversion support tasks under proposal/sandbox/svn - -(3) identify the initial Apache resources to be created - -(3.1) mailing list(s) - -None. At least at the beginning we don't expect too much traffic and -the existing mailing lists of the Ant projects will be used. - -(3.2) SVN repositories - -Create <http://svn.apache.org/repos/asf/ant/> - -Expected are sub-directories - -antlibs/ - | - -----> proper/ - | | - | -----> library1 - | | | - | | -----------> trunk - | | -----------> tags - | | -----------> branches - | -----> library2 - | | - | -----------> trunk - | -----------> tags - | -----------> branches - | - -----> sandbox/ - | - -----> library1 - | | - | -----------> trunk - | -----------> tags - | -----------> branches - -----> library2 - | - -----------> trunk - -----------> tags - -----------> branches - -And potentially collections of all-trunks using svn:external as shown -by the current Jakarta Commons structure. - -(3.3) Bugzilla - -New components under product "Ant" for each new library. - -(4) identify the initial set of committers - -All current Ant PMC members plus the active Ant committers who are not -PMC members yet. - -Guidelines ----------- - -Note: - -* is, has, will, shall, must - required. - -* may, should, are encouraged - optional but recommended. - -(1) The primary unit of reuse and release is the Ant library. - -(2) The library is not a framework or a general library but a - collection of Ant tasks and types. - -(3) Each library must have a clearly defined purpose, scope, and API. - -(4) Each library is treated as a product in its own right. - -(4.1) Each library has its own status file, release schedule, version - number, QA tests, documentation, bug category, and individual - JAR. - -(4.2) Each library must clearly specify any external dependencies, - including any other libraries, and the earliest JDK version - required. - -(4.3) Each library must maintain a list of its active committers in - its status file. - -(4.4) The libraries should use a standard scheme for versioning, QA - tests, and directory layouts, and a common format for - documentation and Ant build files. - -(4.4) Each library will be hosted on its own page on the subproject - Web site, and will also be indexed in a master directory. - -(4.5) Volunteers become committers to this subproject in the same way - they are entered to any Apache subproject. - - Once the required infrastructure is in place, volunteers may - become committers for a single Ant library only. - -(4.6) New libraries may be proposed to the Ant dev mailing list. To be - accepted, a library proposal must receive majority approval of - the Ant PMC. Proposals are to identify the rationale for the - library, its scope, the initial source from which the library is - to be created, and the initial set of committers. - -(4.7) As stated in the Ant guidelines, an action requiring majority - approval must receive at least 3 binding +1 votes and more +1 - votes than -1 votes. - -(4.8) Each Ant library needs at least three committers, at least one - of them has to be an Ant PMC member. - - -
- -
diff --git a/xdocs/antlibs/compress/index.xml b/xdocs/antlibs/compress/index.xml deleted file mode 100644 index a7e18a660a..0000000000 --- a/xdocs/antlibs/compress/index.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - Apache Compress Antlib - - - -
-

This Antlib contains tasks and resources that provide - compression/uncompression and archival/unarchival capabilities - based on Apache - Commons Compress. Using Apache Commons Compress 1.1 - this.

-
- -
-

August 30, 2010 - Apache Compress Ant Library 1.0 - Available

- -

Apache Compress Ant Library 1.0 is now available for - download as binary - or source - release.

-
- -
-

Using Apache Commons Compress this Antlib supports gzip and - bzip2 compression and ar, cpio, tar and zip archives.

- -

The current code base is based on the 1.1 release of Commons - Compress but it is expected that this Antlib follows Commons - Compress' development and will add new compression or - archiving formats as they are provided by the underlying - library.

- -

The gzip and bzip2 tasks and resources are similar to the - corresponding tasks and types in Ant's core and mainly just - use a different code base for the implementation of the - formats.

- -

The same is mostly true for the zip and tar resources as well - as the unzip/tar task with the major difference being that - unzip and zipfileset can work with non-File resources.

- -

The zip and tar tasks are completely new implementations and - offer a superset of the functionality of the core tasks.

- -

Tasks and resources for the ar and cpio formats mirror those - available for tar and zip.

- -

All tasks and types can be mixed with the core tasks and - types; it is possible to use the core zip task to create an - archive based on an cpiofileset for example.

-
- -
- diff --git a/xdocs/antlibs/dotnet/index.xml b/xdocs/antlibs/dotnet/index.xml deleted file mode 100644 index 1bd640c314..0000000000 --- a/xdocs/antlibs/dotnet/index.xml +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Apache .NET Ant Library - - - - -
-

The Apache .NET Antlib provides tasks that support - development of .NET software with Apache Ant.

-
- -
-

February 4, 2011 - Apache .NET Ant Library 1.1 - Available

- -

Apache .NET Ant Library 1.1 is now available for - download as binary - or source - release.

- -

This release fixes a few bugs and adds new tasks for the - F# compiler and the tallow tool of the WiX toolkit.

-
- -
- -

This library doesn't strive to replace NAnt or MSBuild, its - main purpose is to help those of us who work on projects - crossing platform boundaries. With this library you can use Ant - to build and test the Java as well as the .NET parts of your - project.

- -

This library provides a special version of the - <exec> task tailored to run .NET executables. - On Windows it will assume the Microsoft framework is around and - run the executable directly, while it will invoke Mono on any - other platform. Of course you can override these - assumptions.

- -

Based on this a few tasks to run well known .NET utilities - from within Ant are provided, namely tasks to run NUnit, NAnt, MSBuild - and the Wix toolkit.

- -

The initial .NET tasks of Ant (compiler tasks for C#, J# and VB.NET - for example) have also been moved to this Antlib and will see further - development here.

-
- -
- -

Runs a .NET executable.

-
- - -

Runs NUnit tests.

-
- - -

Invokes NAnt, either on an external file or a build file - snippet contained inside your Ant build file.

-
- - -

Invokes MSBuild, either on an external file or a build file - snippet contained inside your Ant build file.

-
- - -

Invokes the candle and light executables of the WiX toolkit - in order to create MSI installers from within Ant.

-
-
- -
- - - - - - - - -]]> - -

runs NAnt on the embedded <echo> - task, output looks like

- - -
- - - - - - - - -]]> - -

runs MSBuild on the embedded <Message> - task, output looks like

- - - -
-
- -
diff --git a/xdocs/antlibs/index.xml b/xdocs/antlibs/index.xml deleted file mode 100644 index 9952a20709..0000000000 --- a/xdocs/antlibs/index.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - The Apache Ant&#x2122; Libraries Subproject - - - - -
-

Apache Ant Libraries - or Antlibs for short

- -

With Apache Ant 1.6.0 and the ant libraries concept creating - libraries of Ant tasks that are easy to get dropped into an - existing Ant installation has become far easier.

- -

The Ant Libraries subproject was started as a place to - develop small libraries of tasks that can get released - independent of Ant's release schedule - which is necessary for - nascent Ant tasks since Ant's own release schedule has become - rather slow over time.

- -

The subproject also offers a sandbox as playground for Ant - committers to try new ideas for tasks.

- -
- - -
- diff --git a/xdocs/antlibs/proper.xml b/xdocs/antlibs/proper.xml deleted file mode 100644 index 6cc0d340f7..0000000000 --- a/xdocs/antlibs/proper.xml +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - Apache Ant&#x2122; Libraries - - - - -
- - - - -

Apache AntUnit borrows ideas from JUnit 3.x and the <junit> - task. It provides a task that runs build files as unit tests - as well as a number of assertion tasks to support the - idea.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Homepage:http://ant.apache.org/antlibs/antunit/
SVN URL:https://svn.apache.org/repos/asf/ant/antlibs/antunit/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/antlibs/antunit/trunk/
Ant compatibility:Ant 1.7.x
Added to sandbox:2005-04-15
Promoted from sandbox:2005-11-22
Latest Release:1.1 released on September 26, 2008
-
- -
- -

The Apache Compress Antlib offers tasks and types for additional - archive formats like CPIO and AR supported - by Apache - Commons Compress.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Homepage:http://ant.apache.org/antlibs/compress/
SVN URL:https://svn.apache.org/repos/asf/ant/antlibs/compress/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/antlibs/compress/trunk/
Ant compatibility:Ant 1.8.x
Added to sandbox:2009-07-31
Promoted from sandbox:2009-10-16
Latest Release:1.0 released on August 30, 2010
- - - - - -

Provides a simple infrastructure to execute .NET - applications from within Ant for different VMs so that the - user doesn't have to change the build file when she wants to - run Mono on Linux and Microsoft's VM on Windows.

- -

Also contains <nant>, <nunit> and - <msbuild> tasks and an untested <wix> tasks.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Homepage:http://ant.apache.org/antlibs/dotnet/
SVN URL:https://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/antlibs/dotnet/trunk/
Ant compatibility:Ant 1.7.x
Added to sandbox:2005-04-15
Promoted from sandbox:2005-11-22
Latest Release:1.1 released on February 4, 2011
-
- -
- - -

This is a library of supplementary handlers for Ant - properties resolution.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Homepage:http://ant.apache.org/antlibs/props/
SVN URL:https://svn.apache.org/repos/asf/ant/antlibs/props/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/antlibs/props/trunk/
Ant compatibility:Ant 1.8.x
Added to sandbox:2007-07-25
Promoted from sandbox:2009-10-06
Latest Release:None
-
- -
- - -

This antlib provides an interface to the Microsoft Visual SourceSafe SCM. The original tasks - (org.apache.tools.ant.taskdefs.optional.vss) have been expanded upon in this antlib. - Some fixes to issues in the original tasks have also been incorporated.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
SVN URL:http://svn.apache.org/repos/asf/ant/antlibs/vss/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/antlibs/vss/trunk/
Ant compatibility:Ant 1.7.x
Added to sandbox:2006-04-26
Promoted from sandbox:2010-09-02
Latest Release:None
-
-
- -
- diff --git a/xdocs/antlibs/props/index.xml b/xdocs/antlibs/props/index.xml deleted file mode 100644 index 39319f032d..0000000000 --- a/xdocs/antlibs/props/index.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - Apache Props Antlib - - - - -
- -

This is a library of supplementary handlers for Apache Ant - properties resolution.

- -

The types provided are instances of - org.apache.tools.ant.PropertyHelper.Delegate and - can be invoked using the <propertyhelper> - task provided in Ant 1.8.0.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
DelegateDelegate TypeDescription
nestedPropertyExpanderImplements nested property expansion; - e.g. ${${double-expand-me}}.
stringopsPropertyEvaluatorImplements *nix shell-inspired string operations.
refsPropertyEvaluatorGiven ref:refid, - resolves reference refid.
typesPropertyEvaluatorGiven type(arg), attempts - to invoke - type constructor (project, arg), - then (arg).
-
- -
diff --git a/xdocs/antlibs/sandbox.xml b/xdocs/antlibs/sandbox.xml deleted file mode 100644 index d1333c4cb3..0000000000 --- a/xdocs/antlibs/sandbox.xml +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - Apache Ant&#x2122; Libraries - The Sandbox - - - - -
- -

The sandbox is the place where new Apache Ant Libraries start their - life, it is a playground for Ant committers and other - contributors who find committers to sponsor their ideas.

- -

The sandbox is no dumping ground. If a Sandbox Ant Library - fails to attract interest within a reasonable amount of time, it - gets removed from the sandbox.

- -
- -
- - - -

DBPatch library is intended to maintain versioning of a - database schema and data during iterative development.

- - - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/dbpatch/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/dbpatch/
Ant compatibility:Ant 1.7.x
Added to sandbox:2008-04-22
Sponsoring CommittersStefan Bodewig
-
- - - -

Debian provides tasks for generating Debian packages.

- - - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/debian/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/debian/trunk/
Ant compatibility:Ant 1.7.x
Added to sandbox:2007-05-18
Sponsoring CommittersKevin Jackson
-
- - - - -

This is a library of tasks and types to cache arbitrary Ant resources - to the filesystem for processing with file-based tools.

- - - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/fscache/trunk/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/fscache/trunk/
Ant compatibility:Ant 1.8.x
Added to sandbox:2008-06-30
Sponsoring CommittersMatt Benson
-
- - - - -

Most of the information needed for writing the manual is inside the sources: attributes, nested elements (especially - inherited one). GenDoc collects these information and generates the manual as xml page. Following steps transform this - xml into the final format (HTML in the first step, PDF may follow).

- - - - - - - - - - - - - - - - - - - - - - -
SVN URL:http://svn.apache.org/repos/asf/ant/sandbox/antlibs/gendoc/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/gendoc/
Ant compatibility:Ant 1.7.x
Added to sandbox:2005-04-15
Sponsoring Committers
-
- - - - -

This antlib contains tasks to make the basic HTTP requests: get, post, head, put, with Basicauthentication.

- - - - - - - - - - - - - - - - - - - - - - -
SVN URL:http://svn.apache.org/repos/asf/ant/sandbox/antlibs/http/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/http/
Ant compatibility:Ant 1.7.x
Added to sandbox:2006-06-27
Sponsoring Committers
-
- - - -

This AntLib provides tasks for generating an Eclipse Help PlugIn from Ant's manual.

- - - - - - - - - - - - - - - - - - - - - - - - - -
SVN URL:http://svn.apache.org/repos/asf/ant/sandbox/antlibs/manual4eclipse/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/manual4eclipse/trunk/
Ant compatibility:Ant 1.7.x
Java compatibility:Java 1.5+
Added to sandbox:2007-03-01
Sponsoring Committers
-
- - - -

Minify library offers tasks for minimizing JavaScript scripts.

- - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/minify/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/minify/
Ant compatibility:Ant 1.7.x
Added to sandbox:2009-01-01
Sponsoring CommittersKevin Jackson
-
- - -

This antlib provides tasks for working with the StarTeam SCM.

- - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/starteam/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/starteam/
Ant compatibility:Ant 1.7.x
Added to sandbox:2007-08-27
Sponsoring CommittersPeter Reilly
-
- - -

This antlib provides tasks for working with the WebLogic app server.

- - - - - - - - - - - - - - - - - - - - - -
SVN URL:https://svn.apache.org/repos/asf/ant/sandbox/antlibs/weblogic/
ViewSVN:http://svn.apache.org/viewvc/ant/sandbox/antlibs/weblogic/
Ant compatibility:Ant 1.7.x
Added to sandbox:2007-08-20
Sponsoring CommittersPeter Reilly, Stefan Bodewig
-
- - - -
- - -
diff --git a/xdocs/antlibs/srcdownload.xml b/xdocs/antlibs/srcdownload.xml deleted file mode 100644 index de8cade6ce..0000000000 --- a/xdocs/antlibs/srcdownload.xml +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - Source Distributions - - - - - -
- -

Use the links below to download a source distribution of Apache Antlibs from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

- -

Antlibs are distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

- -

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

- -
- -
- -

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

- -
-Other mirrors: - -
-
- -
- -
-
Note
-
Very recent releases may not be available on all -mirrors for a few days.
-
-

-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- - -
- -
- -

Older releases of Ant Libraries can be found here. -We highly recommend to not use those releases but upgrade to the latest releases.

- -
- -
- -

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

- -

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

- -

-% pgpk -a KEYS
-% pgpv apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-dotnet-1.0-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-dotnet-1.0-bin.tar.gz.asc -

- -

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1 or -md5sum/sha1sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

- -

We highly recommend to verify the PGP signature, though.

- -
- - - diff --git a/xdocs/antlibs/svn/index.xml b/xdocs/antlibs/svn/index.xml deleted file mode 100644 index c1f112bf16..0000000000 --- a/xdocs/antlibs/svn/index.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - Apache Subversion Ant Library - - - - -
-

The main purpose of this Apache Ant library is to provide the same - level of support that Ant provides for CVS. This means the - tasks are wrappers on top of the command line client (read: you - still need to install an svn client) and there is not much more - than running the executable and creating some reports.

- -

If you are looking for projects that aim at more, there are - better alternatives, for example Subclipse's Ant - task or JavaSVN.

-
- -
- -

A very thin layer on top of the command line executable, - comparable to the CVS - task.

-
- - -

Creates a log of change comments between two revisions, - comparable to CvsChangeLog.

-
- - -

<tagdiff> creates a differences report - for the changes between two tags or branches.

- -

<revisiondiff> creates a differences report - for the changes between two revisions.

- -

Together comparable to CvsTagDiff.

-
-
- -
-
- -
diff --git a/xdocs/antnews.xml b/xdocs/antnews.xml deleted file mode 100644 index dfd136b32f..0000000000 --- a/xdocs/antnews.xml +++ /dev/null @@ -1,599 +0,0 @@ - - - - - - Conor MacNeill - Stefan Bodewig - Magesh Umasankar - Antoine Levy-Lambert - Apache Ant&#x2122; Project News - - - -
-

February 1st, 2011 - EasyAnt enters the Incubator

-

The EasyAnt project has been successfully being voted to enter the Apache Incubator and Apache Ant is sponsoring it.

- -

The EasyAnt project aims to leverage the popularity and flexibility of both Ant and Ivy in order to provide an easy to use build system. EasyAnt will provide ready to use ant scripts to build standard java applications or webapps just like usual Maven users are used to. It will still remain adaptable by offering a property based configuration. And even more as you will be able to easily extend existing modules or create your own ones.

-

You can read the more detail proposal here: http://wiki.apache.org/incubator/EasyAntProposal

-
- -
-

December 27th, 2010 - Apache Ant 1.8.2 Released

-

Apache Ant 1.8.2 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

- -

Key features of the 1.8.2 release are

-
    -
  • performance improvements in directory scanning
  • -
  • XSLT task honors classpath again (bugrep 49271)
  • -
  • distinction between core tasks and optional tasks is abolished
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
- -
- -
-

September 30, 2010 - Apache Ivy 2.2.0 Released

-

Apache Ivy 2.2.0 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

- -

Key features of the 2.2.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new parent mechanism for Ivy files
  • -
  • improved pom generation from an ivy.xml file
  • -
  • automated PGP signature generation when uploading artifacts
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
- -

For more information see - the Ivy home page.

-
- -
-

May 7th, 2010 - Apache Ant 1.8.1 Released

-

Apache Ant 1.8.1 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

- -

Key features of the 1.8.1 release are

-
    -
  • new task augment allows to add attributes or nested elements to previously defined references
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
- -
- -
-

Februrary 8th, 2010 - Apache Ant 1.8.0 Released

-

Key features of the 1.8.0 release are

-
    -
  • Lexically scoped local properties, i.e. properties that are only defined inside a target, - sequential block or similar environment. This is very useful inside - of <macrodef>s where a macro can now define a temporary property - that will disappear once the task has finished.
  • -
  • <import> can now import from any file- or URL-providing resource - - this includes <javaresource>. - This means <import> can read build file snippets from JARs or fixed server URLs. - There are several other improvements in the area of import.
  • -
  • Various improvements to the directory scanning code that help with symbolic link - cycles (as can be found on MacOS X Java installations for example) and improve - scanning performance. For big directory trees the improvement is - dramatic.
  • -
  • The way developers can extend Ant's property expansion algorithm has been rewritten - (breaking the older API) to be easier to use and be more powerful. - The whole local properties mechanism is implemented using that API and could be - implemented in a separate library without changes in Ant's core. - Things like the yet-to-be-released props Antlib can now provide often required - "scripty" fuctions without touching Ant itself. - At the same time the if and unless attributes have been rewritten to do the expected - thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it" - if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named - "true" existed). This adds "testing conditions" as a new use-case to property - expansion.
  • -
  • A new top-level element <extension-point> assists in writing re-usable - build files that are meant to be imported. <extension-point> has a name - and a dependency-list like <target> and can be used like a <target> - from the command line or a dependency-list but the importing build file can add - targets to the <extension-point>'s depends list.
  • -
  • Ant now requires Java 1.4 or later
  • -
  • new task include provides an alternative to <import> that - should be preferred when you don't want to override any targets
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
- -
- -
-

October 8, 2009 - Apache Ivy 2.1.0 Released

- -

Key features of the 2.1.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new options for the Ivy Ant tasks and commandline
  • -
  • configuration intersections and configuration groups
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
- -

For more information see - the Ivy home page.

-
- -
-

July 13, 2009 - Apache IvyDE 2.0.0 Released

- -

Apache IvyDE 2.0.0 is now available for download from - http://ant.apache.org/ivy/ivyde/download.cgi - or directly from the updatesite - http://www.apache.org/dist/ant/ivyde/updatesite -

- -

This is the first release considered as stable since the project as been hosted - by the Apache Software Foundation.

- -

Major changes in this release:

-
    -
  • the "resolve in workspace" feature (make IvyDE search for Ivy dependencies -directly into the Eclipse projects) has been introduced in the last release -but was quite experimental. It has been refactored to be more reliable and -have been reported to be working like a charm by some of the IvyDE early users.
  • -
  • the user documentation of IvyDE is now available directly into the Eclipse help center.
  • -
  • IvyDE can now load property files along with the Ivy settings.
  • -
- -

For more information see - the IvyDE home page.

-
- -
-

January 20, 2009 - Apache Ivy 2.0.0 Released

-

Apache Ivy 2.0.0 (final) is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

- -

This is the first non-beta release of Ivy under Apache and includes some major new features - like: enhanced Maven2 compatibility, improved cache management, improved concurrency support - and numerous bug fixes and other improvements.

- -

For more information see the Ivy home page.

-
- - -
-

September 26, 2008 - Apache AntUnit 1.1 Released

- -

Apache AntUnit 1.1 is now available for download as binary - or source - release.

- -

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

- -

For more information see the Antlib's - home page

-
- -
-

September 3, 2008 - Apache AntUnit 1.1 Beta 1 Available

-
- -
-

June 27, 2008 - Apache Ant 1.7.1 Available

-

Apache Ant 1.7.1 is now available for download.

- -

Ant 1.7.1 is mainly a bugfix release.

- -

Ant 1.7.1 has extended support for Java6 features.

- -

Ant 1.7.1 <script> now has support for JavaFX.

-
- -
-

October 11, 2007 - Apache Ivy is an Ant Sub-Project Now!

- -

Apache Ivy, "A Java based tool for tracking, resolving and - managing project dependencies.", just finished Incubation and has joined - the Ant project. More information will be available from the Ant - site soon.

- -

Until we've finished the migration, you can learn more about - Ivy from its Incubator - website.

-
- -
-

January 8, 2007 - Apache AntUnit 1.0 Available

-

Apache AntUnit 1.0 is now available for download.

- -

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-
- -
-

December 19, 2006 - Apache Ant 1.7.0 Available

-

Apache Ant 1.7.0 is now available for download.

- -

Ant 1.7 introduces a resource framework. Some of the core ant - tasks such as <copy/> are now able to process not only file - system resources but also zip entries, tar entries, paths, ... - Resource collections group resources, and can be further - combined with operators such as union and intersection. This - can be extended by custom resources and custom tasks using resources.

- -

- Ant 1.7 starts outsourcing of optional tasks to Antlibs. - The .NET antlib in preparation will replace the .NET optional tasks which ship in Ant. - Support for the version control system Subversion will be only provided as an antlib to - be released shortly. -

- -

Ant 1.7 fixes also a large number of bugs.

- -

Ant 1.7 has some initial support for Java6 features.

-
- -
-

November 6, 2006 - Apache .NET Ant Library 1.0 Available

-

Apache .NET Ant Library 1.0 is now available for download.

- -

This Ant Library contains support for tools like NUnit as well - as the "old" .NET tasks of Ant's core. It has been tested - Microsoft's frameworks as well as Mono.

- -

For more information see the Antlib's - home page

-
- -
-

October 29, 2006 - Apache AntUnit 1.0Beta2 Available

-

Apache AntUnit 1.0Beta1 is now available for download.

- -

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-
- -
-

September 22, 2006 - Apache AntUnit 1.0Beta1 Available

-

Apache AntUnit 1.0Beta1 is now available for download.

- -

This Ant Library contains tasks to test Ant tasks using Ant - instead of JUnit. For more information see the AntUnit home page.

-
- -
-

September 13, 2006 - Apache .NET Ant Library 1.0Beta1 Available

-

Apache .NET Ant Library 1.0Beta1 is now available for download.

- -

This Ant Library contains support for tools like NUnit as well - as the "old" .NET tasks of Ant's core. It has been tested - Microsoft's frameworks as well as Mono.

- -

For more information see the Antlib's - home page

-
- -
-

June 2, 2005 - Apache Ant 1.6.5 Available

-

Apache Ant 1.6.5 is now available for download.

-

This is a bug fix release.

-
- -
-

May 19, 2005 - Apache Ant 1.6.4 Available

-

Apache Ant 1.6.4 is now available for download.

-

This is a bug fix release.

-
- -
-

April 28, 2005 - Apache Ant 1.6.3 Available

-

Apache Ant 1.6.3 is now available for download.

-

There is a large list of fixed bugs and enhancements.

-

Some of the bugs affecting the embedded use of Ant are fixed.

-
- -
-

April 4th, 2005 - The Apache Ant Project Retires Apache Antidote, the - Ant GUI

- -

The Antidote subproject was once started to provide a GUI for - Ant at a time where IDE support for Ant was far from usable. - Unfortunately it never attracted a developer community of its - own.

- -

At the same time IDE support for Ant has become ubiquitous by - now and there is little reason to have a GUI just for Ant. This - makes it even less likely that volunteers will start to spend time - working on it.

- -

Antidote's development has been stalled for years now, despite - some efforts to rejuvenate it by single developers. Therefore the - Ant developers have chosen to retire Antidote.

- -

Antidote will no longer be developed by the Ant project; its - CVS module will be shut down.

- -

If you are interested in Antidote's sources to learn from or - build on it, you can find snapshots at http://archive.apache.org/ant/antidote/.

-
- -
-

July 16, 2004 - Apache Ant 1.6.2 Available

-

Apache Ant 1.6.2 available for download.

-

Nested elements for namespaced tasks and types may belong to the -Ant default namespace as well as the task's or type's namespace.

-

All exceptions thrown by tasks are now wrapped in a -buildexception giving the location in the buildfile of the task.

-

Ant 1.6.2 fixes a large number of bugs and adds a number of -features which were asked for by users on Bugzilla.

-
- -
-

February 29, 2004

-

The Apache Ant Wiki pages have been migrated to their - new home on the Apache - Wiki farm. -

-
- -
-

February 12, 2004 - Apache Ant 1.6.1 Available

-

Apache Ant 1.6.1 is still available for - download. -

-

The ASF Board has approved the new Apache License 2.0. - For a copy of that license, please see - - http://www.apache.org/licenses/.

-

The Ant 1.6.1 release is delivered with the - Apache License 2.0.

-

Ant 1.6.1 fixes several bugs, most notably the handling - of the default namespace for nested elements.

-

Ant 1.6.1 also introduces initial support for compiling with - Java 1.5.

-
-
-

December 18, 2003 - Apache Ant 1.6.0 Available

-

Apache Ant 1.6.0 is still available for - download. -

-

As - we've already said in the announcements of Ant 1.5.4, this release - requires JDK 1.2 or later to run.

- -

Ant 1.6.0 adds a lot of new features, most prominently support - for XML namespaces as well as a new concept of Ant libraries that - makes use of namespaces to avoid name clashes of custom tasks. - For a longer list of fixed bugs and new features see the release - notes.

- -

If you find anything that hasn't been covered in the manual (I bet you -did) or could be explained better, feel free to help us out in the -Wiki.

- -
- -
-

August 12, 2003 - Apache Ant 1.5.4 Available

-

Apache Ant 1.5.4 is still available for - download. -

- -

This is a minor bugfix release that fixes a problem with the - javah task on JDK 1.4.2 and a couple of bugs in the - Visual Age for Java intergration tasks. If you don't use javah or - VAJ, there is no reason to upgrade.

- -
-
Note
-
Ant 1.5.4 is the last release that supports - JDK 1.1. Ant 1.6.0 requires JDK 1.2 or - later. -
-
-
- -
- - -

June 11th, 2003: Apache Ant wins a Java Pro readers' choice award

-

- Ant has won the Java Pro 2003 Readers' Choice Award for -

-

- Most Valuable Java Deployment Technology. -

- -

- Thanks to Java Pro and all its readers. You can read about - these - awards - at the Java Pro website. -

-
- -
- -

June 2003: Apache Ant wins JDJ Editors' Choice Award

- -

-"Ant is the hammer of the Java world: without it, civilization might have progressed, but much more slowly than it has. Ant is one of the most useful build tools I have ever had the pleasure to use." - Joe Ottinger -

- -
- -
- -

June 9th, 2003: Apache Ant wins the JavaWorld Editors' Choice Award

- -

- Ant has won the JavaWorld Editors' Choice Award for -

-

- Most Useful Java Community-Developed Technology -

- -

- for the second time in a row! Read the - full article -- or jump directly to the bit about - our award :)

-
- -
-

April 9, 2003 - Apache Ant 1.5.3 Available

-

Apache Ant 1.5.3 is still available for - download. -

-
- - -
-

March 3, 2003 - Apache Ant 1.5.2 Available!

-

The final version of Ant 1.5.2 is available for - download. - If you have any feedback on this release, feel free to join the - discussion on the dev and user mailing lists. -

-
- -
-

November 18, 2002

-

The Apache board created - the Apache Ant top level project. Ant has now migrated from the Jakarta - project into an Apache project of its own. This is primarily an - organizational change and will not affect the technical aspects of - the project. Ant retains a strong association with the Apache - Jakarta project. One effect of this change is that the Ant webpage - is now located at http://ant.apache.org/ -

-
- -
-

October 3, 2002 - Apache Ant 1.5.1 Available !

-

The final version of Ant 1.5.1 is still available for - - download. If you have any feedback on this release, feel free to join the - discussion on the ant-dev and ant-user mailing lists. -

-
- -
-

July 15, 2002 - Fix for Cygwin problem in wrapper script available

-

The wrapper script of Apache Ant 1.5 needs to be replaced with a new - version for Cygwin users. See the FAQ for details.

- -

July 10, 2002 - Apache Ant 1.5 Released!

-

The final version of Ant 1.5 is now available for - - download. If you have any feedback on this release, feel free to join the - discussion on the ant-dev and ant-user mailing lists. -

-
- -
- -

Apr 29, 2002: Apache Ant wins Software Development magazine's - 2002 Productivity Award.

-

- Ant has been awarded a 2002 Productivity Award by - Software Development - magazine. Read the - - press release for more information and the full list of winners. -

-
- -
- -

Mar 26, 2002: Apache Ant wins the JavaWorld Editors' Choice - Award

- -

- Ant has won the JavaWorld Editors' Choice Award for - Most Useful Java Community-Developed Technology. - Read the - full article -- or jump directly to the bit about - our award :)

-
- -
-

Feb 15, 2002: Java 1.4 Support

-

- Java 1.4 has now been released by Sun. The latest Apache Ant source supports - the new assert statement in the compiler task via the source - attribute. It also contains a compatibility fix needed for some ant tasks - on Java 1.4 over Windows XP. If you have problems running Ant 1.4.1 on WinXP/Java 1.4, - please use a recent build or compile your own version from the source tree. -

-
- -
-

Have a look at our new cool logo!

-
- -
-

11 October 2001 Apache Ant 1.4.1 released !

-

Please visit the - - download area. -

-
- -
-

Sun has released an introductory article on Apache Ant on their - Dot-Com Builder site on May 30 2001. See http://dcb.sun.com/practices/profiles/ant.jsp

-
- - - -
- diff --git a/xdocs/bindownload.xml b/xdocs/bindownload.xml deleted file mode 100644 index 3bf528b331..0000000000 --- a/xdocs/bindownload.xml +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - Binary Distributions - - - - - -
-

Apache Ant is a Java library and command-line tool that help - building software.

-
- -
- -

Use the links below to download a binary distribution of Ant from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

- -

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

- -

In addition the JPackage -project provides RPMs at their own distribution site.

- -

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

- -
- -
- -

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

- -
-Other mirrors: - -
-
- -
- -

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

- -
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-

-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- - -
- - -
- -

Older releases of Ant can be found here. We highly -recommend to not use those releases but upgrade to Ant's latest release.

- -
- -
- -

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

- -

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

- -

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-bin.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-bin.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-bin.tar.gz.asc -

- -

A command line version of GnuPG -is also available for Windows users. Follow the -instructions -to verify the package.

- -

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

- -

We highly recommend to verify the PGP signature, though.

- -
- - -
diff --git a/xdocs/bugs.xml b/xdocs/bugs.xml deleted file mode 100644 index 18516436f4..0000000000 --- a/xdocs/bugs.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - Antoine Levy-Lambert - Bug database - - - -
-

- This page gives you some bookmarks to use the Bugzilla - Apache Bug Database. -

-

- This link issues.apache.org connects you - to the complete list of Apache Bug Database systems. -

- -

- If the current nightly build doesn't resolve your problem, it is - possible that someone else has reported the issue. It is time to - look at the bug database. This system is easy to use, and it will - let you search the - currently open and resolved bugs to see if your problem has - already been reported. If your problem has been reported, you can - see whether any of the developers have commented, suggesting - workarounds, or the reason for the bug, etc. Or you may have - information to add (see about creating and modifying bug reports - below), in which case, go right ahead and add the information. - If you don't have any additional information, you may just want - to vote for this bug, and perhaps - add yourself to the CC list to follow the progress - of this bug. -

-

Open Apache Ant bugs by order of priority.

-

Open Apache Ant bugs by number of votes.

-
- - -

- Please read our document about problems - before deciding that there is an unreported - bug in Apache Ant. -

-

- You have a few choices at this point. You can send - an email to the user mailing list - to see if - others have encountered your issue and find out how they may - have worked around it. If after some discussion, you feel it - is time to create - a bug report, this is a simple operation in the bug database. - Please try to provide as much information as possible in order - to assist the developers in resolving the bug. Please try to enter - correct values for the various inputs when creating the bug, such - as which version of Ant you are running, and on which platform, - etc. Once the bug is created, you can also add attachments to - the bug report. -

-

- What information should you include in your bug report? The - easiest bugs to fix are those that are most easily reproducible, - so it is really helpful if you can produce a small test case that - exhibits the problem. In this case, you would attach the build file - and any other files necessary to reproduce the problem, probably - packed together in an archive. If you can't produce a test case, - you should try to include a snippet from your build file and the - relevant sections from the verbose or debug output from Ant. Try - to include the header information where Ant states the version, - the OS and VM information, etc. As debug output is likely to be - very large, it's best to remove any output that is not - relevant. Once the bug is entered into the bug database, you - will be kept informed by email about progress on the bug. If - you receive email asking for further information, please try to - respond, as it will aid in the resolution of your bug. -

-

- To create the bug report hit this - - link. -

-
- - -

- Sometimes, you may find that Ant just doesn't do what you need it - to. It isn't a bug, as such, since Ant is working the way it is - supposed to work. Perhaps it is some additional functionality for - a task that hasn't been thought of yet, or maybe a completely new - task. For these situations, you will - want to raise an enhancement request. Enhancement requests - are managed using the same Apache Bug Database described above. - These are just a different type of bug report. If you look in the - bug database, you will see that one of the severity settings for - a bug is "Enhancement". Just fill the bug report in, - set the severity of the bug to "Enhancement", and - state in the description how you would like to have Ant enhanced. - Again, you should first check whether there are any existing - enhancment requests that cover your needs. If so, just add your - vote to these. -

-

- - Create an enhancement report - -

-
- - -

- If you aren't satisfied with just filing a bug report, you can - try to find the cause of the problem and provide a fix yourself. - The best way to do that is by working with the latest code from Subversion. - Alternatively, you can work with the source code available from the - - source distributions. If you - are going to tackle the problem at this level, you may want to - discuss some details first on the dev - mailing list. Once you have a fix for the problem, you may submit - the fix as a patch to either the - dev mailing - list, or enter the bug database as described above and attach the - patch to the bug report. Using the bug database has the advantage - of being able to track the progress of your patch. -

-

- If you have a patch to submit and are sending it to the - dev mailing list, - prefix "[PATCH]" - to your message subject (this is also a good idea for - a subject line in the bug database). - Please include any relevant bug numbers. - Patch files should be created with the -u - option of the - diff or svn diff command. For - example:



- - diff -u Javac.java.orig Javac.java > javac.diffs



-
- or, if you have source from Subversion:



- - svn diff Javac.java > javac.diffs



-
- - Note: You should give your patch files meaningful names. - This makes it easier for developers who need to apply a number - of different patch files. -

-
- - -
- -
diff --git a/xdocs/bylaws.xml b/xdocs/bylaws.xml deleted file mode 100644 index afe19a08ac..0000000000 --- a/xdocs/bylaws.xml +++ /dev/null @@ -1,477 +0,0 @@ - - - - - - Project Bylaws - Apache Ant PMC - - - -
-

- This document defines the bylaws under which the Apache Ant project - operates. It defines the roles and responsibilities of the - project, who may vote, how voting works, how conflicts are resolved, - etc. -

- -

- Ant is a project of the - Apache Software - Foundation. The foundation holds the copyright on Apache - code including the code in the Ant codebase. The - foundation FAQ - explains the operation and background of the foundation. -

- -

- Ant is typical of Apache projects in that it operates under a set of - principles, known collectively as the "Apache Way". If you are - new to Apache development, please refer to the - Incubator project - for more information on how Apache projects operate. Note: the - incubator project has only been recently set up and does not yet explain - the Apache Way in great detail. -

- - - -
- -
-

- Apache projects define a set of roles with associated rights and - responsibilities. These roles govern what tasks an individual may perform - within the project. The roles are defined in the following sections -

- - - - -

- The most important participants in the project are people who use our - software. The majority of our developers start out as users and guide - their development efforts from the user's perspective. -

- -

- Users contribute to the Apache projects by providing feedback to - developers in the form of bug reports and feature suggestions. As - well, users participate in the Apache community by helping other users - on mailing lists and user support forums. -

- -
- - -

- All of the volunteers who are contributing time, code, documentation, - or resources to the Ant Project. A developer that makes sustained, - welcome contributions to the project may be invited to become a - Committer, though the exact timing of such invitations depends on many - factors. -

-
- - -

- The project's Committers are responsible for the project's technical - management. All committers have write access to the project's source - repositories. Committers may cast binding votes on any technical - discussion regarding the project. -

- -

- Committer access is by invitation only and must be approved by lazy - consensus of the active PMC members. A Committer is considered emeritus - by their own declaration or by not contributing in any form to the - project for over six months. An emeritus committer may request - reinstatement of commit access from the PMC. Such reinstatement is - subject to lazy consensus of active PMC members. -

- -

- Commit access can be revoked by a unanimous vote of all the active - PMC members (except the committer in question if they are also a PMC member). -

- -

- All Apache committers are required to have a signed Contributor License - Agreement (CLA) on file with the Apache Software Foundation. There is a - Committer FAQ - which provides more details on the requirements for Committers -

- -

- A committer who makes a sustained contribution to the project may be - invited to become a member of the PMC. The form of contribution is - not limited to code. It can also include code review, helping out - users on the mailing lists, documentation, etc. -

-
- -

- The Project Management Committee (PMC) for Apache Ant was created by a - resolution of the board of the Apache - Software Foundation on 18th November 2002. The PMC is - responsible to the board and the ASF for the management and oversight - of the Apache Ant codebase. The responsibilities of the PMC include -

- -
    -
  • Deciding what is distributed as products of the Apache Ant project. - In particular all releases must be approved by the PMC -
  • -
  • Maintaining the project's shared resources, including the codebase - repository, mailing lists, websites. -
  • -
  • Speaking on behalf of the project. -
  • -
  • Resolving license disputes regarding products of the project -
  • -
  • Nominating new PMC members and committers -
  • -
  • Maintaining these bylaws and other guidelines of the project -
  • -
- -

- Membership of the PMC is by invitation only and must be approved by a - lazy consensus of active PMC members. A PMC member is considered - "emeritus" by their own declaration or by not contributing in - any form to the project for over six months. An emeritus member may - request reinstatement to the PMC. Such reinstatement is subject to lazy - consensus of the active PMC members. Membership of the PMC can be - revoked by an unanimous vote of all the active PMC members other than - the member in question. -

- -

- The chair of the PMC is appointed by the ASF board. The chair is an - office holder of the Apache Software Foundation (Vice President, - Apache Ant) and has primary responsibility to the board for the - management of the projects within the scope of the Ant PMC. The chair - reports to the board quarterly on developments within the Ant project. - The PMC may consider the position of PMC chair annually and if - supported by 2/3 Majority may recommend a new chair to the board. - Ultimately, however, it is the board's responsibility who it chooses - to appoint as the PMC chair. -

-
-
- -
-

- Within the Ant project, different types of decisions require different - forms of approval. For example, the - previous section describes - several decisions which require "lazy consensus" approval. This - section defines how voting is performed, the types of approvals, and which - types of decision require which type of approval. -

- - -

- Decisions regarding the project are made by votes on the primary project - development mailing list (dev@ant.apache.org). Where necessary, - PMC voting may take place on the private Ant PMC mailing list. - Votes are clearly indicated by subject line starting with [VOTE] or - [PMC-VOTE]. Votes may contain multiple items for approval and these - should be clearly separated. Voting is carried out by replying to the - vote mail. Voting may take four flavours -

- - - - - - - - - - - - - - - - - - - - - -
+1 - "Yes," "Agree," or "the action should be - performed." In general, this vote also indicates a willingness - on the behalf of the voter in "making it happen" -
+0 - This vote indicates a willingness for the action under - consideration to go ahead. The voter, however will not be able - to help. -
-0 - This vote indicates that the voter does not, in general, agree with - the proposed action but is not concerned enough to prevent the - action going ahead. -
-1 - This is a negative vote. On issues where consensus is required, - this vote counts as a veto. All vetoes must - contain an explanation of why the veto is appropriate. Vetoes with - no explanation are void. It may also be appropriate for a -1 vote - to include an alternative course of action. -
- -

- All participants in the Ant project are encouraged to show their - agreement with or against a particular action by voting. For technical - decisions, only the votes of active committers are binding. Non binding - votes are still useful for those with binding votes to understand the - perception of an action in the wider Ant community. For PMC decisions, - only the votes of PMC members are binding. -

- -

- Voting can also be applied to changes made to the Ant codebase. These - typically take the form of a veto (-1) in reply to the commit message - sent when the commit is made. -

-
- - -

- These are the types of approvals that can be sought. Different actions - require different types of approvals -

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Consensus - For this to pass, all voters with binding votes must vote and there - can be no binding vetoes (-1). Consensus votes are rarely required - due to the impracticality of getting all eligible voters to cast a - vote. -
Lazy Consensus - Lazy consensus requires 3 binding +1 votes and no binding vetoes. -
Lazy Majority - A lazy majority vote requires 3 binding +1 votes and more binding +1 - votes that -1 votes. -
Lazy Approval - An action with lazy approval is implicitly allowed unless a -1 vote - is received, at which time, depending on the type of action, either - lazy majority or lazy consensus approval must be obtained. -
2/3 Majority - Some actions require a 2/3 majority of active committers or PMC - members to pass. Such actions typically affect the foundation - of the project (e.g. adopting a new codebase to replace an existing - product). The higher threshold is designed to ensure such changes - are strongly supported. To pass this vote requires at least 2/3 of - binding vote holders to vote +1 -
-
- - -

- A valid, binding veto cannot be overruled. If a veto is cast, it must be - accompanied by a valid reason explaining the reasons for the veto. The - validity of a veto, if challenged, can be confirmed by anyone who has - a binding vote. This does not necessarily signify agreement with the - veto - merely that the veto is valid. -

- -

- If you disagree with a valid veto, you must lobby the person casting - the veto to withdraw their veto. If a veto is not withdrawn, the action - that has been vetoed must be reversed in a timely manner. -

-
- - -

- This section describes the various actions which are undertaken within - the project, the corresponding approval required for that action and - those who have binding votes over the action. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionApprovalBinding Votes
Code Change - A change made to a codebase of the project and committed - by a committer. This includes source code, documentation, website - content, etc. - - Lazy approval and then lazy consensus. - - Active committers. -
Release Plan - Defines the timetable and actions for a release. The plan also - nominates a Release Manager. - - Lazy majority - - Active committers -
Product Release - When a release of one of the project's products is ready, a vote is - required to accept the release as an official release of the - project. - - Lazy Majority - - Active PMC members -
Adoption of New Codebase -

- When the codebase for an existing, released product is to be - replaced with an alternative codebase. If such a vote fails to - gain approval, the existing code base will continue. -

- -

- This also covers the creation of new sub-projects - within the project -

-
- 2/3 majority - - Active committers -
New Committer - When a new committer is proposed for the project - - Lazy consensus - - Active PMC members -
New PMC Member - When a committer is proposed for the PMC - - Lazy consensus - - Active PMC members -
Committer Removal -

When removal of commit privileges is sought.

-

Note: Such actions will also be referred to the ASF - board by the PMC chair

-
- Consensus - - Active PMC members (excluding the committer in question if a - member of the PMC). -
PMC Member Removal -

When removal of a PMC member is sought.

-

Note: Such actions will also be referred to the - ASF board by the PMC chair

-
- Consensus - - Active PMC members (excluding the member in question). -
-
- -

- Votes are open for a period of 1 week to allow all active voters - time to consider the vote. Votes relating to code changes are not - subject to a strict timetable but should be made as timely as possible. -

-
-
- -
diff --git a/xdocs/contributors.xml b/xdocs/contributors.xml deleted file mode 100644 index c2d1c2fcab..0000000000 --- a/xdocs/contributors.xml +++ /dev/null @@ -1,385 +0,0 @@ - - - - - Contributors - Apache Ant PMC - - - -
- - - -

- Bruce Atherton (bruce at callenish.com - http://www.callenish.com/~bruce) -
-Currently a Systems Architect with Avue Technologies, Bruce has been -working with Java since version 1.0a2. He also claims to be one of the first -people to mark up a FAQ with HTML, for a web browser of the distant past -called Cello. -

- -

- Stephane Bailliez
-

- -

- Matt Benson
-

- -

- Stefan Bodewig (stefan.bodewig at freenet.de - - http://stefan.samaflost.de/) -
-

- -

- Dominique Devienne (ddevienne at apache.org) -
-Dominique has been involved non-stop with the Ant user community since -the 1.4 days, trying without success to answer posts as well or as often -as Diane Holt after she left the user list. He is opinionated, always -striving for the best possible design. While at Landmark Graphics, he -designed and implemented large Ant/CppTasks builds for mixed Java/C++ projects. -

- -

- Erik Hatcher (ehatcher at apache.org) -
-Erik is the co-author of -Java Development with Ant and speaks on Ant and other topics at -No Fluff, Just Stuff -symposiums as well as other venues. Erik is the President of -eHatcher Solutions, Inc. -

-

- Martijn (J.M.) Kruithof (ant at kruithof xs4all nl) -
-Martijn Kruithof is a system engineer working with and on Java products -in a telecommunication network setting. -

-

- Antoine Levy-Lambert (antoine at apache.org) -
-Antoine is setting up a consultancy dealing with builds and deployments -Agilebuild. -He is specialized in builds and automation of deployment processes. - -

- -

- Steve Loughran
-

- -

- Conor MacNeill (conor at cortexebusiness.com.au) -
-Conor is a senior developer at Cortex eBusiness, where he develops -J2EE based systems. In his spare time he helps with the development of -the Ant build tool. He is also serving as the Chairman of this PMC. -

- -

- Jan Matèrne (jhm at apache.org) -
-Jan is consultant for OOA/D in the computer centre of the government -of Northrhine Westfalia / Germany. -

- -

- Peter Reilly
-

- -

- - Sam Ruby - - (rubys at us.ibm.com) -
-Sam takes a perverse pleasure in integrating disparate things. He is -a member of the PHP group, Apache -XML PMC, Apache -sponsor for the xml-soap subproject -and convener of ECMA TC39 TG3. -

-

- Magesh Umasankar (umagesh at apache.org) -
-Magesh, President of Metamach Solutions, -an Atlanta-based technology-management consultancy, has recently launched -WinedIn.com for wine-lovers to pair food and wine. -

- -

- Christoph Wilhelms (christoph.wilhelms at t-online.de) -
-Christoph works as software engineer at the world's biggest travel company -TUI. His passion are all UI related things so -at the Ant-Project he takes care of Antidote - the Ant GUI. -

-

- Kevin Jackson (foamdino at gmail.com)
-

- -
- - -

- James Duncan Davidson (duncan at x180.net - http://x180.net/) -
- -By day, Duncan works in the Open Source Program Office at Sun -Microsystems where he helps various Open Source efforts within Sun -"do the right thing". Previously at Sun he was responsible -for the Servlet API Specifications 2.1 and 2.2 as well as the Java API -for XML Parsing 1.0 and was the original author of Tomcat and Ant. He -was one of the rabble-rousers within Sun that helped make the Jakarta -Project a reality and served as the first Chairman of the Jakarta PMC. -

- -

- Diane Holt
-

- -

- Donald Leslie
-

- -

- Costin Monolache
-

- -

- Jon Skeet
-

- -
- -
-
- - - -

- Steve Cohen -

- -

- Jose Alberto Fernandez -

- -

- Jesse Glick (jesse dot glick at sun dot com) -
-Jesse has been using Java since 1998 and joined Sun Microsystems as -part of the company that produced the NetBeans IDE. After discovering -Ant in the 1.2 days, he wrote most of NetBeans' Ant integration. -Recently he has worked on the NetBeans 4.0 project system, based heavily -on Ant as a build tool. -

-

- Jon Schneider -

-

- Alexey Solofnenko (trelony at gmail.com)
-

- -
- -

- Preston Bannister
-

- -

- Nick Davis
-

- -

- Darrell DeBoer
-

- -

- Peter Donald (peter at apache.org) -
- -Peter is an avid java developer who is active in the -Avalon and -Ant projects. -In his spare time he develops a distributed virtual environment -(ie military simulator or 3D game) using java technologies. -

- -

- Danno Ferrin (shemnon at yahoo.com) -
-Danno has been programming in Java since Summer 96. Danno wrote a JSP -engine on his own and released it the very same day Jakarta was -announced at JavaOne. Since then, he decided to join the Jakarta -project in a spirit of co-operation over competition. -

- -

- Simeon H.K. Fitch (simeon.fitch at mseedsoft.com) -
-Simeon is owner of Mustard Seed Software, which specializes in developing -distributed applications and user interfaces for the science, engineering, -and research oriented clients. He is the lead architect and developer for -Antidote, the GUI for Ant. -

- -

- Thomas Haas (tha at whitestein.com) -
-Tom is interested in distributed systems, Java middleware and worked on an -implementation of the JMS specification. At Whitestein Technologies he is -working on bringing software agent technology and J2EE together. -

- -

- - Jason Hunter (jh at servlets.com) -
-Jason is author of "Java Servlet Programming" (O'Reilly) and publisher -of http://www.servlets.com/. -He works at CollabNet. -

- -

- Justyna Horwat (horwat at apache.org) -
-

- -

- Arun Jamwal -
-

- -

- Arnout J. Kuiper (ajkuiper at planet.nl) -
- -Arnout J. Kuiper is a Java Architect with the Sun Java Center at Sun -Microsystems. His main focus is web-related technologies on the Java -platform (J2EE, XML, ...). -

- -

- Stefano Mazzocchi (stefano at apache.org) -
-Stefano is addicted to software design, Java programming and -open development. In the last 4 years, he has contributed way too much -time to Apache, expecially on JServ, JMeter, Avalon, JAMES, Ant, Cocoon -and helping to bring more projects into Apache-land, such as FOP, Batik, -POI and Xindice. The problem is that he's too picky to be satisfied :-) -

- -

- Glenn McAllister (glenn at somanetworks.com) -
-Glenn McAllister is a software developer at SOMA Networks, was formerly -the same at IBM (plus tech writer plus build guy), and does some writing -on the side for the VADD Technical Journal. -

- -

- Craig McClanahan (Craig.McClanahan at eng.sun.com) -
-Craig was involved in the Apache JServ project, focused on implementing -a next generation architecture and feature set for the core servlet -engine. He has recently joined Sun as technical lead for the servlet -and JSP reference implementation. -

- -

- Adam Murdoch -
-

- -

- Harish Prabhandham (harishp at onebox.com) -
-Harish is an engineer with the J2EE team at Sun, primarily responsible -for implementing security in the J2EE Reference Implementation -(RI). He integrated various technologies including servlet/JSP -implementations from Tomcat into the J2EE RI. These days, he hacks PHP -code during the day. -

- -

- Nico Seessle
-

- -

- Gal Shachor (shachor at il.ibm.com) -
-Gal Shachor is a research staff member at IBM. He wrote his first -Servlet container (ServletExpress) at the beginning of 1997. Later on -ServletExpress (and Gal) merged into WebSphere, and Gal participated -in the development of WebSphere 1, 2 and 3. -

- -

- Jon S. Stevens (jon at collab.net) -
- -Jon is a Co-Founder of Clear Ink -Corp and recently left to work on Scarab a next generation Open -Source Java Servlet based Issue/Bug tracking system for CollabNet. He is an active developer -of the Apache JServ Servlet -Engine for the Apache Web Server and Co-Author of the Element Construction Set as -well as the web application framework, Turbine. -

- -

- Jesse Stockall
-

- -

- James Todd (jwtodd at pacbell.net) -
-James has developed real time customer oriented apps for roughly 10 -years the last 5 of which have predominately been fully integrated, -front and back, extraNet implementations which have been based on -Apache, Java and Tcl. -

- -

- Anil Vijendran (akv at eng.sun.com) -
-Anil Vijendran is the principal developer of the JSP engine in -Tomcat. He's done some pretty scary things in his past life -- -implementing the CORBA IDL to C++ 2.0 mapping, skydiving, IDL to Java -compilers, Object Databases (SIGSEV, you da man!) for C++, Java ORB -and EJB runtime environments -- in that order. -

- -
-
- -
-

Ant's logo is the result of a logo contest, it has been - designed by

- -

- Nick King -
-

-
- -
diff --git a/xdocs/external.xml b/xdocs/external.xml deleted file mode 100644 index 50723dda88..0000000000 --- a/xdocs/external.xml +++ /dev/null @@ -1,4096 +0,0 @@ - - - - - - External Tools and Tasks - - - - - -
- -

This page lists external resources for Apache Ant: Tasks, Compiler Implementations, - IDE integration - tools, Source Control - Systems, Loggers, you name it. If you've written - something that should be included, please post all relevant - information to one of the mailing lists. For details, see the - FAQ.

- -

Nothing listed here is directly supported by the Ant - developers (therefore 'external tools and tasks'), - if you encounter any problems with them, please use - the contact information.

- -
- -
- - -

AspectJ is an - aspect-oriented extension to Java. This task compiles a - source tree using the AspectJ compiler -- AJC.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3
URL:http://www.eclipse.org/aspectj/
Contact:project mailing lists
License:Eclipse Public License
-
- - - -

Actually, Anakia is more than just an Ant task, it is a an - XML transformation tool based on JDOM, Velocity and Ant.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and later
URL:http://velocity.apache.org/anakia/devel/
Contact:Velocity mailing lists
License:Apache License 2.0
-
- - - -

Andariel is a set of tasks designed to help the generation of HTML - (and other markup languages) pages from Ant. Includes a XPath processor, - an image information retriever, and others.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.4 and newer
URL:http://andariel.uworks.net/
Contact:josep DOT rio AT uworks DOT net
License:Apache Software License 1.1
-
- - - -

ant4eclipse provides a set of Ant tasks to make several - configurations from the Eclipse IDE available in Ant - buildscripts. The tasks are aimed to avoid redundancy between - Eclipse and Ant configurations in order to build small but - powerful build systems for the continuous integration - process

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.1 and higher
URL:http://ant4eclipse.sf.net
Contact: - ant4eclipse user mailing list -
License:Sun Public License
-
- - -

Antcount is a set of filters that can be used to gather statistics - from files or resources. It is mainly used for log files analysis. - It allows to:

    -
  • count inputs (lines, strings)
  • -
  • count occurrences of each input
  • -
  • calculate average, max and min values of floats in input
  • -
- Antcount also includes some useful filters to:
    -
  • stop filtering: read everything but write nothing
  • -
  • echo input to the console or to a file. This allows users to create - several files at once
  • -
  • split the stream in two for parallel processing
  • -
-

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.2 and higher
URL:http://antcount.sourceforge.net/
Contact:Patrick Martin
License:LGPL
-
- - - -

AntDoc is a tool that generates HTML documentation from Ant - buildfiles; the generated HTML is inspired from what javadoc - yields. AntDocGUI offers a simple Ant target launcher named - AntDoc GUI. Ant targets may be launched from the generated - AntDoc HTML pages. Integration to various IDEs is in - progress.

- -

AntDoc can be run via an Ant task, AntDoc GUI can be run - via an Ant task, or via a JVM launch.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 and higher
URL:http://antdoc.free.fr/
Contact:Edouard Mercier
License:Apache Software License 1.1
-
- - - -

AntDoclet is a tool to automatically generate documentation out of - your Ant Tasks' source code.

- -

It is implemented as a Javadoc doclet, and generates reference - documentation and other deliverables from the source code of your - custom Ant Tasks/Types.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6+ (not tested on earlier versions)
URL:http://antdoclet.neuroning.com/
Contact:Fernando Dobladez
License:GPL
-
- - - -

Anteater is a set of Ant tasks for the functional testing of websites - and web services (functional testing being; hit a URL and ensure the - response meets certain criteria). Can test HTTP params, response - codes, XPath, regexp and Relax NG expressions. Includes HTML reporting - (based on junitreport) and a hierarchical grouping system for quickly - configuring large test scripts. -

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://aft.sourceforge.net/
Contact:developer - mailing list
License:Apache Software License 1.1
-
- - - -

Provides a java/swing form-based input scheme for - configuring ant properties and launching ant targets.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.2.
URL:http://antforms.sourceforge.net/
Contact:René Ghosh
License:GNU General Public License
-
- - -

Provides simple inheritance between ant files

-

As noted on the website, this project is deprected.

- - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.5. Should work with all versions.
URL:http://www.russet.org.uk/antmerge.html
Contact:Phillip Lord
License:GNU Lesser General Public License
-
- - - -

Antomology is an analysis tool suite for Ant. It includes:

    -
  • StatisticsListener - an Ant BuildListener which can be used to gather - statistics while an Ant build is executed. Statistics on the targets - and tasks executed are written to the console after the build completes.
  • -

- - - - - - - - - - - - - - - - - - -
Compatibility: unknown
URL:http://antomology.codehaus.org
Contact:contact page
License:Apache License V2.0
-
- - - -

- Ant Pretty Build is a tool to easily show and run Ant buildfiles directly from - within a browser window. It consists of a single XSL file that will generate, - on the fly, in the browser, from the .xml buildfile, a pretty interface showing - project name, description, properties and targets, etc. sorted or unsorted, - allowing to load/modify/add properties, run the whole project, or run selected - set of targets in a specific order, with the ability to modify logger/logfile, - mode and add more libs or command line arguments. -

- - - - - - - - - - - - - - - - - -
Compatibility:All Ant versions
URL:Ant Pretty Build Homepage
Contact:Charbel BITAR
License:Apache License V2.0
-
- - -

AntRunner is an easy to use and free GUI application for running - Ant build files. It's written for .NET so it should run on any Windows - Platform.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and newer
URL:http://visualdrugs.net/antrunner/
Contact:Andre Fiedler
License:GPL
-
- - - -

AntSpaces provides Ant integration with JavaSpaces. This - allows you to coordinate Ant tasks via JavaSpaces, pull out - work units from a JavaSpace for distributed Ant tasks to work - on, and so forth.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL: - http://www.oopsconsultancy.com/software/antspaces/ -
Contact:antspaces at oopsconsultancy.com
License:Apache Software License 1.1
-
- - -

Timer - is task for measuring the time elapsed to complete other - tasks

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6
URL: - http://www.jeckle.de/freeStuff/AntTimerTask/index.html -
Contact:mario@jeckle.de
License:Lesser GNU Public License
-
- - - -

Ant Web Start Task is an Ant task allowing developers to - package a desktop application as a WAR (Web Application - Archive) to be distributed over the net via Java Web Start

- - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and above
URL:http://ant-jnlp-war.sourceforge.net/
License:Apache License 2.0
-
- - - -

A collection of powerful Ant extensions components - organized into five categories: fixture-control, - execution-rules, flow-control, feedback, and helpers.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5
URL:AntXtras Home
Contact:SSMC
License:GNU Lesser General Public License (LGPL 2.1)
-
- - - -

Build Number is a tool to track software artifacts such as files and automatically assign - proper version/build numbers to them. It ensures that two different artifacts will have different - version/build numbers, but identical artifacts/builds will be assigned the same number. It doesn't - take version management away from you and doesn't replace your build process, but rather plugs - into the process and introduces version/build number governance by defining who is in charge of - which part of version number. With Build Number you are still in charge of the head of the version - number. E.g. you may decide to have 4 numbers in your version (major, minor, interface, implementation) - and you want to manage the two first numbers (major and minor). Build Number will take care of the - tedium of managing the last two numbers (interface and implementation).

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with Ant 1.5.4 and 1.6.5
URL:http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/build-number/
Contact:Project Contact Page
License:Commercial
-
- - - -

Checkstyle is a development tool to help programmers write - Java code that adheres to a coding standard. Its purpose is to - automate the process of checking Java code, and to spare - humans of this boring (but important) task.

- -

Checkstyle can be run via an Ant task or a command line - utility.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 and later
URL:http://checkstyle.sourceforge.net/
Contact:Oliver Burn
License:Starting with release 2.0 the license is the GNU - Lesser General Public License. Prior releases were under - the GNU General Public License.
-
- - - -

ChownTask is an Ant task to change ownership of files on Unix.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 16 2003. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3 and up
URL: - http://sourceforge.net/projects/chowntask/ -
Contact:Wilfred Springer -
License:GNU General Public License
-
- - -

Removes unneeded imports. Formats your import - sections. Flags ambiguous imports.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3 and up
URL:http://www.cleanimports.tombrus.nl
Contact:Tom Brus
License:Apache Software License 1.1
-
- - - -

Clover is an Ant-based Code Coverage tool. It can be used - seamlessly with Ant-based projects. It provides method, - statement, and branch coverage analysis, and has rich - reporting in XML, HTML or via a Swing GUI.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 or greater
URL:http://www.cenqua.com/clover/
Contact:clover-support@cenqua.com
License:Commercial, free licenses available for open source - projects.
-
- - - -

CMSDeploy is - an Apache Ant Task to submit files and templates to Vignette - CMS.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1 and later
URL:http://cmsdeploy.sourceforge.net
Contact:masogato@users.sourceforge.net
License:GNU Lesser General Public License
-
- - -

This task allows the generation of static web pages and - sites using Apache Cocoon in off-line mode.

-

It allows the configuration information for Cocoon to be - included within the Ant build file, and is thus - able to take advantage of Ant properties.

-

The task shares its code with the Cocoon Command Line, which - means that this task will instantly take - advantage of any new functionality added there.

- - - - - - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.3 and above
URL:http://cocoon.apache.org
Documentation:http://cocoon.apache.org/2.1/userdocs/offline/ant.html
Contact:users at cocoon.apache.org
License:Apache License 2.0
-
- - -

A set of Ant task that help convert Apache Commons - Configuration property files into build properties, java Enum's - (that are populated at runtime), and any exportable property / - env file desired (e.g., csh, bash, bat, etc.).

- -

This project provides the following tasks: -

    -
  • CreateEnumTask: Creates a Java enum based on - commons configuration property files.
  • -
  • ExportPropertiesTask: Exports commons - configuration properties to a external file in a using a - specified format.
  • -
  • LoadPropertiesTask: Loads commons configuration - properties into pre-generated Java enum.
  • -
-

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and above
URL:http://code.google.com/p/commonsconfiganttask/
Contact:ndunn at me.com
License:Apache License 2.0
-
- - - -

Recursive build support (call ant on every package level, - and only build files in that package or in that package and - everything below) with seperation of source and output.

- -

The task generates build files in any subdirectory (except - for CVS-directories) for you. Only place one build.xml file in - the top and call target 'setup' or - 'rescan'.

- -

As of 2009-03-06 this site was offline due database problems. So we do not know - if this still longer exist. But you could also try Ants own <subant> task.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and 1.3
URL:http://www.dsdelft.nl/~lemval/ant/
Contact:M.J.P. van Leeuwen
License:License derived from Apache Software License 1.1
-
- - - -

A little CVS client that can be useful when people are - behind corporate firewall that blocks any cvs - communications. It uses the ViewCVS web interface to access - the CVS repository via standard http, and downloads all the - files present in it.

- -

It works from the command line or as an Ant task.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3 or higher
URL:http://cvsgrab.sourceforge.net/
Contact:CVSGrab - user mailing list
License:LGPL
-
- - -

The dependencies task manages a set of external dependencies which - may be downloaded from a remote repository, - such as ibiblio.org. Uses a local cache to avoid repeated - downloads.

- -

Note: While the HttpUnit site is still active, the referenced URL is not available. - You could also try Ivy.

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.5.1, should work with 1.4+.
URL:http://www.httpunit.org/doc/dependencies.html
Contact:Russell Gold
License:MIT License
-
- - -

Dependency Finder extracts dependencies and OO metrics from - Java class files produced by most Java compilers. It can compute - API differences between versions; no sources needed. It includes - Ant tasks, web, Swing, and command-line interfaces, with XSL - stylesheets for formatting output.

- -

You can use it to extract dependencies between packages, classes, - or even methods, or any combination thereof. You can use Perl - regular expressions to filter the information and pinpoint only - what you need. There is even a Web Application version (WAR file) - so a whole group of developers can share a common view.

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.5.3, should work with 1.4+.
URL:http://depfind.sourceforge.net/
Contact:Jean Tessier
License:BSD-like License
-
- - - - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://ant-doxygen.blogspot.com
Contact:Karthik A Kumar
License:Apache License 2.0
-
- - -

DTDDoc is here to help you to document your DTD's efficiently. It is a - straightforward extension of the javadoc concept to the DTD file format.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL:http://dtddoc.sourceforge.net/
Contact:Project Mailing List
License:X11 (Open Source)
-
- - -

dtAnt allows integrating automated performance analysis - into your ant builds. This way you can easily record performance metrics - of your tests and get alerts to performance regressions.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and higher
URL:http://www.dynatrace.com/antTask
Contact:dynaTrace Support
License:dynaTrace BSD
-
- - -

- EnvGen is an Ant task for generating - different versions of the same file parameterized for different environments (i.e. - development, test, and production). File generation is done using - FreeMarker, a template engine with a full-featured - templating language. -

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5 or higher (not tested on earlier versions)
URL:http://www.basilv.com/software
Contact:EnvGen Feedback Page
License:GPL
-
- - -

EMMA is an open-source toolkit for measuring and reporting - Java code coverage. EMMA distinguishes itself from other tools - by going after a unique feature combination: support large-scale - enterprise software development while keeping individual developers - work fast and iterative at the same time.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL:http://emma.sourceforge.net/
Contact:Mailinglist
License:Common Public License 1.0
-
- - -

EPP Task is an easy preprocessor ant task. - The next directives are supported: #ifdef, #ifndef, #else, - #endif and #include.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and higher
URL: - http://sourceforge.net/projects/epptask/
Contact:Dmitriy Rykov
License:Apache License 2.0
-
- - -

FMPP is a general-purpose text file preprocessor tool that - uses FreeMarker templates. It is particularly designed for - HTML preprocessor, for the generation of complete (static) - homepages: directory structure that contains HTML-s, image - files, etc. But of course it can be used to generate source - code or whatever text files. FMPP is extendable with Java - classes to pull data from any data sources (XML file, - database, etc.) and embed the data into the generated - files.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1
URL:http://fmpp.sourceforge.net/
License:BSD License
-
- - -

Builds a JAR file based on class dependencies rather than simply the contents of a directory

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 alpha (built after 2001/08/04) and later
URL:http://genjar.sourceforge.net/
Contact:Jesse Stockall
License:Apache Software License 1.1
-
- - -

Grand is a set of tools to create a visual representation of Ant target - dependencies. It works by taking an Ant build file and creating a "dot" file. It - differs from the existing tools by relying on the Ant API rather than XML parsing to - get the dependencies. It includes many advanced features such as filtering or - rendering depending on the target's nature. Also features a SWT based GUI.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and later
URL:http://www.ggtools.net/grand/
Contact:Christophe Labouisse
License:BSD License
-
- - - -

Greebo is an Ant-task for downloading dependency files - (currently only jars) from a network to a specified directory, - much like Maven. It supports multiple local and remote - repositories with either flat or maven-like structures. It can - read the dependency list from a Maven project file, a - maven-like dependency file, or directly from the build.xml - file.

- -

Note: As the Sourceforge project site - shows, the last update was on Mar 12 2003 . - You could also try Ivy. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://greebo.sourceforge.net/
Contact:project mailing lists
License:Apache Software License 1.1
-
- - - -

The CodeCoverage sub-project of GroboUtils provides a 100% - pure Java code coverage tool. It uses pre-execution class file - recompilation, and generates XML files containing the coverage - statistics. It does not require any advanced VM setup to generate - coverage numbers. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1
URL:http://groboutils.sourceforge.net/codecoverage/
Contact:project mailing lists
License:MIT License
-
- - -

Java code review tool. Performs automated code - review. Contains 111 inspectors which check different aspects - of code quality including coding standards, EJB, threading, - ...

- - - - - - - - - - - - - - - - - -
Compatibility:Tested with Ant 1.5.x and 1.6.5
URL:http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/hammurapi/index.html
Contact:Support adress
License:
-
- - -

This task allows for HelpStudio projects to be created via Ant.

- - - - - - - - - - - - - -
Compatibility:Ant 1.6.0 and later
URL:http://helpstudioant.sourceforge.net
License:GNU General Public License
-
- - -

idldepend is a task that (re)generates Java sources to be - created from CORBA/IDL files.

- -

It parses the IDL file and determines the Java files that - must be generated, taking in account the modifications that - can happen due to command line parameters. If any of the Java - files are missing or older than the source IDL specification, - it launches the specified compiler. The compilers of Orbacus, - Jacorb, OpenORB, Orbix2k and Sun'JDK distributions are - supported.

- -

To speed up the process and avoid unnecesary re-parsing, it - keeps the dependencies in intermediate files. This task does - not launch the javac compiler as well, that is, its output are - Java files and not the final bytecode.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 or later
URL:http://www.coderazzi.net/idldepend/
Contact:lu@coderazzi.net
License:free source, no license restrictions
-
- - -

Removes unnecessary import statements from a Java source code file.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3
URL:http://importscrubber.sourceforge.net/
Contact:Tom Copeland
License:LGPL
-
- - - -

ImTask is a task to allow one to send an Instant - Message. Currently supports yahoo!, AIM, and Jabber

- - - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 or higher
URL:http://imtask.sourceforge.net
Contact:Jon Madison
License:GNU LGPL
-
- - - -

Ant tasks to provide support for Oracle database tools - (such as SQL*Plus, Import, Export)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6
URL:http://incanto.sourceforge.net/
Contact:Alexander Karnstedt
License:Apache License, Version 2.0
-
- - - -

Checks whether a given directory structure conforms to - certain rules that are defined via nested elements of the - task.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://isvalidator.sourceforge.net/en/isDirValidator.htm
Contact:Iñigo Serrano
License:GNU General Public License
-
- - - -

Ivy is a simple yet powerful dependency manager featuring - continuous integration, dependencies of dependencies - management, multiple repositories including ibiblio and high - performance (use of a local cache).

- - - - - - - - - - - - - - - - - - -
Compatibility:1.5.1 (1.6.5 or 1.7.1 recommended)
URL:http://ant.apache.org/ivy/
Contact:ivy-user (at) ant (dot) apache (dot) org [User Mailinglist]
License:Apache License 2.0
-
- - - -

There are different sets of tasks to help build Java 2 Platform, Micro - Edition (J2ME) applications.

- - -

Antenna provides a set of Ant tasks suitable for developing - wireless Java applications targeted at the Mobile Information - Device Profile (MIDP). With Antenna, you can compile, - preverify, package, obfuscate, and run your MIDP applications - (aka MIDlets), manipulate Java Application Descriptor (JAD) - files, as well as convert JAR files to PRC files designed to - run on MIDP for Palm OS. Deployment is supported via a - deployment task and a corresponding HTTP servlet for - Over-the-Air (OTA) provisioning. A small preprocessor allows - to generate different variants of a MIDlet from a single - source.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 or later
URL:http://antenna.sourceforge.net/
Contact:Jörg Pleumann
License:GNU Lesser General Public License
-
- - -

Antic is a freely available task for packaging J2ME - applications. It produces both the Jar and Jad files in a - single step. This allows *all* entries to be correclty set in - the jad file, including the size of the jar file that is - produced. This task has been used and tested extensively with - Sun's Wireless Toolkit and also the Nokia SDK and - emulators.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://www.smartkey.co.uk/tools/antic/antic.html -
Contact:smartkey.co.uk
License:GNU General Public License
-
- - -

This set supports CLDC and the K Virtual Machine (KVM):

-

Note: As the website shows the 'most recent news' is from 18 Apr 2001

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3
URL:http://www.dribin.org/dave/j2me_ant/
Contact:Dave Dribin
License:Apache Software License 1.1
-
- - -

J2ME Polish is an Ant-based tool for the creation of - MIDP applications. It covers the whole circle of preprocessing, compiling, - obfuscation, preverifying, packaging and JAD-creation. J2ME Polish is - ideal for creating device optimized applications with its powerful - preprocessing capabilities and the integrated device database. - With J2ME Polish no hardcoded values are needed and the portability of an - application is not sacrificed, even though highly optimized applications are - created from a single source. -
- It contains a logging framework and an optional MIDP-compatible GUI - which can be designed using the web-standard CSS. With the J2ME Polish GUI - you can even use MIDP/2.0 features on MIDP/1.0 phones. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 or later
URL:http://www.j2mepolish.org/
Contact:Enough Software
License:GNU General Public License; commercial licenses available
-
- - -

And this set works with the J2ME Wireless Toolkit and MIDP - for PalmOS.

-

Note: as the website shows, the 'current release' is from 11/5/2001

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3
URL:http://www.jeckels.com/ant/
Contact:Josh Eckels
License:MIT License
-
-
- - - -

Jacson is a configurable and plugable tool (much like Ant - itself) to create filters for text (line based) files without - programming.

- - - - - - - - - - - - - - - - - - -
Compatibility:Jacson has been used and tested with 1.5.1, should - work with 1.4+
URL:http://jacson.sourceforge.net/
Contact:jacson-user@lists.sourceforge.de
License:GNU Library or Lesser General Public License
-
- - - -

An Ant Plug-in for the Java Source Code Formatter - Jalopy.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 (or higher)
URL:http://jalopy.sourceforge.net/
Contact:http://jalopy.sf.net/contact.html
License:Starting with release 1.0 Beta 6 the license is the - BSD License. Prior releases were under the GNU General - Public License.
-
- - - -

JarBundler is a task that generates Mac OS X native Java - Application Bundles. It is fully configurable and can be used - to generate Mac OS X application bundles from any supported - Java platform, making it ideal for targeting multiple - platforms with one build.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL:http://www.loomcom.com/jarbundler/
Contact:Seth Morabito
License:GNU General Public License
-
- - - -

JarPatch is a task that generates a zip file resulting of - the diff between the content of 2 jar files.

- -

The resulting diff file can be use as a patch for a - previous installation (just ensure that the generated - patch.zip file is located on the CLASSPATH before the patched - oldJar jar file).

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://norb.dnsalias.org/ant/
Contact:Norbert Barbosa
License:LGPL License
-
- - - -

Java+ is an open source Java preprocessor that adds these - features to any Java compiler:

- -
    -
  • Multi-line strings with executable inclusions like Perl - and Ruby. It eliminates the need for JSP or ASP and their - need for Java compilers on deployment servers (a security - concern) while adding no overhead in either space or - time.
  • - -
  • Optionally supports localization by segregating Java+ - strings into ResourceBundle files with invarient keys based - on the hash code of the strings's value. This is handled - automatically and transparently; no intervention is - required.
  • - -
  • Fast. Negligible impact on build times. By default, - skips inputs whose outputs are up to date to avoid - triggering recompilations.
  • - -
  • Pure Java code, portable to any platform, with - graphical, shell and ant interfaces.
  • - -
  • Simple, general, recursive, digraph-driven string - syntax. Digraph characters are user-selectable.
  • -
- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1
URL:http://virtualschool.edu/java+/
Contact:Brad Cox
License:BSD-like License
-
- - - -

There are two different tools both named Java2HTML that - process Java source code and generate syntax highlighted - documentation from it. Both include Ant tasks to run - them.

- -

Java2Html library for converting java source files - or snipplets to syntax highlighted html, rtf, tex and - others.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://www.java2html.de/
Contact:java2html@jave.de
License:GNU General Public License
- -

Java2HTML is a simple-to-use tool which converts a bunch of - Java Source Code into a colourized and browsable HTML - representation.

- - - - - - - - - - - - - - - - - - -
Compatibility:1.5.1 onwards
URL:http://www.java2html.com/java2html_ant_task.html
Contact:support@java2html.com
License:FreeWare
- -
- - - -

A task to compile Java sources and manage class file - dependencies. Functionality is equivalent to that of standard - Javac and Depend tasks combined, with improved dependency - checking.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1
URL:http://www.experimentalstuff.com/Technologies/JavaMake/index.html
Contact:Mikhail Dmitriev
License:BSD-like License
-
- - - -

Ant tasks that generate record classes for VisualAge for - Java from Cobol copy books.

-

Note: the website shows that the latest version 1.1 is from December 2, 2001

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://glezen.org/javarec/
Contact:Paul Glezen
License:Apache Software License 1.1
-
- - - -

JCSC is a Java Coding Standard Checker which also features - the generation of some code metrics. It is a command line tool - with an Ant task to scan whole package trees. The result can - viewed in an JavaDoc style web page.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant >= 1.5
URL:http://jcsc.sourceforge.net/
Contact:Ralph Jocham
License:GNU General Public License
-
- - - -

JDeb provides an Ant task and a Maven plugin to create - Debian packages from Java builds in a truly cross platform - manner. Build your Debian packages on any platform that has - Java support. Windows, Linux - it does not require - additional native tools installed.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7 (not tested on earlier versions)
URL:http://vafer.org/projects/jdeb/
Contact:Torsten Curdt
License:Apache License 2.0
-
- - - -

A task that generates an HTML report of all the packages, classes, - constructors, methods, and fields which have been removed, added or - changed in any way, including their documentation, when two APIs are - compared.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6
URL: - - http://javadiff.sourceforge.net/
Task Documentation: - - (in CVS)
License:LGPL
-
- - - -

JFlex is a lexical analyzer generator (also known as - scanner generator) for Java, written in Java.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://jflex.de/
Contact:jflex-users mailing list
License:GNU General Public License (GPL)
-
- - - -

JindentTask is a very straightforward wrapping of the - Jindent tool, a vendor code beautifier. It enables to use - Jindent natively from Ant.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 and higher
URL:http://the.edouard.mercier.free.fr/Jindent_content.php
Contact:Edouard Mercier
-
- - - -

Validates XML files against the RELAX NG alternative to XML Schema. - The Jing task for Ant allows you to efficiently validate - multiple files against multiple RELAX NG patterns and integrate - RELAX NG validation with other XML processing.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL: - http://www.thaiopensource.com/relaxng/jing-ant.html
License:BSD-like
-
- - - -

jMetra is a tool for collecting code metrics across a - project lifecycle and compiling the results into - JavaDoc-styled documentation to analyze project metrics over - time. jMetra is best utilized by integrating it with your - project's scheduled build process.

- -

It works from the command line or using several provided - Ant tasks.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and higher
URL: - http://www.jmetra.com/ -
Contact: - R Todd Newton - -
License:Commercial, free licenses for open source projects and - evaluations.
-
- - - -

JMX4Ant provides tasks for integration with JMX (Java Management - Extensions). It provides tasks for getting and setting attributes - of MBeans, invoking their methods and much more.

-

Note: As the Sourceforge project site - shows, the last update was on May 28 2003. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and higher
URL: - http://jmx4ant.sourceforge.net/ -
Contact: - Brian Dueck -
License:Apache Software License 1.1
-
- - - -

- - JNI is a free toolkit that makes easy work of - integrating Java and C through the Java Native - Interface (JNI). It includes a code generator that - generates both Java "proxy" classes to access C - "peer" classes, and C "proxy" classes to access - Java "peer" classes or interfaces. It also - includes a core library with a simplified JVM - interface as well as "helper" classes to ease - working with the JNI data types. The code - generation is driven by an XML project file that - can be created with the assistance of the GUI - Project Manager. The code generation can be - invoked either from Ant or from the - GUI. Includes a comprehensive printable PDF User - Guide and plenty of examples.

- -

Note: As the Sourceforge project site - shows, the last update was on Jan 29 2002. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://jnipp.sf.net/
Contact:Phillip E. Trewhella
License:GNU LGPL
-
- - -

- JPP is a preprocessor for Ant supporting - many different file types that allows you to include / exclude contents based on - build-time parameters. It is completely invisible to other tools and takes the hassle - out of maintaining customised code or content. It is free, is provided as an Ant task, - and very simple to use. -

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5
URL:http://www.javapreprocessor.com
Contact:info@javapreprocessor.com
License:Freeware
-
- - -

Sometimes you are interested at runtime to have information - from build time. This may be the build date, a build number or - the version. The JReleaseInfo Ant Task generates a java - source file with getter methods for any desired and provided - properties. Furthermore, it can automatically generate a - viewer (which can e.g. be used as main-class in a library jar - file) that shows the included release information.

- -

Note: As the Sourceforge project site - shows, the last update was on Aug 07 2005. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and later
URL:HomePage on SourceForge
Contact:Forums/Tracker on SourceForge
License:Apache License 2.0
-
- - - -

JRun 4 SP1 ships with lib/jrun-ant-tasks.jar, which defines - three Ant tasks: jrun, jrunapp, and jrunjmx. Documentation - for the tasks can be found in JRun under - docs/ant/jrun.html.

- -

Note that the service pack must be installed on top of an - existing JRun 4 installation.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.4 or higher
URL:http://www.adobe.com/products/jrun/
License:Commercial
-
- - - -

JsDoc Toolkit is an application, written in JavaScript, for - automatically generating template-formatted, multi-page HTML - (or XML, JSON, or any other text-based) documentation from - commented JavaScript source code.

- -

This project is a simple wrapper around the JsDoc Toolkit - documentation program. It gives the user all the command - line options, with the flexibility of using in within an Ant - build file.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7.0 or higher
URL:http://code.google.com/p/jsdoc-toolkit-ant-task/
Contact:Darren Hurley
License:Apache License 2.0
-
- - - -

The JSMin Ant task can be used for the automated minification of javascript files - in your build and deploy processes.

-

JSMin is a filter which removes comments and unnecessary whitespace from javascript - files. It typically reduces filesize by half, resulting in faster downloads.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5 or higher
URL:http://code.google.com/p/jsmin-ant-task/
Contact:M. Haynes
License:Apache License 2.0
-
- - - -

The <judoscript> task is an easy way to embed JudoScript - code in the Ant build script. The tag format is quite simple. You can - either embed code directly, or can specify an external JudoScript program - file as the src attribute value. Parameters can be specified - as the params attribute; this is applicable to both embedded - code and external files. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 or higher
URL:http://www.judoscript.org/books/judoscript-0.9/chapters/ant.html
Contact:James Jianbo Huang
License:Lesser GNU Public License
-
- - - -

Just4log is a ant task to optimize JVM bytecode with regards - for Logs ( be it, Log4j, Apache Commons or JDK 1.4 ) - It depends on apache BCEL for Bytecode engineering.

- -

Note: As the Sourceforge project site - shows, the last update was on Oct 19 2003. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.2 or higher
URL:http://just4log.sourceforge.net
Contact:Lucas Bruand
License:Apache License 1.1.
-
- - - -

Kanaputs is a parser for java based scripting. It is an - interpreter for Java. With Kanaputs you can use Java as an - interpreted language: no more compilation, each instruction is - executed when you write it. It is a small programmation - language to make script files above Java.

- -

Kanaputs Ant Task provides a way to add any kind of - programmatic features in your Ant script. The code you insert - stays OS independent (because Kanaputs uses Java) and is - completely integrated with Ant as you can give Ant properties - to the Kanaputs code and get back the results in other - properties.

- -

Moreover, as you can invoke any kind of Java code with - Kanaputs, you can popup windows from your Ant file to ask the - user to do a choice.

- -

Note: the website - shows that the latest version 1.4 is from Nov 26, 2004. The mailing archive from - the last few months contains only spam...

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and above
URL: - https://kanaputs.dev.java.net//
- https://kanaputs.dev.java.net/ant.pdf -
Contact: - kfra@dev.java.net -
License:Freeware
-
- - - -

Simple Task to use (PDF)LaTeX, BibTeX, Makeindex and GlossTeX to - create your documentation.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.2 and above
URL: - http://www.dokutransdata.de/
- http://www.dokutransdata.de/ant_latex/ -
Contact: - jaloma@dokutransdata.de -
License:Freeware
-
- - - -

A build-time architectural testing tool, designed - to maintain clean layering / tiering / modularity. - Macker works against compiled class files, checking - dependencies between classes against a set of - pattern-based access rules you specify for your - project in an XML rules file. Macker doesn't presume - anything about your architecture -- you write the - rules, and Macker keeps you honest about them.

- -

Note: As the Sourceforge project site - shows, the last update was on Nov 02 2003. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and higher (1.4 untested but may work)
URL:http://innig.net/macker/
Contact:Paul Cantrell
License:GNU GPL 2.0
-
- - - -

MakeRunScript creates a run script for your application. Even if you are developing on windows, - you can make a run script for *nix and vice versa. If you've used the built-in java task before, you - already know how to use 90% of MakeRunScript.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7 and higher
URL:http://sourceforge.net/projects/makerunscript/
Contact:MakeRunScript forums
License:Apache 2.0
-
- - - -

The mtxslt (Multi-XSLT) extends the standard Ant "xslt/style" task - to make it easy to use multiple XSLT engines during the same build. - This is useful for regression testing of XSLT scripts against several - engines.

- -

Note: As the Sourceforge project site - shows, the last update was on Oct 16 2002. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://mtxslt.sourceforge.net/
Contact:Anthony B. Coates
License:Apache Software License 1.1
-
- - - -

Simple Task to use nsd2ltx to build your Nassi-Shneiderman diagrams.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.2 and above
URL: - http://www.dokutransdata.de/
- http://www.dokutransdata.de/ant_nsd2ltx/ -
Contact: - jaloma@dokutransdata.de -
License:Freeware
-
- - - -

The Nurflugel AntScript Visualizer takes your build file, - finds any imported build files, and shows all relationships - between targets, taskdefs, macrodefs, Ant and Antcalls; output - options include PDF, SVG, and PNG. Many options including - grouping by build file, inclusion/exclusion of targets, - taskdefs, imports, etc. Installation is via Java WebStart, so - you'll always have the freshest version available.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.1 and later
URL:http://www.nurflugel.com/webstart/AntScriptVisualizer/
Contact:dbullard <at> nurflugel <dot> com (email - will receive a challenge to weed out spam)
License:GNU General Public License
-
- - - -

Orangevolt ANT Tasks is a collection of Tasks for Apache - Ant.

- -

The Orangevolt Ant Tasks collections provides a bunch of - Appplication Deployment related Tasks from windows specific - tasks (registry access, executable generation), *nix specific - tasks (kde/gnome shortcut generation) to many useful utility - tasks like jnlp generation.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 or above
URL:http://sourceforge.net/projects/ovanttasks
Contact:info@roxes.com
License:GNU General Public License (GPL)
-
- - - -

pack is a task to build the smallest possible JAR to link - and run one or more classes.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://sadun-util.sourceforge.net/pack.html
Contact:Cristiano Sadun
License:GNU Lesser General Public License
-
- - -

PCT is a task to compile Progress code, and in a more general - way, to deal with Progress procedures and databases.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://pct.sourceforge.net
Contact:Gilles QUERRET
Licence:Apache License 2.0
-
- - -

PesterCat is a web testing tool that was designed to - perform functional testing for web applications. The PesterCat - Ant Toolkit contains tasks to playback test scripts and create - HTML reports. -

- - - - - - - - - - - - - -
Compatibility:Ant 1.6 and later
URL:http://www.pestercat.com/
License:Commercial
-
- - - -

PMD checks Java source code for unused variables, - unnecessary object creation, etc

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and higher
URL:http://pmd.sf.net/
Contact:Tom Copeland
License:BSD style license
-
- - -

PRes is short for Property Resources and will generate a Java source - file from name=value pair .property files which can be compiled like any - other class.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later (may work with earlier)
URL:http://mseries.sourceforge.net
Contact:MSeries
License:LGPL
-
- - -

ProGuard is - a free Java class file shrinker and obfuscator. It can detect - and remove unused classes, fields, methods, and attributes. It - can then rename the remaining classes, fields, and methods - using short meaningless names.

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.5. Should work with all versions.
URL: - http://proguard.sourceforge.net/ -
Contact: - Feedback Page -
License:GNU General Public License
-
- - - -

Properties2Java is an Ant task for automatic conversion of - java ".properties" files to ".java" files extending the - java.util.ListResourceBundle.

- -

Note: As the Sourceforge project site - shows, the last update was on Jun 04 2005. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 or above
URL:http://properties2java.jayefem.de/
Contact:Jan-Friedrich Mutter
License:Apache License 2.0
-
- - - -

Purge deletes all but the most recent few files from a fileset. - For example: if you have generated files (logs, .ear, .war, .jar - etc) accumulating in a directory, the purge task will allow you - to delete the older files, keeping just the most recent ones.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 or above
URL:http://www.dallaway.com/ant/
Contact:Richard Dallaway
License:LGPL
-
- - - -

RefactorIT includes an Ant task for metrics and audits. - RefactorIT is a Java refactoring, audit and metrics tool. - It plugs into major Java IDEs, also runs stand-alone with - a GUI and a command line interface.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://www.refactorit.com/
Contact:support@refactorit.com
License:Commercial. (Free for accredited open source products, see - http://www.refactorit.com/osc.)
-
- - - -

This is a task for reflection invocation from within ant build file.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 or above
URL:http://sourceforge.net/projects/reflectant/
Contact:sv_ant@mail.bg
License:Apache License 2.0
-
- - -

A task designed to help with the single-sourcing of program - documentation. Rundoc replaces special commands - (in the format @@rundoc:command param1 param2...@@) embedded - within text files with their output in a - specified format. Currently, only Docbook format is supported.

- -

Rundoc was written to keep sample code output in program - documentation synchronized with the actual output - of the current code, by running the referenced code when the - documentation is built.

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.6 Should work with all versions.
URL:http://www.martiansoftware.com/lab/index.html#rundoc
Contact:Marty Lamb
License:Revised BSD
-
- - - -

SerialVer adds the Java serialver functionality to Apache - Ant. This project adds Tasks and FilterReaders to get, to - insert and to modify the serialVersionUID in the source code - of a serializable class.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1 and later
URL:http://serialver.sourceforge.net/
Contact:developer mailing list
License:Apache Software License 1.1
-
- - - -

Simian (Similarity Analyser) identifies duplication in Java, - C#, C, CPP, COBOL, JSP, HTML source code and even plain text files.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1 and later
URL: - http://www.redhillconsulting.com.au/products/simian/
Contact: - simian-user-subscribe@redhillconsulting.com.au (User Mailinglist) -
License:Commercial, Free Licenses available for Non-Commercial Projects
-
- - - -

Powerful analysis of dependencies between Java classes. - Only affected classes will be recompiled and it can be used - with any bytecode compiler.

- -

Note: As the Sourceforge project site - shows, the last update was on Feb 21 2003. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Apache Ant version 1.5.1
URL:http://smartanalyzer.sourceforge.net/
Contact:support at sourceforge project page
License:GNU General Public Licence (GPL)
-
- - -

A task designed to help with the single-sourcing of program documentation. - Snip extracts snippets of text from files, placing them into properties in the Ant project. - These properties can then be used by any other Ant task, and are particularly useful when - referenced by <filter>s within the <copy> task.

- -

Snip was originally written to keep snippets of sample code in API documentation synchronized - with the actual sample classes.

- - - - - - - - - - - - - - - - - - -
Compatibility:Tested with 1.5.1. Should work with all versions.
URL:http://www.martiansoftware.com/lab/index.html#snip
Contact:Marty Lamb
License:Revised BSD
-
- - -

Website is gone and nothing found.

-
- - -

SQL Compiler (SQLC) compiles database metadata and SQL statements into data access and data transfer classes.

-

Note: It seems that the product is renamed to jIncarnate.

- - - - - - - - - - - - - - - - - -
Compatibility:Tested with Ant 1.5.4 and 1.6.5
URL:http://www.hammurapi.biz/products/sqlc
Contact:Project Contact Page
License:LGPL
-
- - -

SQLUnit is a regression and unit testing harness for testing - database stored procedures. The test suite is written as an XML file. - The SQLUnit harness itself is written in Java and uses the JUnit unit - testing framework to convert the XML test specifications to JDBC calls - and compare the results generated from the calls with the specified - results. It also provides the <sqlunit> task to run the tests - from a build script.

- - - - - - - - - - - - - - - - - -
Compatibility:Tested with Ant 1.6
URL:http://sqlunit.sourceforge.net
Contact:Project forums
License:GNU General Public License (GPL)
-
- - - -

The styler task makes useful combinations of XSLT transformations - easy to specify in an Ant build file. Like the built-in Ant task - style, styler can apply a single transformation to a set of XML files. - But it can also:

-
    -
  • handle multiple transformations, in parallel or pipelined.
  • -
  • enable transformations that split or merge files
  • -
  • process non-XML files, especially HTML (based on JTidy)
  • -
  • apply non-XSLT transformation, especially "regular - fragmentations"
  • -
  • use any custom XMLReader or XMLFilter class to handle new file - formats and transformation techniques.
  • -
- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://www.langdale.com.au/styler/
Contact:Arnold deVos
License:LGPL
-
- - - -

Transforms source files into HTML documents with syntax - highlighting. It can handle a variety of source files - including Java, HTML, C/C++, SQL, and Java properties. Colors - for elements are specified using cascading style sheets. The - output can be templated for easy integration with a site's - look and feel.

- -

A very short look into the scm - shows that the last modifications where in 2003.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5
URL:http://ostermiller.org/syntax/ant.html
Contact:Stephen Ostermiller
License:GNU General Public License (GPL)
-
- - - -

The TestSetGenerator is an ant task for generating property files with - testsets based on the results of SQL queries and validation plug-ins. Very - usefull when building unit tests that make use of changing datasets. This - task is an extension of the Ant SQL task. Hsqldb is used for both the - examples and the unittests.

- -

Note: As the Sourceforge project site - shows, the last update was on Jan 04 2004. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:ANT 1.4 (or later)
URL:http://anttestsetgen.sourceforge.net/
Contact:m.c.jansen@planet.nl
License:GPL
-
- - - -

TiniAnt is an Ant task to support building applications for - the TINI.

- -

Note: As the Sourceforge project site - shows, the last update was on Mar 05 2002. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 to 1.4.1
URL:http://tiniant.sourceforge.net/
Contact:Sean Kelly
License:BSD-like license
-
- - -

Transformica is a versatile and extensible code generator. - Supports multiple source models including database metadata, Java source files, grammar - files and custom models. -

- - - - - - - - - - - - - - - - - -
Compatibility:Tested with Ant 1.5.x and 1.6.5
URL:http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/transformica/
Contact:email support
License:
-
- - -

A versioning tool for Ant.

-

Note: As the Sourceforge project site - shows, the last update was on Feb 19 2004. (jhm)

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1
URL:http://ant.ryangrier.com/
Contact:version_tool@ryangrier.com
License:BSD license
-
- - - -

VPP provides general file preprocessing support based on - the Velocity Template Engine. The core functionality is - provided as a filter for use with tasks that supports filter - chains. Also included are replacement tasks for <copy> and - <javac> that integrate support for preprocessing.

- -

Note: As the Sourceforge project site - shows, the last update was on May 06 2004. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:1.5.1 and above
URL:http://vpp.sourceforge.net/
Contact:vpp-user@lists.sourceforge.net
License:BSD license
-
- - - -

WOProject provides a set of tools to work with - WebObjects 5.1 - independent from platform and IDE. It significantly - improves developer productivity - and makes complex project structures more flexible compared to - traditional Makefile-based approach. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://objectstyle.org/woproject/
Contact:Andrus Adamchik
License:Apache license
-
- - -

WSDLValidate is, as it sounds, a tool to validate WSDL files.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 or later
URL:http://www.eclipse.org/webtools/
Contact:Project newsgroup and mailing list
License:Common Public - License (CPL)
-
- - -

xcluder is an XML Inclusions (XInclude) task for Apache Ant. - Offers the choice of using Xerces or Elliotte Rusty Harold's XOM API. -

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 or later. XInclude compliance depends on the - underlying Xerces or XOM used. Xerces 2.5.0 and above works fine, - but please note that 2.6.1 and 2.6.2 processed the - http://www.w3.org/2003/XInclude, now obsolete by - http://www.w3.org/2001/XInclude used by the latest - Candidate Recommendation (13 April 2004). -
URL:http://sourceforge.net/projects/xcluder
Contact:mbatsis@users.sf.net
License:GNU General Public License (GPL), GNU Library or Lesser - General Public License (LGPL) -
-
- - - -

XDoclet is an extended Javadoc Doclet engine for use in Ant. - It lets you create custom Javadoc @tags and based on those tags - generates source code or other files (such as xml-ish deployment - descriptors). Templates and matching tasks are provided to generate - EJB and web application deployment descriptors. -

- - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://sourceforge.net/projects/xdoclet/
License:BSD license
-
- - -

XInclude is - a W3C standardized vocabulary for including arbitrary text or XML - documents in other XML documents. This task performes the inclusion - using an existing XInclude implementation

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.2
URL: - http://www.jeckle.de/freeStuff/xia/index.html -
Contact:mario@jeckle.de
License:Lesser GNU Public License
-
- - - -

The XML Directory Listing task can recurse through a directory structure and produce an - XML representation. The resulting file can then be transformed further with Ant.

-

The XML output is configurable through various options. The SAX parsing is fast and has a - low memory footprint.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5 or higher
URL:http://code.google.com/p/xml-dir-listing/
Contact:M. Haynes
License:Apache License 2.0
-
- - - -

This framework is a release notes framework that enables to - generate textual release notes from an XML file. This is an - open framework that enables to integrate the information - coming from VSC and bug tracking solutions, for instance.

- -

Note: As the Sourceforge project site - shows, the last update was on Sep 04 2005. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://xmlreleasenotes.free.fr/
Contact:Edouard Mercier
License:Apache Software License 1.1
-
- - - -

XmlTask provides a simple means to modify XML documents - without having to learn XSLT. A simple path reference to an - XML node specifies the node you want to change, and how you - want to allow XML insertion and removal, or attribute - changes. The emphasis is on providing the simplest means to - perform common XML replacements

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL:http://www.oopsconsultancy.com/software/xmltask/
Contact:xmltask-users at lists.sourceforge.net
License:Apache Software License 1.1
-
- - - -

yGuard is a free Java(TM) Bytecode Obfuscator Task that - needs no external script or project files. It can completely - be configured and run through the Ant build script. The task - supports multiple Jar files at once and makes use of - patternsets and regular expressions to specify elements, which - should be left unobfuscated. Additionally it can be used to - produce patches for obfuscated applications that have already - been deployed.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://www.yworks.com/en/products_yguard_about.htm
Contact:yGuard@yWorks.com
License:Library: LGPL, Task: Commercial
-
- - - -

The task ZKMTask allows the Zelix KlassMaster Java obfuscator to be integrated into an Ant build.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.4.1 and later
URL:http://www.zelix.com/klassmaster/docs/buildToolApi.html
License:Commercial
-
- -
- - - -
- - - -

- Wondering why your Ant build is slow? Is your continuous integration server taking too - long to produce your project builds? This project may help. This project includes a small - number of classes for use with Ant that can help you to analyze your build in a - non-intrusive manner. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6
URL:https://antutility.dev.java.net/
Contact:David Green
License:Apache - License 2.0
-
-
- - - -
- - - -

This is an Ant compiler-adapter that allows you to use the - normal <javac> task plus Sun's early-access - compiler to compile Generics-enabled Java code. (This is only - necessary until JDK1.5 is released.)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL:http://www.madbean.com/blog/3/
Contact:Matt Quail <spud[at]madbean[dot]com>
License:Public Domain
-
- - - -

miniRMI is a freeware opensource library that serves as a - lightweight replacement for the original java.rmi packages and - is suitable especially for applets. Ant 1.4+ - <rmic> adapter included.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and later
URL:http://dione.zcu.cz/~toman40/miniRMI/
Contact:Petr Toman
License:Gnu Lesser Public License
- -
-
- -
- - - -

A plugin that integrates Ant into the jEdit editor.

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.5
URL:http://plugins.jedit.org/plugins/?AntFarm
Contact:jEdit developers mailinglist
License:GNU General Public License
-
- - - -

An OpenTool that integrates Ant into the JBuilder IDE - (version 5 and later).

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and later
URL:http://antrunner.sourceforge.net/
Contact:Dirk Schnelle
License:GNU General Public License
-
- - -

CA Plex is an architected RAD tool that combines the techniques of - model-driven development, code generation and patterns to create - business applications for multiple platforms, including Java, .NET and - IBM System i. In its 6.0 release, CA Plex includes integrated support - for building generated Java code with Ant.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5
URL:http://wiki.plexinfo.net/index.php?title=Customizing_Plex_6.0_ANT_builds
Contact:http://www.ca.com/us/products/product.aspx?ID=258
License:Commercial
-
- - - -

Eclipse is a universal tool platform with Ant integration.

- - - - - - - - - - - - - - - - - - -
Compatibility: - Ant 1.3 and higher
- Bundles Ant 1.6.2 as of Eclipse 3.0.1 (tested with Ant 1.5.4 - 1.6.2)
- Eclipse 3.2 bundles Ant 1.6.5
- Eclipse 3.3 bundles Ant 1.7.0 -
URL: - http://www.eclipse.org/ - or - - Platform Ant Project - -
Contact:news://news.eclipse.org/eclipse.platform
License:Common Public License Version 1.0
-
- - - -

Java IDE with support for Ant. Gel is a native Microsoft Windows software.

-

Note: The website recommends using another IDE because GEL is not longer maintained.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4 and above
URL:http://www.gexperts.com/products/gel/gel.asp
Contact:Project Mailing List
License:Freeware
-
- - - -

Java IDE with refactoring support and Ant integration. - The IDE has special editing and navigation support for Ant. -

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.6.5
URL:http://www.intellij.com/idea/
Contact:support@intellij.com
License:Commercial; Academic and OpenSource licenses available.
-
- - - -

Embarcadero JBuilder comes (as Eclipse based product) with built-in Ant support.

- - - - - - - - - - - - - - - - - - -
Compatibility:Bundles Ant 1.6
URL:http://www.codegear.com/en/products/jbuilder
Contact:http://support.codegear.com/en
License:Commercial; Turbo JBuilder 2007 is free.
-
- - - -

The Java Development Environment for Emacs (JDEE) supports - Apache Ant as one of three built-in ways to build your - applications.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and later
URL:http://jdee.sourceforge.net/
Contact:JDEE Mailing list.
License:GNU General Public License
-
- - - -

NetBeans IDE includes integrated Ant support. - This IDE uses Ant as its primary means of building applications, - with custom tasks and an Ant-aware editor.

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles 1.8.0 starting with NetBeans 6.9; 1.8.1 for 6.9.1; 1.8.2 for 7.0
URL:http://www.netbeans.org/
Contact:nbdev@netbeans.org
License:Common Development and Distribution License / GNU General Public License
-
- - -

Java IDE with deep Ant integration. IDX is a native Microsoft Windows program.

- - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.6
URL: - http://optistic.com/idx -
Contact: - support@optistic.com -
License:Commercial; Academic and OpenSource licenses available.
-
- - - -

Java IDE with support for Ant.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.1
URL:http://www.oracle.com/technology/products/jdev/index.html
Contact:JDeveloper Forum
License:Commercial
-
- - -

- Instead of manually creating build scripts in XML, Virtual Ant provides a fully virtual file system - where you can run your tasks in real time and see the results. Everything that you do is recorded and - turned into an Ant build script. -

- - - - - - - - - - - - - - - - - -
Compatibility: - Ant 1.6.5 onwards -
URL: - http://www.placidsystems.com/virtualant/ -
Contact: - support@placidsystems.com -
License:Commercial; OpenSource licenses available too.
-
- - - -

WSAD features Ant integrate by virtue of being built on the Eclipse tools platform.

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.4.1
URL: - http://www.ibm.com/developerworks/websphere/ -
Article:Using Ant with WebSphere Studio Application Developer
License:Commercial
-
- -
- - - -
-

There are several integration with SCM systems. Some are - built in. But some are available as - external libraries. Here a list of task libraries we are aware of:

- - - -

These are tasks that allow users to access Mercurial - functionality from within Ant build scripts.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7 and later
URL:http://ant4hg.free.fr
Contact:ant4hg@free.fr
License:GNU Lesser General Public License
-
- - - -

This library is a collection of "value-add" Ant tasks for integrating - IBM Rational ClearCase with Apache Ant. The integration makes full use - of the power and capabilities of Ant, with support for nested elements - (such as filesets) and also supports conditions. There are a number of - tasks for creating XML reports on both ClearCase baselines and labels as - well as a task for "staging" ClearCase objects.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.1 and later
URL: - http://clearantlib.sourceforge.net/
Contact:Forum
License:Apache License 2.0
-
- - - -

These are tasks that allow users to access Surround SCM - functionality from within Ant build scripts.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and later
URL: - Surround SCM Resource Center
Contact:Seapine Support
License:GNU Lesser General Public License
-
- - - -

SvnAnt is an ant task that provides an interface to Subversion revision control system - that is a compelling replacement for CVS in the open source community.

- - - - - - - - - - - - - - -
URL: - Subclipse .: :. SvnAnt .: :. SvnClientAdapter
Contact:subclipse: Issues and Help
License:Eclipse Public License (EPL) 1.0
-
- - - -

JWare/AntXtras Svn4Ant (Svn4Ant) is a complete set of native Ant tasks for managing Subversion working copies, - exported directories, and repositories from a build, test, or deployment environment. - Immodestly, Svn4Ant’s goal is to be the best provider of Subversion Ant components.

- - - - - - - - - - - - - - -
URL: - Svn4Ant
Contact:Support - JWare Free Software
License:LGPL 2.1
-
- -
- -
- - -

AntStatistics logs execution times for - all build targets and displays them at the end of the build. Furthermore execution times of - past builds are collected and graphed in a chart.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3
URL:http://code.google.com/p/antstatistics/
Contact:issue tracker
License:Apache License 2.0
-
-
- -
diff --git a/xdocs/faq.xml b/xdocs/faq.xml deleted file mode 100644 index 055c2132d5..0000000000 --- a/xdocs/faq.xml +++ /dev/null @@ -1,1973 +0,0 @@ - - - - - - Stefan Bodewig - Frequently Asked Questions - - - - - Where do I find the latest version of this - document? - -

The latest version can always be found at Apache Ant's homepage - http://ant.apache.org/faq.html.

-
-
- - - How can I contribute to this FAQ? - -

The page you are looking it is generated from - this - document. If you want to add a new question, please submit - a patch against this document to one of Ant's mailing lists; - hopefully, the structure is self-explanatory.

- -

If you don't know how to create a patch, see the patches - section of this - page.

-
-
- - - How do you create the HTML version of this - FAQ? - - -

We use - Anakia - to render the HTML version from the original XML file.

- -

The Velocity stylesheets used to process the XML files can - be found in the xdocs/stylesheets subdirectory of - Ant's SVN repository - the build file - docs.xml at the top level of the ant SVN - module (trunk) is used to drive Anakia.

- -

To transform the xml into html, one needs velocity 1.4. - The command to run is :

-

- ant -Dvelocity.dir=[installation path of velocity] -f docs.xml -

-
-
- -
- - - - What is Apache Ant? - -

Ant is a Java-based build tool. In theory, it is kind of - like Make, without Make's wrinkles and with the full - portability of pure Java code.

-
-
- - - Why do you call it Ant? - - -

According to Ant's original author, James Duncan - Davidson, the name is an acronym for "Another Neat - Tool".

- -

Later explanations go along the lines of "ants - do an extremely good job at building things", or - "ants are very small and can carry a weight dozens of times - their own" - describing what Ant is intended to - be.

-
-
- - - Tell us a little bit about Ant's history. - - -

Initially, Ant was part of the Tomcat code base, when it was - donated to the Apache Software Foundation. It was - created by James Duncan Davidson, who is also the original - author of Tomcat. Ant was there to build Tomcat, nothing - else.

- -

Soon thereafter, several open source Java projects realized - that Ant could solve the problems they had with Makefiles. - Starting with the projects hosted at Jakarta and the old Java - Apache project, Ant spread like a virus and is now the build - tool of choice for a lot of projects.

- -

In January 2000, Ant was moved to a separate CVS module and - was promoted to a project of its own, independent of - Tomcat, and became Apache Ant.

- -

The first version of Ant that was exposed to a larger audience - was the one that shipped with Tomcat's 3.1 release on 19 April - 2000. This version has later been referred to as Ant - 0.3.1.

- -

The first official release of Ant as a stand-alone product was - Ant 1.1, released on 19 July 2000. The complete release - history:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ant VersionRelease Date
1.119 July 2000
1.224 October 2000
1.33 March 2001
1.43 September 2001
1.4.111 October 2001
1.510 July 2002
1.5.13 October 2002
1.5.23 March 2003
1.5.39 April 2003
1.5.412 August 2003
1.6.018 December 2003
1.6.112 February 2004
1.6.216 July 2004
1.6.328 April 2005
1.6.419 May 2005
1.6.52 June 2005
1.7.019 December 2006
1.7.127 June 2008
1.8.08 February 2010
1.8.17 May 2010
1.8.227 December 2010
-
-
- -
- - - - Which version of Java is required to run - Apache Ant? - - -

You will need Java installed on your system, version 1.4 or - later required, 1.5 or later strongly recommended. The later - the version of Java, the more Ant tasks you get.

- -

If only the JRE is present but not a full JDK then many - tasks will not work.

- -

The following table lists the minimum Java versions - required to compile and run Ant. Note that most committers - work with more recent versions of the JDK and that Ant doesn't - get tested much for older versions.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
Ant VersionMinimum Java Version
1.1 up to 1.5.41.1
1.6.0 up to 1.6.51.2
1.7.0 up to 1.7.11.3
1.8.0 up to current svn trunk1.4
-
-
- - - I get checksum errors when I try to extract the - tar.gz distribution file. Why? - -

Ant's distribution contains file names that are longer - than 100 characters, which is not supported by the standard - tar file format. Several different implementations of tar use - different and incompatible ways to work around this - restriction.

- -

Ant's <tar> task can create tar archives that use - the GNU tar extension, and this has been used when putting - together the distribution. If you are using a different - version of tar (for example, the one shipping with Solaris), - you cannot use it to extract the archive.

- -

The solution is to either install GNU tar, which can be - found here, - or use the zip archive instead (you can extract it using - jar xf).

-
-
- - - How do you get ant-1.6.x (or any version later than - 1.5.2) to work on on RedHat ES 3? - -

Redhat ES 3.0 comes installed with ant 1.5.2. Even if you - have your PATH and ANT_HOME variables set correctly to a later - version of ant, you will always be forced to use the - preinstalled version.

- -

To use a later version of ant on this OS you could do the - following:

- -
-
-
- - - - How to I precompile Java Server Pages (JSPs)? - -

Apache Ant has a built in optional task <jspc> - which was intended for that. But this task is deprecated. - Here the alternative suggested by the manual:

-

Instead of relying on container specific JSP-compilers we suggest deploying - the raw files (*.jsp) and use the container build-in functions: after deploying - run a test suite (e.g. with - Cactus or - HttpUnit) against the deployed web - application. So you'll get then test result and the compiled JSPs.

-
-
- - - How do I realize os--specific configurations? - -

The core idea is using property files which name accords to the - os-name. Then simply use the build-in property os.name.

-

For better use you should also provide a file with default values. - But be careful with the correct os-names. For test simply <echo> - the ${os.name} on all machines and you can be sure to use the right - file names.

- - -]]> -
-
- - - - How do I add an external task that I've written to the - page "External Tools and Tasks"? - - -

Join and post a message to the dev or user mailing - list (one list is enough), including the following - information:

- -
    -
  • the name of the task/tool
  • -
  • a short description of the task/tool
  • -
  • a Compatibility: entry stating with which version(s) of - Ant the tool/task is compatible to
  • -
  • a URL: entry linking to the main page of the tool/task
  • -
  • a Contact: entry containing the email address or the URL - of a webpage for the person or list to contact for issues - related to the tool/task. Note that we'll add a - link on the page, so any email address added there is not - obfuscated and can (and probably will) be abused by robots - harvesting websites for addresses to spam.
  • -
  • a License: entry containing the type of license for the - tool/task
  • -
- -

The preferred format for this information is a patch to this - document.

- -

If you have written something bigger than a 'simple plugin' to Ant it - may be better to add the link to projects.html. - The procedure to add it is the same. The file to patch is this - document. The syntax of that file is the same.

- -
-
- - - How do I create new tasks? - -

Apart from a lot of information on using Ant, the - Manual also contains information - on how to extend Ant with new tasks. This information - can be found under "Developing with Ant".

- -

Chances are that someone else already created the task you - want to create, it may be wise to see - External Tools and Tasks and - Related Projects first.

-
-
- - - How do I pass parameters from the command line to my - build file? - - -

Use properties. Using ant - -Dname=value lets you define values for - properties on the Ant command line. These properties can then be - used within your build file as - any normal property: ${name} will put in - value.

- -
-
- - - How can I use Jikes-specific command-line - switches? - - - -

A couple of switches are supported via "magic" - properties:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
switchpropertydefault
+Ebuild.compiler.emacsfalse == not set
+Pbuild.compiler.pedanticfalse == not set
+Fbuild.compiler.fulldependfalse == not set
(Only for Ant < 1.4; replaced by the - nowarn - attribute of the <javac> - task after that.)

-nowarn
build.compiler.warningstrue == not set
- -

With Ant >= 1.5, you can also use nested - <compilerarg> elements with the - <javac> task.

- -
-
- - - How do I include a < character in my command-line arguments? - -

The short answer is "Use: &lt;".

- -

The long answer is that this probably won't do what you - want anyway (see the next - section).

-
-
- - - How do I redirect standard input or standard output - in the <exec> task? - -

Say you want to redirect the standard output stream of the - m4 command to write to a file, something - like:

- - m4 foo.m4 > foo -]]> - -

and try to translate it into

- - - - - - -]]> - -

This will not do what you expect. The output redirection is - performed by your shell, not the command itself, so this - should read:

- - - - - -]]> - -

Note that you must use the value attribute of - <arg> in the last element, in order to have - the command passed as a single, quoted argument. Alternatively, - you can use:

- - - -]]> - -

Note the double-quotes nested inside the single-quotes.

- -
-
- - - How do I execute a batch file or shell script from Ant? - - -

On native Unix systems, you should be able to run shell scripts - directly. On systems running a Unix-type shell (for example, Cygwin - on Windows) execute the (command) shell instead - cmd - for batch files, sh for shell scripts - then pass the - batch file or shell script (plus any arguments to the script) - as a single command, using the /c or - -c switch, respectively. See - the above section - for example <exec> tasks - executing sh. For batch files, use something like:

- - - -]]> - -
-
- - - I want to execute a particular target only if - multiple conditions are true. - - -

There are actually several answers to this question.

- -

If you have only one set and one unset property to test, - you can specify both an if and an unless - attribute for the target, and they will act as if they - are "anded" together.

- -

If you are using a version of Ant 1.3 or earlier, the - way to work with all other cases is to chain targets together - to determine the specific state you want to test for.

- -

To see how this works, assume you have three properties: - prop1, prop2, and prop3. - You want to test that prop1 and prop2 - are set, and that prop3 is not. If the condition - holds true you want to echo "yes".

- -

Here is the implementation in Ant 1.3 and earlier:

- - - - - - - - - - - - - - -]]> - -

Note: <antcall> tasks do not pass - property changes back up to the environment they were called - from, so you wouldn't be able to, for example, set a - result property in the cond-if-3 target, - then do - <echo message="result is ${result}"/> - in the cond target.

- -

Starting with Ant 1.4, you can use the - <condition> task.

- - - - - - - - - - - - - - - - - - - - - - - - -]]> - -

This version takes advantage of two things:

- -
    -
  • If a property a has not been set, - ${a} will evaluate to ${a}.
  • - -
  • To get a literal $ in Ant, you have to - escape it with another $ - this will also break - the special treatment of the ${ sequence.
  • -
- -

Because testing for a literal ${property} string - isn't all that readable or easy to understand, - post-1.4.1 Ant introduces the <isset> element - to the <condition> task.

- -

Here is the previous example done using - <isset>:

- - - - - - - - - - - - -]]> - -

The last option is to use a scripting language to set the - properties. This can be particularly handy when you need much - finer control than the simple conditions shown here but, of - course, comes with the overhead of adding JAR files to support - the language, to say nothing of the added maintenance in requiring - two languages to implement a single system. See the - - <script> task documentation for more - details.

-
-
- - - How can I include national characters like German - umlauts in my build file? - - -

You need to tell the XML parser which character encoding - your build file uses, this is done inside the XML - declaration.

- -

By default the parser assumes you are using the UTF-8 - encoding instead of your platform's default. For most Western - European countries you should set the encoding to - ISO-8859-1. To do so, make the very first line - of you build file read like

- - -]]> -
-
- - - How do I use jar's M switch? - I don't want a MANIFEST. - - -

A JAR archive is a ZIP file, so if you don't want a - MANIFEST you can simply use <zip>.

- -

If your file names contain national characters you should - know that Sun's jar utility like Ant's - <jar> uses UTF-8 to encode their names while - <zip> uses your platforms default encoding. - Use the encoding attribute of <zip> if - necessary.

-
-
- - - How can I do something like <property name="prop" - value="${${anotherprop}}"/> (double expanding the property)? - - -

Without any external help you can not.

-

With <script/>, which needs external libraries, you can do

- - propname = project.getProperty("anotherprop"); - project.setNewProperty("prop", propname); - -]]> -

With AntContrib (external task library) you can do - <propertycopy name="prop" from="${anotherprop}"/>.

-

With Ant 1.6 you can simulate the AntContribs <propertycopy> - and avoid the need of an external library:

- - - - - - - -]]> -

With the 'props' antlib (external, but also from Ant) you could - do the dereferencing with ${${anotherprop} - not just - in the property task - instead everywhere in your buildfile (after - registering the required property helper).

- - - - - - ${${var}} = foo.value ]]> -
-
- - - How can I delete everything beneath a particular directory, - preserving the directory itself? - -

Most users who go down this path have no problem figuring out that - <delete includeemptydirs="true" /> will help them. The - seemingly tricky part is preserving the base directory itself, - which Ant includes in the directory scan. Fortunately the answer is simple: -

- - - -]]> -
-
- - - How can I delete a particular directory, - if and only if it is empty? - -

Most users who go down this path have no problem figuring - out that - <delete includeemptydirs="true" /> will - help them. The seemingly tricky part is preserving the - non-empty directories, which Ant includes in the directory - scan. Fortunately the answer is simple:

- - - - -]]> -
-
-
- - - - General Advice - - -

There are many reasons why Apache Ant doesn't behave as - expected, not all of them are due to Ant bugs. See our Having Problems? page for hints that - may help pinning down the reasons for your problem.

-
-
- - - Why does Ant always recompile all my Java files? - - -

In order to find out which files should be compiled, Ant - compares the timestamps of the source files to those of the - resulting .class files. Opening all source files - to find out which package they belong to would be very - inefficient. Instead, Ant expects you to place your - source files in a directory hierarchy that mirrors your - package hierarchy and to point Ant to the root of this - directory tree with the srcdir attribute.

- -

Say you have <javac srcdir="src" - destdir="dest"/>. If Ant finds a file - src/a/b/C.java, it expects it to be in package - a.b so that the resulting .class - file is going to be dest/a/b/C.class.

- -

If your source-tree directory structure does not match your - package structure, Ant's heuristic won't work, and - it will recompile classes that are up-to-date. Ant is not the - only tool that expects a source-tree layout like this.

- -

If you have Java source files that aren't declared to - be part of any package, you can still use the <javac> - task to compile these files correctly - just set the - srcdir and destdir attributes to - the actual directory the source - files live in and the directory the class files should go into, - respectively.

- -
-
- - - - I've used a <delete> task to - delete unwanted SourceSafe control files (CVS files, editor - backup files, etc.), but it doesn't seem to work; the files - never get deleted. What's wrong? - - -

This is probably happening because, by default, Ant excludes - SourceSafe control files (vssver.scc) and certain other - files from FileSets.

- -

Here's what you probably did:

- - - - - -]]> - -

You need to switch off the default exclusions, - and it will work:

- - - -]]> - -

For a complete listing of the patterns that are excluded - by default, see the user - manual.

- -
-
- - - I have a target I want to skip if a property is set, - so I have unless="property" as an attribute - of the target, but all the targets this target - depends on are still executed. Why? - - -

The list of dependencies is generated by Ant before any of the - targets are run. This allows dependent targets, such as an - init target, to set properties that can control the - execution of the targets higher in the dependency graph. This - is a good thing.

- -

However, when your dependencies break down the - higher-level task - into several smaller steps, this behaviour becomes - counter-intuitive. There are a couple of solutions available: -

- -
    -
  1. Put the same condition on each of the dependent targets.
  2. - -
  3. Execute the steps using <antcall>, - instead of specifying them inside the depends - attribute.
  4. -
- -
-
- - - In my <fileset>, I've put in an - <exclude> of all files followed by an - <include> of just the files I want, but it - isn't giving me any files at all. What's wrong? - - - -

The order of the <include> and - <exclude> tags within a <fileset> - is ignored when the FileSet is created. Instead, all of the - <include> elements are processed together, - followed by all of the <exclude> - elements. This means that the <exclude> - elements only apply to the file list produced by the - <include> elements.

- -

To get the files you want, focus on just the - <include> patterns that would be necessary - to get them. If you find you need to trim the list that the - <include> elements produce, then use - <exclude> elements.

-
-
- - - ant failed to build my program via javac - even when I put the needed jars in an external - build.properties file and reference them by - pathelement or classpath refid. - - - -

When ant loads properties from an external - file it doesn't touch the value of properties, trailing blanks - will not be trimmed for example.

- -

If the value represents a file path, like a jar needed to - compile, the task which requires the value, javac for example - would fail to compile since it can't find the file due to - trailing spaces.

-
-
- - - Ant creates WAR files with a lower-case - web-inf or JAR files with a lower-case - meta-inf directory. - - -

No it doesn't.

- -

You may have seen these lower-case directory names in - WinZIP, but WinZIP is trying to be helpful (and fails). If - WinZIP encounters a filename that is all upper-case, it - assumes it has come from an old DOS box and changes the case to - all lower-case for you.

- -

If you extract (or just check) the archive with jar, you - will see that the names have the correct case.

- -

With WinZIP (version 8.1 at least), this can be corrected in the - configuration. In the Options/Configuration menu, in the View tab, General - section, check the "Allow all upper case files names" box. The META-INF and - WEB-INF will look correct.

-
-
- - - I installed Ant 1.6.x and now get - Exception in thread "main" java.lang.NoClassDefFoundError: - - - -

- The cause of this is that there is an old version of ant somewhere in the - class path or configuration. -

-

- A version of this problem happens with jars that are in the classpath - that include an embedded copy of ant classes. - An example of this is some copies of weblogic.jar. -

-

- One can check if this is the case by doing (on unix/sh): -

-        unset CLASSPATH
-        ant -version
-        
- -

-
-
- - - I installed Ant 1.6.x and now get - java.lang.InstantiationException: org.apache.tools.ant.Main - - -

- The cause of this is that there is an old version of ant somewhere in the - class path or configuration. -

-

- A version of this problem may be seen on some linux systems. - Some linux systems (Fedora Core 2 for example), comes with a version - of ant pre-installed. There is a configuration file called - /etc/ant.conf which if present, the ant shell - script will 'dot' include. On Fedora Core 2, the /etc/ant.conf - file resets the ANT_HOME environment variable to - /usr/share/ant. This causes the problem that - an old version of ant (1.5.x in this cause) will be used - with a new version of the ant script file. -

-

- One can check if this is the case by doing - ant --noconfig -version. -

-
-
- - - Whenever I use the Ant jar or manifest related tasks, long lines in - my manifest are wrapped at 70 characters and the resulting jar does - not work in my application server. Why does Ant do this? - - - -

- Ant implements the Java - Jar - file specification. Please refer to the notes section where it - discusses the maximum allowable length of a line and the concept of - continuation characters. -

- -

- If a jar file produced by Ant does not work in your appserver, and - that failure is due to the wrapped manifest, then you need - to consult your appserver provider, as it is a bug in their - appserver. Far more likely, however, is a problem in your - specification of your classpath. It is not Ant's wrapping of your - classpath that is the problem. -

- -

- Do not raise a bug about this issue until you have checked to ensure - that the problem is not due to your classpath specification. -

-
-
- - - <exec> fails with "Cannot run - program "...":CreateProcess error=2" on - Windows. - - -

A common problem is not having the executable on the - PATH. In case you get an error message Cannot run - program "...":CreateProcess error=2. The system cannot find - the path specified. have a look at your PATH - variable.

- -

Just type the command directly on the command line and if - Windows finds it, Ant should do it too. (Otherwise ask on - the user mailinglist for help.) If Windows can not execute - the program add the directory of the programm to the PATH - (set PATH=%PATH%;dirOfProgram) or specify the - absolute path in the executable attribute in - your buildfile.

-
-
-
- - - - Is Apache Ant supported by my IDE/Editor? - -

See the section - on IDE integration on our External Tools and Tasks page.

-
-
- - - Why doesn't (X)Emacs/vi/MacOS X's project builder - correctly parse the error messages generated by Ant? - - -

Ant adds a "banner" with the name of the current - task in front of all logging messages - and there are no built-in - regular expressions in your editor that would account for - this.

- -

You can disable this banner by invoking Ant with the - -emacs switch. To make Ant autodetect - Emacs' compile mode, put this into your - .antrc (contributed by Ville Skyttä).

- - - -

Alternatively, you can add the following snippet to your - .emacs to make Emacs understand Ant's - output.

- - - -

Yet another alternative that preserves most of Ant's - formatting is to pipe Ant's output through the following Perl - script by Dirk-Willem van Gulik:

- - ) { - if (s/^(\s+)\[(\w+)\]//) { - if ($2 ne $last) { - print "$1\[$2\]"; - $s = ' ' x length($2); - } else { - print "$1 $s "; - }; - $last = $2; - }; - print; -}; -]]> - -
-
-
- - - - Is there a DTD that I can use to validate my build - files? - - - -

An incomplete DTD can be created by the - <antstructure> task - but this one - has a few problems:

- -
    -
  • It doesn't know about required attributes. Only - manual tweaking of this file can help here.
  • - -
  • It is not complete - if you add new tasks via - <taskdef> it won't know about it. See - this - page by Michel Casabianca for a solution to this - problem. Note that the DTD you can download at this page - is based on Apache Ant 0.3.1.
  • - -
  • It may even be an invalid DTD. As Ant allows tasks - writers to define arbitrary elements, name collisions will - happen quite frequently - if your version of Ant contains - the optional <test> and - <junit> tasks, there are two XML - elements named test (the task and the nested child - element of <junit>) with different attribute - lists. This problem cannot be solved; DTDs don't give a - syntax rich enough to support this.
  • -
-
-
- - - How do I include an XML snippet in my build file? - -

You can use XML's way of including external files and let - the parser do the job for Ant:

- - - - -]> - - - - - ... - - - &common; - - ... - - -]]> - -

will literally include the contents of common.xml where - you've placed the &common; entity.

- -

(The filename common.xml in this example is resolved - relative to the containing XML file by the XML parser. You may also use - an absolute file: protocol URI.)

- -

In combination with a DTD, this would look like this:

- - -]> -]]> - -

Starting with Ant 1.6, there is a new - <import> task that can (also) be used to - include build file fragments. Unlike the snippets used with - entity includes, the referenced files have to be complete Ant - build files, though.

- -

The example above would become:

- - - - - ... - - - - - ... - - -]]> - -

Unlike entity includes, <import> will - let you use Ant properties in the file name.

-
-
- - - How do I send an email with the result of my build - process? - - - -

If you are using a nightly build of Ant 1.5 after - 2001-12-14, you can use the built-in MailLogger:

- - - -

See the Listeners - & Loggers documentation for details on the properties - required.

- -

For older versions of Ant, you can use a custom - BuildListener that sends out an email - in the buildFinished() method. Will Glozer - <will.glozer@jda.com> has written such a listener based - on JavaMail. - The source is:

- - - -

With a monitor.properties like this:

- - -mail.from=Will Glozer - -build.log=build.log - -build.failed.notify=true -build.failed.email.to=will.glozer@jda.com -build.failed.email.subject=Nightly build failed! - -build.succeeded.notify=true -build.succeeded.email.to=will.glozer@jda.com -build.succeeded.email.subject=Nightly build succeeded! -]]> - -

monitor.properties should be placed right next - to your compiled BuildMonitor.class. To use it, - invoke Ant like:

- - - -

Make sure that mail.jar from JavaMail and - activation.jar from the - Java - Beans Activation Framework are in your CLASSPATH.

- -
-
- - - How do I get at the properties that Ant was running - with from inside BuildListener? - - -

You can get at a hashtable with all the properties that Ant - has been using through the BuildEvent parameter. For - example:

- - - -

This is more accurate than just reading the same property - files that your project does, since it will give the correct - results for properties that were specified on the Ant command line.

-
-
- -
- - - - <exec> causes other tasks to hang - or leads to strange behaviour of <input> - tasks. - - - -

When Apache Ant forks a new process for example by using the - <exec>, <apply> - or <java> tasks, it will also start a - new thread reading from standard input and sending - everything that it has read to that process.

- -

Unfortunately Ant has no way to know whether the forked - process is ever going to read any input, so it will start such - a thread even if the process doesn't need one.

- -

This behaviour leads to strange side effects like the Ant - process - being suspended - when a build forking new process is run as a background - process on Unix-like systems or - <input> - tasks requiring - additional inputs if they come after - an <exec> task.

- -

Fortunately there is a workaround for this, always specify - inputstring="" for - any <exec> task (or one of its sibblings) - if you know the forked process doesn't consume any - input.

-
-
- - - <javac> causes a - StackOverflowError - - - -

For some Java source files it is possible - that causes - a StackOverlowError is thrown inside Sun's javac - compiler. As far as we can tell this is not triggered by a - bug in Ant.

- -

It is possible to work around this problem by setting - <javac>'s fork attribute to true.

-
-
- - - Ant 1.7.0 doesn't build from sources without - JUnit - - - -

When building Ant 1.7.0 from the source release without - junit.jar the build fails with the message "We cannot build - the test jar unless JUnit is present".

- -

With Ant 1.7.0 we've started to add ant-testutil.jar as - part of the distribution and this causes a hard dependency on - JUnit - at least in version 1.7.0. Unfortunately the - installation docs don't say so.

- -

There are two workarounds:

- -
    - -
  1. Add junit.jar to your CLASSPATH when building Ant.
  2. - -
  3. Change Ant's buildfile and remove test-jar from the - depends list of the dist-lite target.
  4. - -
- -
-
- - - <chmod> or <exec> doesn't work in Ant - 1.3 on Unix - - -

The antRun script in ANT_HOME/bin - has DOS instead of Unix line endings; you must remove the - carriage-return characters from this file. This can be done by - using Ant's <fixcrlf> task - or something like:

- - /tmp/foo -mv /tmp/foo $ANT_HOME/bin/antRun -]]> -
-
- - - <style> or <junit> ignores my - <classpath> - - -

Starting with Ant 1.7.0, <junit> will honor your - nested <classpath>.

- -

These tasks don't ignore your classpath setting, you - are facing a common problem with delegating classloaders.

- -

This question collects a common type of problem: A task - needs an external library and it has a nested classpath - element so that you can point it to this external library, but - that doesn't work unless you put the external library - into the CLASSPATH or place it in - ANT_HOME/lib.

- -

Some background is necessary before we can discuss - solutions for Ant - 1.5.x and Ant - 1.6.x.

- -

When you specify a nested <classpath> in - Ant, Ant creates a new class loader that uses the path you - have specified. It then tries to load additional classes from - this classloader.

- -

In most cases - for example using <style> or - <junit> - Ant doesn't load the external library - directly, it is the loaded class that does so.

- -

In the case of <junit> it is the task - implementation itself and in the case of - <style> it is the implementation of the - org.apache.tools.ant.taskdefs.XSLTLiaison - class.

- -

As of Ant 1.7 <junit> no longer - requires you to have junit.jar in Ant's startup - classpath even if ant-junit.jar is present there.

- -

Ant's class loader implementation uses Java's - delegation model, see http://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html - the paragraph

- -
The ClassLoader class uses a - delegation model to search for classes and resources. Each - instance of ClassLoader has an associated parent - class loader. When called upon to find a class or resource, a - ClassLoader instance will delegate the search for - the class or resource to its parent class loader before - attempting to find the class or resource itself. The virtual - machine's built-in class loader, called the bootstrap - class loader, does not itself have a parent but may serve as - the parent of a ClassLoader - instance.
- -

The possible solutions depend on the version of Ant you - use, see the next sections.

-
-
- - - <style> or <junit> ignores my - <classpath> - Ant 1.5.x version - - - -

Please read the previous - entry before you go ahead.

- -

First of all let's state that Ant's wrapper script - (ant or ant.bat) adds all - .jar files from ANT_HOME/lib to - CLASSPATH, therefore "in - CLASSPATH" shall mean "either in your - CLASSPATH environment variable or - ANT_HOME/lib" for the rest of this - answer.

- -

The root of the problem is that the class that needs the - external library is on the CLASSPATH.

- -

Let's see what happens when you load the <junit> - task. Ant's class loader will consult the - bootstrap class loader first, which tries to load classes from - CLASSPATH. The bootstrap class loader - doesn't know anything about Ant's class loader or - even the path you have specified.

- -

If the bootstrap class loader can load the class Ant has - asked it to load (which it can if optional.jar is - part of CLASSPATH), this class will try to load - the external library from CLASSPATH as well - it - doesn't know anything else - and will not find it unless - the library is in CLASSPATH as well.

- -

To solve this, you have two major options:

- -
    -
  1. put all external libraries you need in - CLASSPATH as well this is not what you want, - otherwise you wouldn't have found this FAQ entry.
  2. - -
  3. remove the class that loads the external library from - the CLASSPATH.
  4. -
- -

The easiest way to do this is to remove - optional.jar from ANT_HOME/lib. If - you do so, you will have to <taskdef> all - optional tasks and use nested <classpath> - elements in the <taskdef> tasks that point - to the new location of optional.jar. Also, - don't forget to add the new location of - optional.jar to the - <classpath> of your - <style> or <junit> - task.

- -

If you want to avoid to <taskdef> all - optional tasks you need, the only other option is to remove - the classes that should not be loaded via the bootstrap class - loader from optional.jar and put them into a - separate archive. Add this separate archive to the - <classpath> of your - <style> or <junit> task - - and make sure the separate archive is not in - CLASSPATH.

- -

In the case of <junit> you'd have - to remove all classes that are in the - org/apache/tools/ant/taskdefs/optional/junit - directory, in the <style> case it is one of - the *Liaison classes in - org/apache/tools/ant/taskdefs/optional.

- -

If you use the option to break up optional.jar - for <junit> or remove - ant-junit.jar, you still have to use a - <taskdef> with a nested - <classpath> to define the junit task.

-
-
- - - <style> or <junit> ignores my - <classpath> - Ant 1.6.x version - - -

Please read the general - entry before you go ahead.

- -

The wrapper script of Ant 1.6.x no longer adds the contents - of ANT_HOME/lib to CLASSPATH, - instead Ant will create a classloader on top of the bootstrap - classloader - let's call it the coreloader for the rest of - this answer - which holds the contents of - ANT_HOME/lib. Ant's core and its tasks will be - loaded through this classloader and not the bootstrap - classloader.

- -

This causes some small but notable differences between Ant - 1.5.x and 1.6.x. Most importantly, a third-party task that is - part of CLASSPATH will no longer work in Ant - 1.6.x since the task now can't find Ant's classes. In a sense - this is the same problem this entry is about, only - ant.jar has become the external library in - question now.

- -

This coreloader also holds the contents of - ~/.ant/lib and any file or directory that has - been specified using Ant's -lib command line - argument.

- -

Let's see what happens when you load the <junit> - task. Ant's class loader will consult the bootstrap - class loader first, which tries to load classes from - CLASSPATH. The bootstrap class loader - doesn't know anything about Ant's class loader or - even the path you have specified. If it fails to find the - class using the bootstrap classloader it will try the - coreloader next. Again, the coreloader doesn't know anything - about your path.

- -

If the coreloader can load the class Ant has asked it to - load (which it can if ant-junit.jar is in - ANT_HOME/lib), this class will try to load the - external library from coreloader as well - it doesn't - know anything else - and will not find it unless the library - is in CLASSPATH or the coreloader as well.

- -

To solve this, you have the following major options:

- -
    -
  1. put all external libraries you need in - CLASSPATH as well this is not what you want, - otherwise you wouldn't have found this FAQ entry.
  2. - -
  3. put all external libraries you need in - ANT_HOME/lib or .ant/lib. This - probably still isn't what you want, but you might reconsider - the .ant/lib option.
  4. - -
  5. Always start Ant with the -lib command line - switch and point to your external libraries (or the - directories holding them).
  6. - -
  7. remove the class that loads the external library from - the coreloader.
  8. -
- -

In Ant 1.6 optional.jar has been split into - multiple jars, each one containing classes with the same - dependencies on external libraries. You can move the - "offending" jar out of ANT_HOME/lib. For the - <junit> task it would be - ant-junit.jar.

- -

If you do so, you will have to <taskdef> - all optional tasks that need the external library and use - nested <classpath> elements in the - <taskdef> tasks that point to the new - location of ant-*.jar. Also, don't forget - to add the new location of ant-*.jar to the - <classpath> of your - <style> or <junit> - task.

- -

For example

- - - - - - -]]> -
-
- - - - Why do my custom task containers see Unknown Elements in Ant 1.6 - - they worked in Ant 1.5? - - -

- The objects added in TaskContainer.addTask(Task task) - have changed from Tasks to UnknownElements. -

-

- There was a number of valid reasons for this change. But the backward - compatibility problems were not noticed until after Ant 1.6.0 was - released. -

-

- Your container class will need to be modified to check if the Task - is an UnknownElement and call perform on it to - convert it to a Task and to execute it. - (see apache.tools.ant.taskdefs.Sequential) -

-

- If you want to do more processing on the task, - you need to use the techniques in apache.tools.ant.taskdefs.Antlib#execute() - This does make use of one 1.6 method call (UE#getRealObject()), - you need to use UE#getTask() instead - this will - return null for non tasks (types like fileset id=x). -

-

- So.. iterate over the tasks, if they are UEs, convert them to - tasks, using UE#maybeConfigure and UE#getTask() -

- -

- This approach should work for ant1.5 and ant1.6. -

-
-
- - - - Ant runs into an infinite loop/throws an OutOfMemoryError - when I compile my project under Mac OS X. - - - -

Apple's Java VMs reside - in /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z - and JAVA_HOME will usually be something - like /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z/Home.

- -

Inside this home directory there is a symbolic link - named shared_bundle that links three levels up, - i.e. to /System/Library/Frameworks/JavaVM.framework.

- -

If your build file contains a fileset like

- -]]> -

Ant is going to follow the shared_bundle - symlink and ends up recursing into all your installed VMs. - Even worse, it will - enter /System/Library/Frameworks/JavaVM.framework/Versions/X.Y.Z/Home - and will once again follow the same symlink.

- -

Ant versions after Ant 1.7.1 will detect the infinite loop - they are in, but the resulting fileset may still be too big to - deal with, in particular if you have many different VM - versions installed. The problem is amplified by the fact that - each installed version has a shared_bundle - symlink in it.

- -

One solution is to not allow the fileset to follow symbolic - links at all, like in

- -]]> -

another one excludes the shared_bundle - directories:

- -]]> - -

For Ant 1.7.1 and earlier - excluding shared_bundle may not be enough since - there is another symlink bundle that points to - the Home directory and will cause infite - recursions as well.

-
-
- - - extension-point doesn't work - with import like the documentation - states. - - -

Yes, there is - a bug - in Ant 1.8.0.

- -

When using two build files like

- - ... - - - -imported.xml: - - - -]]> -

Ant 1.8.0 will fail, claiming there was no extension point - named "foo".

- -

This bug has been fixed for Ant 1.8.1. For Ant 1.8.0 there - is - a work-around: - add an additional layer of importing like in

- - - -imported.xml: - - - -build.xml: - - - - -]]> -
-
-
- -
diff --git a/xdocs/index.xml b/xdocs/index.xml deleted file mode 100644 index f8f684b9ce..0000000000 --- a/xdocs/index.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - Conor MacNeill - Stefan Bodewig - Welcome - - - - -
- -

Apache Ant is a Java library and command-line tool who's - mission is to drive processes described in build files as targets - and extension points dependent upon each other. - The main known usage of Ant is the build of Java applications. - Ant supplies a number of built-in tasks allowing to compile, assemble, - test and run Java applications. - Ant can also be used effectively to build non Java applications, for - instance C or C++ applications. More generally, Ant can be used to - pilot any type of process which can be described in terms of targets - and tasks. -

-

- Ant is written in Java. Users of Ant can develop their own - "antlibs" containing Ant tasks and types, and are offered - a large number of ready-made commercial or open-source "antlibs". -

-

- Ant is extremely flexible and does not impose coding conventions or - directory layouts to the Java projects which adopt it as a build tool. -

-

- Software development projects looking for a solution combining build tool and - dependency management can use Ant in combination with Apache Ivy. -

- -

The Apache Ant project is part of - the Apache Software - Foundation.

-
- -
-

December 27th, 2010 - Apache Ant 1.8.2 Released

-

Apache Ant 1.8.2 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/bindownload.cgi.

- -

Key features of the 1.8.2 release are

-
    -
  • performance improvements in directory scanning
  • -
  • XSLT task honors classpath again (bugrep 49271)
  • -
  • distinction between core tasks and optional tasks is abolished
  • -
  • numerous bug fixes and improvements as documented in Bugzilla - and in WHATSNEW
  • -
-
- -
-

September 30, 2010 - Apache Ivy 2.2.0 Released

-

Apache Ivy 2.2.0 is now available for download as source or binary (with and without - dependencies) from - http://ant.apache.org/ivy/download.cgi.

- -

Key features of the 2.2.0 release are

-
    -
  • enhanced Maven2 compatibility, with several bug fixes and - more pom features covered
  • -
  • new parent mechanism for Ivy files
  • -
  • improved pom generation from an ivy.xml file
  • -
  • automated PGP signature generation when uploading artifacts
  • -
  • numerous bug fixes and improvements as documented in Jira - and in the release notes
  • -
- -

For more information see - the Ivy home page.

-
- -
-

September 26, 2008 - Apache AntUnit 1.1 Released

- -

Apache AntUnit 1.1 is now available for download as binary - or source - release.

- -

In addition to a few bugfixes and some new assertions AntUnit - 1.1 allows test listeners to receive the log output of the - project under test. Both plainlistener and xmllistener have - an option that makes them echo the project's output into their - respective logs.

- -

For more information see the Antlib's - home page

-
- - -
- -

-You can view the documentation for the current release (Apache Ant 1.8.1) -online -

- -

-Comprehensive documentation is included in the source and binary distributions. -

- -
- - - -
- - - - -
- - -
- diff --git a/xdocs/legal.xml b/xdocs/legal.xml deleted file mode 100644 index 75b79f082d..0000000000 --- a/xdocs/legal.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Jon S. Stevens - Legal - - - - -
- -

All material on this website is Copyright © 1999-2011, - The Apache Software Foundation.

- -

Apache Ant, Apache Ivy, Ant, Ivy, Apache, the Apache feather - logo, and the Apache Ant project logos are trademarks of The - Apache Software Foundation.

- -

Sun, Sun Microsystems, Solaris, Java, JavaServer Web - Development Kit, and JavaServer Pages are trademarks or - registered trademarks of Oracle Corporation. UNIX is a - registered trademark in the United States and other countries, - exclusively licensed through X/Open Company, Ltd. Windows, - WindowsNT, and Win32 are registered trademarks of Microsoft - Corp. All other product names mentioned herein and throughout - the entire web site are trademarks of their respective - owners.

- -
- - -
- diff --git a/xdocs/license.xml b/xdocs/license.xml deleted file mode 100644 index e8347eb039..0000000000 --- a/xdocs/license.xml +++ /dev/null @@ -1,314 +0,0 @@ - - - - - - License - The Apache Software Foundation - - - - -
-

The Apache License Version 2.0 applies - to all releases of Apache Ant starting with Ant 1.6.1

- - /* - * Apache License - * Version 2.0, January 2004 - * http://www.apache.org/licenses/ - * - * TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - * - * 1. Definitions. - * - * "License" shall mean the terms and conditions for use, reproduction, - * and distribution as defined by Sections 1 through 9 of this document. - * - * "Licensor" shall mean the copyright owner or entity authorized by - * the copyright owner that is granting the License. - * - * "Legal Entity" shall mean the union of the acting entity and all - * other entities that control, are controlled by, or are under common - * control with that entity. For the purposes of this definition, - * "control" means (i) the power, direct or indirect, to cause the - * direction or management of such entity, whether by contract or - * otherwise, or (ii) ownership of fifty percent (50%) or more of the - * outstanding shares, or (iii) beneficial ownership of such entity. - * - * "You" (or "Your") shall mean an individual or Legal Entity - * exercising permissions granted by this License. - * - * "Source" form shall mean the preferred form for making modifications, - * including but not limited to software source code, documentation - * source, and configuration files. - * - * "Object" form shall mean any form resulting from mechanical - * transformation or translation of a Source form, including but - * not limited to compiled object code, generated documentation, - * and conversions to other media types. - * - * "Work" shall mean the work of authorship, whether in Source or - * Object form, made available under the License, as indicated by a - * copyright notice that is included in or attached to the work - * (an example is provided in the Appendix below). - * - * "Derivative Works" shall mean any work, whether in Source or Object - * form, that is based on (or derived from) the Work and for which the - * editorial revisions, annotations, elaborations, or other modifications - * represent, as a whole, an original work of authorship. For the purposes - * of this License, Derivative Works shall not include works that remain - * separable from, or merely link (or bind by name) to the interfaces of, - * the Work and Derivative Works thereof. - * - * "Contribution" shall mean any work of authorship, including - * the original version of the Work and any modifications or additions - * to that Work or Derivative Works thereof, that is intentionally - * submitted to Licensor for inclusion in the Work by the copyright owner - * or by an individual or Legal Entity authorized to submit on behalf of - * the copyright owner. For the purposes of this definition, "submitted" - * means any form of electronic, verbal, or written communication sent - * to the Licensor or its representatives, including but not limited to - * communication on electronic mailing lists, source code control systems, - * and issue tracking systems that are managed by, or on behalf of, the - * Licensor for the purpose of discussing and improving the Work, but - * excluding communication that is conspicuously marked or otherwise - * designated in writing by the copyright owner as "Not a Contribution." - * - * "Contributor" shall mean Licensor and any individual or Legal Entity - * on behalf of whom a Contribution has been received by Licensor and - * subsequently incorporated within the Work. - * - * 2. Grant of Copyright License. Subject to the terms and conditions of - * this License, each Contributor hereby grants to You a perpetual, - * worldwide, non-exclusive, no-charge, royalty-free, irrevocable - * copyright license to reproduce, prepare Derivative Works of, - * publicly display, publicly perform, sublicense, and distribute the - * Work and such Derivative Works in Source or Object form. - * - * 3. Grant of Patent License. Subject to the terms and conditions of - * this License, each Contributor hereby grants to You a perpetual, - * worldwide, non-exclusive, no-charge, royalty-free, irrevocable - * (except as stated in this section) patent license to make, have made, - * use, offer to sell, sell, import, and otherwise transfer the Work, - * where such license applies only to those patent claims licensable - * by such Contributor that are necessarily infringed by their - * Contribution(s) alone or by combination of their Contribution(s) - * with the Work to which such Contribution(s) was submitted. If You - * institute patent litigation against any entity (including a - * cross-claim or counterclaim in a lawsuit) alleging that the Work - * or a Contribution incorporated within the Work constitutes direct - * or contributory patent infringement, then any patent licenses - * granted to You under this License for that Work shall terminate - * as of the date such litigation is filed. - * - * 4. Redistribution. You may reproduce and distribute copies of the - * Work or Derivative Works thereof in any medium, with or without - * modifications, and in Source or Object form, provided that You - * meet the following conditions: - * - * (a) You must give any other recipients of the Work or - * Derivative Works a copy of this License; and - * - * (b) You must cause any modified files to carry prominent notices - * stating that You changed the files; and - * - * (c) You must retain, in the Source form of any Derivative Works - * that You distribute, all copyright, patent, trademark, and - * attribution notices from the Source form of the Work, - * excluding those notices that do not pertain to any part of - * the Derivative Works; and - * - * (d) If the Work includes a "NOTICE" text file as part of its - * distribution, then any Derivative Works that You distribute must - * include a readable copy of the attribution notices contained - * within such NOTICE file, excluding those notices that do not - * pertain to any part of the Derivative Works, in at least one - * of the following places: within a NOTICE text file distributed - * as part of the Derivative Works; within the Source form or - * documentation, if provided along with the Derivative Works; or, - * within a display generated by the Derivative Works, if and - * wherever such third-party notices normally appear. The contents - * of the NOTICE file are for informational purposes only and - * do not modify the License. You may add Your own attribution - * notices within Derivative Works that You distribute, alongside - * or as an addendum to the NOTICE text from the Work, provided - * that such additional attribution notices cannot be construed - * as modifying the License. - * - * You may add Your own copyright statement to Your modifications and - * may provide additional or different license terms and conditions - * for use, reproduction, or distribution of Your modifications, or - * for any such Derivative Works as a whole, provided Your use, - * reproduction, and distribution of the Work otherwise complies with - * the conditions stated in this License. - * - * 5. Submission of Contributions. Unless You explicitly state otherwise, - * any Contribution intentionally submitted for inclusion in the Work - * by You to the Licensor shall be under the terms and conditions of - * this License, without any additional terms or conditions. - * Notwithstanding the above, nothing herein shall supersede or modify - * the terms of any separate license agreement you may have executed - * with Licensor regarding such Contributions. - * - * 6. Trademarks. This License does not grant permission to use the trade - * names, trademarks, service marks, or product names of the Licensor, - * except as required for reasonable and customary use in describing the - * origin of the Work and reproducing the content of the NOTICE file. - * - * 7. Disclaimer of Warranty. Unless required by applicable law or - * agreed to in writing, Licensor provides the Work (and each - * Contributor provides its Contributions) on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied, including, without limitation, any warranties or conditions - * of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - * PARTICULAR PURPOSE. You are solely responsible for determining the - * appropriateness of using or redistributing the Work and assume any - * risks associated with Your exercise of permissions under this License. - * - * 8. Limitation of Liability. In no event and under no legal theory, - * whether in tort (including negligence), contract, or otherwise, - * unless required by applicable law (such as deliberate and grossly - * negligent acts) or agreed to in writing, shall any Contributor be - * liable to You for damages, including any direct, indirect, special, - * incidental, or consequential damages of any character arising as a - * result of this License or out of the use or inability to use the - * Work (including but not limited to damages for loss of goodwill, - * work stoppage, computer failure or malfunction, or any and all - * other commercial damages or losses), even if such Contributor - * has been advised of the possibility of such damages. - * - * 9. Accepting Warranty or Additional Liability. While redistributing - * the Work or Derivative Works thereof, You may choose to offer, - * and charge a fee for, acceptance of support, warranty, indemnity, - * or other liability obligations and/or rights consistent with this - * License. However, in accepting such obligations, You may act only - * on Your own behalf and on Your sole responsibility, not on behalf - * of any other Contributor, and only if You agree to indemnify, - * defend, and hold each Contributor harmless for any liability - * incurred by, or claims asserted against, such Contributor by reason - * of your accepting any such warranty or additional liability. - * - * END OF TERMS AND CONDITIONS - * - * APPENDIX: How to apply the Apache License to your work. - * - * To apply the Apache License to your work, attach the following - * boilerplate notice, with the fields enclosed by brackets "[]" - * replaced with your own identifying information. (Don't include - * the brackets!) The text should be enclosed in the appropriate - * comment syntax for the file format. We also recommend that a - * file or class name and description of purpose be included on the - * same "printed page" as the copyright notice for easier - * identification within third-party archives. - * - * Copyright [yyyy] Apache Software Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -

You can download the original license file here.

-

The License is accompanied by a NOTICE

- - ========================================================================= - == NOTICE file corresponding to the section 4 d of == - == the Apache License, Version 2.0, == - == in this case for the Apache Ant distribution. == - ========================================================================= - - This product includes software developed by - The Apache Software Foundation (http://www.apache.org/). - - This product includes also software developed by : - - the W3C consortium (http://www.w3c.org) , - - the SAX project (http://www.saxproject.org) - - Please read the different LICENSE files present in the root directory of - this distribution. - - The names "Ant" and "Apache Software Foundation" must not be used to - endorse or promote products derived from this software without prior - written permission. For written permission, please contact - apache@apache.org. - -
-
-

The Apache Software License, Version 1.1, applies to all versions of up to Apache Ant 1.6.0 included.

- /* - * ============================================================================ - * The Apache Software License, Version 1.1 - * ============================================================================ - * - * Copyright (C) 2000-2003 The Apache Software Foundation. All - * rights reserved. - * - * Redistribution and use in source and binary forms, with or without modifica- - * tion, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. The end-user documentation included with the redistribution, if any, must - * include the following acknowledgment: "This product includes software - * developed by the Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, if - * and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Ant" and "Apache Software Foundation" must not be used to - * endorse or promote products derived from this software without prior - * written permission. For written permission, please contact - * apache@apache.org. - * - * 5. Products derived from this software may not be called "Apache", nor may - * "Apache" appear in their name, without prior written permission of the - * Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- - * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * This software consists of voluntary contributions made by many individuals - * on behalf of the Apache Software Foundation. For more information on the - * Apache Software Foundation, please see <http://www.apache.org/>. - * - */ - -
- -
diff --git a/xdocs/mail.xml b/xdocs/mail.xml deleted file mode 100644 index 36daaae6b1..0000000000 --- a/xdocs/mail.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Mailing Lists - Apache Ant PMC - - - - -
- -

Please read the guidelines of - the Jakarta Project before subscribing and posting to any of - the lists below. They apply to Apache Ant's lists as well.

- -

The user and dev list are subscriber only lists, this means - you have to subscribe before you can post to the list. Please - note that any HTML parts sent to the lists will be removed by our - mailing list software - you shouldn't be sending HTML mails - anyway.

- -

To subscribe to a mailinglist use the links below. In your first email you will get some - information about working with the list manager EZMLM.

- - -

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive - Third Party Archive -

- -

This list is for developers that are using Ant in their own - projects to ask questions, share knowledge, and discuss issues - related to using Apache Ant as a build tool.

-
- - -

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive -

- -

This list is for developers that are using Ivy or IvyDE in - their own projects to ask questions, share knowledge, and - discuss issues related to using Apache Ivy with or without Apache Ant.

-
- - -

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive - Third Party Archive -

- -

This is the list where participating developers of the Apache Ant - build tool, Apache Ivy or the Ant libraries developed by the Ant team - meet and discuss issues, code changes/additions, etc.

-
- - -

- Medium Traffic - Subscribe - Unsubscribe - ASF Archive -

- -

Subscribers to this list get notices of each and every - code change, build results, testing notices, etc.

-
- - -

- First, find out the particular email adress to which ezmlm is sending. - The email headers are visible in Microsoft Outlook via the messages menu - "View | Options". -

-        Microsoft Mail Internet Headers Version 2.0
-        ...
-        List-Unsubscribe: <mailto:user-unsubscribe@ant.apache.org>
-        List-Help: <mailto:user-help@ant.apache.org>
-        List-Post: <mailto:user@ant.apache.org>
-        List-Id: "Ant Users List" <user.ant.apache.org>
-        Reply-To: "Ant Users List" <user@ant.apache.org>
-        Delivered-To: mailing list user@ant.apache.org
-        ...
-        Return-Path: user-return-12345-john=host.domain@ant.apache.org
-        ...
-        
- The Return-Path header contains the email address which is subscribed. -

-

To stop subscription for the address john@host.domain , send an email to

dev-unsubscribe-john=host.domain@ant.apache.org
- or to
user-unsubscribe-john=host.domain@ant.apache.org
. -

-
-
-
- -

These lists are archived at

- - - - -
- -
diff --git a/xdocs/manualdownload.xml b/xdocs/manualdownload.xml deleted file mode 100644 index 5dd7986109..0000000000 --- a/xdocs/manualdownload.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - Ant Manual Distributions - - - - - -
- -

Apache Ant's manual is part of the binary distribution but is also - available as a stand-alone download.

- -

Use the links below to download a distribution of Ant's manual from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

- -

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

- -

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

- -
- -
- -

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

- -
-Other mirrors: - -
-
- -
- -

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

- -
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-

-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- - -
- - -
- -

Manuals for older releases of Ant can be -found here.

- -
- -
- -

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

- -

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

- -

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-manual.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-manual.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-manual.tar.gz.asc -

- -

A command line version of GnuPG -is also available for Windows users. Follow the -instructions -to verify the package.

- -

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

- -

We highly recommend to verify the PGP signature, though.

- -
- - -
diff --git a/xdocs/mission.xml b/xdocs/mission.xml deleted file mode 100644 index cd94ce2a38..0000000000 --- a/xdocs/mission.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - Apache Ant&#x2122; Mission - Apache Ant PMC - - - -
- -

Apache Ant is a project of the Apache Software Foundation. It - started as a subproject of the Apache Jakarta Project.

- -

This is the board resolution (from the minutes) - that created the Apache Ant project:

- - -7.D. Resolution [R3] to create the Ant PMC - -WHEREAS, the Board of Directors deems it to be in the best -interests of the Foundation and consistent with the -Foundation's purpose to establish a Project Management -Committee charged with the creation and maintenance of -open-source software related to the Apache Ant build tool, for -distribution at no charge to the public. - -NOW, THEREFORE, BE IT RESOLVED, that a Project Management -Committee (PMC), to be known as the "Apache Ant PMC", be and -hereby is established pursuant to Bylaws of the Foundation; and -be it further - -RESOLVED, that the Apache Ant PMC be and hereby is responsible -for the creation and maintenance of the Ant build system and -related software components, based on software licensed to the -Foundation; and be it further - -RESOLVED, that the office of "Vice President, Apache Ant" be -and hereby is created, the person holding such office to serve -at the direction of the Board of Directors as the chair of the -Apache Ant PMC, and to have primary responsibility for -management of the projects within the scope of responsibility -of the Apache Ant PMC; and be it further - -RESOLVED, that the persons listed immediately below be and -hereby are appointed to serve as the initial members of the -Apache Ant PMC: - - Bruce Atherton - Stephane Bailliez - Stefan Bodewig - Erik Hatcher - Diane Holt - Donald Leslie - Steve Loughran - Conor MacNeill - Costin Manolache - Sam Ruby - Jon Skeet - Magesh Umasankar - Christoph Wilhelms - -NOW, THEREFORE, BE IT FURTHER RESOLVED, that Conor MacNeill be -and hereby is appointed to the office of Vice President, Apache -Ant, to serve in accordance with and subject to the direction -of the Board of Directors and the Bylaws of the Foundation -until death, resignation, retirement, removal or -disqualification, or until a successor is appointed; and be it -further - -RESOLVED, that the initial Apache Ant PMC be and hereby is -tasked with the creation of a set of bylaws intended to -encourage open development and increased participation in the -Apache Ant Project. - -By Unanimous Vote, Resolution R3 was approved. The Ant PMC is -hereby created. - - -
- -
diff --git a/xdocs/nightlies.xml b/xdocs/nightlies.xml deleted file mode 100644 index dd9f6b46fa..0000000000 --- a/xdocs/nightlies.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - Nightly+Continuous Builds - - - - - -
- -

We don't provide binary nightly builds at the moment, but if you -want to build Apache Ant from sources, you can use a Subversion snapshot.

- -
- - - -
- -

Ant and Ivy are using Continous Integrations systems to improve the development process. -Note that these are no official builds and they are not endorsed or even supported by the Ant team. -But if you have problems with testing the latest (successful) build, you are welcome to post -that on the developer mailinglist. -You can directly access the builds of Ant and Ivy on these CI installations:

- -

The Apache Software Foundation hosts an -installation of the Hudson CI-system which Ant + Ivy -use.

- - - - - - current development on the lowest defined JDK - - - current development on the lowest defined JDK - - - Checks the POMs by building Ant by Maven - - - Metric checks of Ant Trunk (Findbugs, RAT, Checkstyle) - - - Checks Ant Trunk against several JDKs (1.4, 1.5, 1.6) - - - - - current development - - - Metric checks of Ivy Trunk (Findbugs, RAT, Checkstyle) - - - - - current development - - - Update your Eclipse installation with the latest Ivy/IvyDE - - - - -

JetBrains is offering Ant the service of a Continuous Build on their TeamCity system.

- - - - - current development (Windows platform) - - - current development (Linux platform) - - - current development (MacOS platform) - - - JavaDocs for classes and testclasses - Daily at 08:00 GMT
(if there are pending changes)
-
- - check the conformance against coding styleguide - - - runs Findbugs against Ant Codebase - Daily at 08:00
(if there are pending changes)
-
- - a 'distribution' nearly as done while releasing - Daily at 08:00 GMT
(if there are pending changes)
-
-
- - - current development - - - maintenance of 2.x releases - - - check of code styleguide - Daily at 00:00 GMT + 12:00 GMT
(if there are pending changes)
-
- - a 'distribution' nearly as done while releasing. - Daily at 09:00 GMT
(if there are pending changes)
-
-
-
- -
- - -
diff --git a/xdocs/problems.xml b/xdocs/problems.xml deleted file mode 100644 index a718f46348..0000000000 --- a/xdocs/problems.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Conor MacNeill - Having Problems? - - - -
-

- This page details some steps you can take to try and resolve - any problems you may be having with Apache Ant. If you find you can't - resolve the problem, then this page will help you collect some of - the relevant information to provide in a bug report. This information - will help the Ant developers understand and resolve the problem. - Of course, not all the steps here will make sense for every problem - you may encounter - these are just some suggestions to point - you in the right direction. -

- - -

Many tools include a version of Ant and some Operating - Systems even install it by default now, so you may have a - version of Ant installed that you haven't been aware of.

- -

One of the first things to do is to run -



- ant -version -



- and -



- ant -diagnostics -



- to be sure. Also, we highly recommend that you run Ant with - an empty CLASSPATH. If any other version of Ant can be - loaded from the CLASSPATH, many types of errors may happen - because of incompatible classes being loaded.

- -

See the FAQ for some examples, but many - other problems are a result of an old version of Ant on your - system as well.

- -
- - -

- The first step to take when you have a problem with Ant is to read - the manual entry for the task or - concept that is giving you trouble. In particular, check the - meaning of a task's attributes and nested elements. Perhaps an - attribute is available that would provide the behavior you require. - If you have problems with the manual itself, you can submit a - documentation bug report (see below) to help us improve the Ant - documentation. -

-
- -

- If you're still having a problem, the next step is to try and - gather additional information about what Ant is doing. - Try running Ant with the verbose flag: -



- ant -verbose -



- or -



- ant -v -



- - This will produce output that starts like the following:

- - - - -
-Ant version 1.4.1 compiled on October 11 2001

-Buildfile: build.xml

-Detected Java version: 1.3 in: D:\usr\local\java\jdk13\jre

-Detected OS: Windows NT

-parsing buildfile D:\ant\build.xml -with URI = file:D:/ant/build.xml

-Project base dir set to: D:\ant

-  [property] Loading Environment env.

-  [property] Loading D:\ant\conf.properties

-Build sequence for target 'debug' is [debug]

-Complete build sequence is [debug, gensrc, compile, jar, test]

-. . .

-
-

- You should be able to see from the trace more about what Ant - is doing and why it's taking a particular course of action. - If you need even more information, you can use the - -debug flag rather than - -verbose. - This will generally produce so much - output that you may want to save the output to a file and - analyze it in an editor. You can save the output using the - -logfile <filename> flag, or - using redirection. -

-

- Once you have all this debug information, how can you use it - to solve your problem? That will depend on the task in question - and the nature of your problem. Each task logs different aspects - of its operation, but it should give you an idea of what is going - on. For example, the <javac> task logs the - reasons why it - chooses to compile particular class files and not others, along - with which compiler it is using and the arguments it will pass - to that compiler. The following partial trace shows why - <javac> is adding one class file but - skipping another. - This is followed by which compiler it will be using, the - arguments that will get passed to the compiler, - and a list of all the class files to be compiled. -

- - - - -
-[javac] Test.java omitted as D:\classes\Test.class is up to date.

-[javac] Unset.java added as D:\classes\Unset.class is outdated.

-[javac] Compiling 1 source file to D:\classes

-[javac] Using classic compiler

-[javac] Compilation args: -d D:\classes -classpath D:\classes;

-D:\jdk118\classes.zip; -sourcepath D:\src\java -g:none

-[javac] File to be compiled:

-D:\src\java\Unset.java

-
- -

- In many cases, Ant tasks are wrappers around OS commands or - other Java classes. In debug mode, many of these tasks will - print out the equivalent command line, as the - <javac> task - output does. If you are having a problem, it is often useful to - run the command directly from the command line, in the same way - Ant is running it, and see if the problem occurs from there - as well. The problem may be in the command that is being run, - or it may be in the way the Ant task is running the command. - You can also see the effect of changing attribute values on the - generated command line. This can help you to understand whether - you are using the correct attributes and values. -

-
- - -

- After examining the debug output, if you still believe that the - problem you are having is caused by Ant, chances are that someone - else may have already encountered this problem, and perhaps it has - been fixed. The next step, therefore, would be to download the - sources of ant, see svn. -

-

- Gump - is building ant every night and using the ant built from the - latest source to build a long list of open source projects. However, - the version of ant built by gump is not available for download. Even - if it were, it would not include most of the optional tasks. -

-

- We currently do not have nightly builds including the optional tasks. -

-
- - - -
-
-

If you are convinced that you have identified an unfixed bug, please turn to - our document concerning the bug database.

-
- - -
diff --git a/xdocs/projects.xml b/xdocs/projects.xml deleted file mode 100644 index e43df8b2c7..0000000000 --- a/xdocs/projects.xml +++ /dev/null @@ -1,740 +0,0 @@ - - - - - - Stefan Bodewig - Related Projects - - - - - -
- -

Nothing listed here is directly supported by the Apache Ant - developers, if you encounter any problems with them, please use - the contact information.

- - - -

AndroMDA is a code generator tool that follows the Model - Driven Architecture (MDA) paradigm. It takes a UML model from - a CASE-tool and generates classes and deployable components - (J2EE or other) specific for your application - architecture.

- - - - - - - - - - - - - - - - - - -
Compatibility:1.4.1 and above
URL:http://www.AndroMDA.org/
Contact:project mailing lists
License:BSD license
-
- - - -

The Ant-Contrib project is a collection of user supplied - task (like an <if> task) and a development - playground for experimental tasks like a C/C++ compilation - task for different compilers.

- - - - - - - - - - - - - - - - - - -
Compatibility:1.4.1 and above
URL:http://ant-contrib.sourceforge.net/
Contact:project mailing list
License:Apache Software Foundation License
-
- - - -

A GUI for running Ant and editing build files, can run as - stand-alone or as a plugin to jEdit. In addition to running - targets, Antelope can generate performance statistics and can - trace/display a target's execution path without actually - executing the target.

- -

Includes several additional tasks: Assert, If/Else, - Try/Catch/Finally, Switch, Variable, Stopwatch, Limit, Math, - Post, SSH, SCP, AntFetch, AntCallBack.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and higher.
URL:http://antelope.tigris.org/
Contact:Dale Anson
License:Apache Software Foundation License
-
- - - - -

Anthill is a build tool that promotes a controlled build - process by ensuring that every build reflects the source - repository contents and tagging the repository with a unique - build number after every build. Anthill also encourages the - sharing of knowledge within an organization by automatically - updating a project intranet site with artifacts from the - latest build.

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.3, is compatible with Ant 1.3 to 1.4.1
URL:http://www.urbancode.com/projects/anthill/
Contact:Maciej Zawadzki
License:Mozilla-like license
-
- - - -

Antigen (Ant Installer Generator) is a tool to take an Ant build script, combine it with a GUI - and wrap it up as an executable jar file. Its main use is for creating graphical, ant-based installers.

- - - - - - - - - - - - - - - - - - -
Compatibility:bundles Ant 1.6.2
URL:http://antigen.sourceforge.net/
Contact:Jon Tayler
License:Academic Free License
-
- - -

Builds MSI style installers (with command line option) - using Ant as Back end. UI developed by writing an XML install - descriptor. Runtime launched from scripts or an all inclusive - Jar.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.1 others not tested
URL:http://antinstaller.sf.net/
Contact:teknopaul@users.sourceforge.net
License:LGPL but in the process of of moving to Apache2.0 on request
-
- - -

Antiplate is an ant-script that seeds a project-structure for typical java-projects, - including an ant-buildscript with typical targets like compiling, create distributions, - execute tests etc.

- - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 or later
URL:Homepage
Contact:antiplate@mnementh.de
License:Apache License 2.0
-
- - - - -

The Antlion Project adds value to Ant build scripts by providing - tasks which centralizes the library dependencies, and enables - projects to define dependencies upon other projects.

- -

External dependencies may be loaded from a custom local - repository or Maven-like remote repositories. Antlion handles - the generation of properties, filesets, and paths.

- -

Inter-project dependencies allow for building the other - project's files if they aren't already built.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6 and later
URL:http://antlion.sourceforge.net/
Contact:Project mailing list
License:Apache License, Version 2.0
-
- - - -

The Ant Script Library (ASL) is a collection of re-usable - Ant scripts that can be imported into your own projects. The ASL - provides a number of pre-defined targets that simplify setting up build - scripts for a new project, bringing re-use and consistency to your own - Ant scripts.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7 or later
URL:http://www.exubero.com/asl/ -
Contact:Joe Schmetzer
License:The Apache Software License 2.0
-
- - -

The domain is sold and we did not found it any more.

-
- - - -

The antworks project is a set of tools and standardized targets that - greatly simplifies using ant in your project.

-

- The driver behind antworks is Importer. Importer is an extension to the - ant import task that will download and - cache an ant build.xml file and it's associated resources called - antlets. Antlets are available for Java compiling - and packaging, JUnit, Forrest, J2EE and - more. -

-

- See the Getting Started - guide for more information. -

- - - - - - - - - - - - - - - - - - -
Compatibility:1.6 and later
URL:http://antworks.sourceforge.net/index.html
Contact:Antworks Developers mailing lists
License:The Apache License 2.0
-
- - - -

BuildMonkey is a Web-based automated build dashboard, with upload - capability and google web search. It schedules the running of Ant - build scripts - checking sources out of CM - and makes the results - available centrally.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5.4 or later
URL:http://www.buildmonkey.com/
Contact:jb@buildmonkey.com
License:Freeware, commercial/support licences available
-
- - - -

CruiseControl is a tool for setting up a continuous build - process. CruiseControl provides an Ant wrapper and a set of - tasks to automate the checkout/build/test cycle. CruiseControl - also comes bundled with a servlet for viewing the status of - the current build, as well as previous build results.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.2 and higher
URL:http://cruisecontrol.sourceforge.net/
Contact:Project Mailing Lists and Administrators
License:Release 1.0 has been licensed under the GNU General Public - License. Starting with release 1.1 the license has been - changed to a BSD-like license.
-
- - - - -

The goal of Flaka is to simplify writing build scripts using -

    -
  • Regular control structures (when, for, switch, ..)
  • -
  • Exception handling
  • -
  • An Expression Language which in turn provdes: -
      -
    • access to underlying data objects
    • -
    • untyped variables in addition to Ant properties
    • -
    • powerfull expressions like cond ? then : else
    • -
    -
  • -
- Checkout the manual's overview chapter about the feature Flaka provides. Have especially a look at the section describing the expression language. -

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.7 and higher
URL:http://workbench.haefelinger.it/flaka/
Contact:Contact Project Lead
License:Apache License v.20
-
- - - - -

Invicta is a build management tool. Using simple project definition files, - it generates powerful build scripts (such as ANT) while hiding their - complexity. Invicta is a modular framework that allows developing additional - components and output types.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.5 and higher
URL:http://invicta.sf.net/
Contact:Project Mailing Lists and Administrators
License:LGPL.
-
- - - -

JAM is a modular Ant toolkit for developing and testing Java/J2EE - applications. JAM supports EJB and Servlet/JSP development using XDoclet, - JUnit, Cactus, Maven, Castor and MDA/UML code generation on various J2EE - servers including JBoss.

- -

From JAMs website: NOTICE: As of June 2006 JAM is no longer supported. - We recommend Maven 2 Tasks for Ant as a replacement.

- - - - - - - - - - - - - - -
Compatibility:Ant 1.6
URL:http://www.javagen.com/jam/
License:GPL
-
- - -

The Centipede admin told us, that that project - "is no more" and that "Antworks has taken it place." -

-
- - -

Leafcutter is an API which allows you to execute Ant tasks from Java code.
- Leafcutter is useful as:

    -
  • A way of integrating Ant tasks into existing Java programs.
  • -
  • A wholesale alternative to standard Ant for process automation.
  • -
-

- - - - - - - - - - - - - - - - - -
Compatibility:unknown
URL:https://leafcutter.dev.java.net/
Contact:Discussion Forum
License:Apache Software Foundation License
-
- - - -

Luntbuild is an open source build automation and management - tool based on Apache Ant. Builds are setup through concepts of - projects, views, schedules, modules, etc. All configurations - and monitoring tasks is performed from a clean web - interface. It supports schedules builds, force builds, - rebuilds, clean build, increment build, etc.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.x
URL:http://luntbuild.javaforge.com/
Contact:luntbuild project page
License:Opensource
-
- - - -

NAnt is a .NET based build tool. In theory it is kind of - like make without make's wrinkles. In practice it's a lot like - Ant.

- - - - - - - - - - - - - - - - - - -
Compatibility:compatible in spirit.
URL:http://nant.sourceforge.net/
Contact:project mailing list
License:GNU General Public License
-
- - - -

Parabuild is an automated multiplatform build management server. - Parabuild helps software teams and organizations of all sizes reduce - risks of project failures and increase productivity by providing provides - automatic continuous integration builds and stable scheduled builds.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.3 and later
URL:http://www.viewtier.com/products/parabuild.htm
Contact:http://www.viewtier.com/about_us.htm
License:Commercial
-
- - - -

Rant stands for Remote Ant. It is a distributed build - system that allows an Ant build file to launch builds on other - systems and receive exceptions should they occur.

- -

Note: As the Sourceforge project site - shows, the last update was on Feb 09 2002. (jhm)

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://remoteant.sourceforge.net/
Contact:Chris Nelson
License:MIT License
-
- - - -

Savant is a build and dependency management tool written in Java. Savant can be used in - two different ways:

    -
  • As a stand-alone build tool that wraps Apache Ant and provides a number of cool new - features such as plugins that are versioned and downloadable
  • -
  • As a set of tasks which can be used within Apache Ant build files
  • -

- - - - - - - - - - - - - - - - - - -
Compatibility:Unknown. There is a distro, which ships Ant 1.7.1
URL:http://code.google.com/p/savant-build/
Contact:Bugtracking system
License:ASF 2.0
-
- - - -

WebTest is a free open source tool for automated testing of web applications. - It is a set of powerful Ant tasks allowing to call web pages, mimic user actions - (clicking links, filling forms, ...) and verify the results. - The generated reports give comprehensive information on success and failure of the test steps.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.6.5
URL:http://webtest.canoo.com/
Contact:project mailing list
License:Apache like license
-
- - - -

XML Publication is a set of tools to generate Web pages - from desktop documents or other structured documents using - XSLT and Ant.

- - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.4
URL:http://wwbota.free.fr/XMLPublication/
Contact:Jean-Marc Vanel
License:GNU General Public License.
-
- - - -

yEd is a freeware multi-purpose graph and diagram editor - that runs on the Java 2 platform. It provides an import filter - for Ant build scripts that makes it possible to conveniently - display and browse the dependencies between the different targets - of the build file. This is especially useful for debugging and - understanding large build files.

- - - - - - - - - - - - - - - - - - - - -
Compatibility:Ant 1.x
URL:http://www.yworks.com/products/yed/
Contact:yWorks Support
License:Freeware
-
-
- - -
\ No newline at end of file diff --git a/xdocs/projects/index.xml b/xdocs/projects/index.xml deleted file mode 100644 index c0bf3b68ae..0000000000 --- a/xdocs/projects/index.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Christoph Wilhelms - Welcome - - - - -
-

This is where the Apache Ant sub-projects live!

- -

Now, that Apache Ant has become an Apache Top-Level Project it is time to make space on this - Web-Page for Ant sub-projects.

-

To make sure you do not miss anything: Stay tuned and visit this page from time to time :)! -

-
- - -
- diff --git a/xdocs/projects/ivy.xml b/xdocs/projects/ivy.xml deleted file mode 100644 index 8508a4eb07..0000000000 --- a/xdocs/projects/ivy.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - The Apache Ivy Subproject - - - - -
-

Apache Ivy

- -

Apache Ivy is a simple yet powerful dependency manager featuring continuous integration, - dependencies of dependencies management, multiple repositories including ibiblio and - high performance (use of a local cache).

- -
- - -
- diff --git a/xdocs/projects/ivyde.xml b/xdocs/projects/ivyde.xml deleted file mode 100644 index bd257601ef..0000000000 --- a/xdocs/projects/ivyde.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - The Apache IvyDE Subproject - - - - -
-

Apache IvyDE

- -
    Apache IvyDE is the Eclipse plugin which intergrates Apache Ivy into your java development enviromnent. It includes: -
  • an Ivy xml files editor: creation wizard, html preview and completion for Ivy xml tag, attributes but also attributes' values.
  • -
  • an Ivy settings files editor: completion for xml tag, attributes but also attributes' values.
  • -
  • a classpath container: automatic downloads, access "resolve" task from your IDE, and resolve in Eclipse's workspace
  • -
  • an Ivy console: presents every log from Ivy, really helpful to debug a failing resolve
  • -
-
- - -
diff --git a/xdocs/resources.xml b/xdocs/resources.xml deleted file mode 100644 index 3eb03cc570..0000000000 --- a/xdocs/resources.xml +++ /dev/null @@ -1,779 +0,0 @@ - - - - - - Resources - - - -
- - -

Starting with the release of Apache Ant 1.4 the Ant's FAQ is - bundled with the distribution, the most recent version can - always be found at the website.

- - - - - - -
FAQ:http://ant.apache.org/faq.html
-
- - -

jGuru hosts an interactive Ant discussion forum and FAQ system

- - - - - - - - - - -
Forum:http://www.jguru.com/forums/home.jsp?topic=Ant
FAQ:http://www.jguru.com/faq/home.jsp?topic=Ant
-
- - -

Benoit Moussaud, the original author of the Borland - Application Server specific EJB tasks has put - together a FAQ for this specific subtask.

- - - - - - -
FAQ:http://www.moussaud.org/ejbjar.html
-
-
- -
- - -

The ASF provides a Wiki farm for Apache projects.

- - - - - - - - - - -
Main page:Apache Wiki Farm
Ant Wiki:Ant Wiki
-
-
- - - - -
-

The most recent books come first

- -

Published April/May 2007, and covering Ant 1.7.

- -

This is a major rewrite of the first edition; still 600 pages long. -

- -

- This book moves up from Ant1.5 to Java1.5 and 1.7, with a near-complete - rewrite of the applied-ant section, covering new topics such as - antlibs, repository management with Ivy, Xml Schema validation, - EJB3.0/Java EE development and advanced deployment using SmartFrog. - The ant coding section looks at AntUnit, antlib authoring and - scripting languages, while the beginners chapters, the first third - of the book, still shows developers how to build, test, package and - redistribute a Java application. -

-

- If you are one of the 20,000+ owners of the first edition, it is now - obsolete. Sorry :) -

- - - - - - - - - - - - - - - - - - -
Author:Steve Loughran and Erik Hatcher
Publisher URL: - - http://www.manning.com/loughran/ - -
Book URL - - http://antbook.org/ - -
Source code repository - - http://sourceforge.net/projects/antbook - -
-
- - -

Published April 2005, and covers Ant release 1.6.1.

- -

This is a complete rewrite of the first edition; this book is - now 290 pages and so covers Ant in more depth than its predecessor. -

- -

It also mixes reference information (tables) with text explanation - on how to use the tasks. Contents includes JUnit, CVS, execution, basic - deployment, Web application development and XDoclet. There is also coverage - of XDoclet, and a chapter on how to extend Ant in Java.

- - - - - - - - - - -
Author:Steve Holzner
URL: - http://www.oreilly.com/catalog/anttdg2/ -
-
- - -

- - How to Build, Deploy, and Monitor Java Applications. - Published: July 2004 ISBN: 0-9745140-3-9 -

-

- This is not a reference guide to Ant, but a book on how to automate the build process. - The core build, continuous integration, reporting and release management - are all covered. Ant is of course central to this. This is a fun read! -

- - - - - - - - - -
Author:Mike Clark
URL: - http://www.pragmaticprogrammer.com/sk/auto// -
-
- - - - -

This book shows how to implement an XP project using Ant 1.5.3, and many other 3rd party tools. Covers:

-
    -
  • The fundamentals of Ant: concepts, core and optional tasks
  • -
  • How to write custom Ant components, including custom Tasks, Loggers, Listeners, Input Handlers, Selectors, Filters, Mappers and Data Types
  • -
  • Mitigating risks by creating spike tests with Ant buildfiles
  • -
  • Add CVS version control and testing with JUnit
  • -
  • Automate nightly builds and reporting
  • -
  • Deploy applications dynamically using XDoclet
  • -
  • Enforcing Code Standards with Jalopy, PMD, CheckStyle, iContract, JDepend
  • -
  • Using Remote Ant (Rant) and CruiseControl
  • -
  • Generating project documentation
  • -
  • Adapting an XP process for use by other teams or across an enterprise
  • -
  • Custom Task examples to generating UML diagrams, creating reports and metrics on-the-fly
  • -
  • Follows a case-study of a team that implements an XP Project
  • -
- - - - - - - - - -
Authors:Glenn Niemeyer and Jeremy Poteet
URL:http://www.sams.com/catalog/product.asp?product_id=%7BFB825A48-BC04-4C55-BD8C-DF93C6BBF920%7D
-
- - -

A German language book on Ant that covers Ant 1.5. - This is the original description:

- - Das Build-Tool Ant ist das Open-Source-Werkzeug, das den Entwicklungsprozess einer Java- - oder J2EE-Anwendung wesentlich vereinfacht. Gesteuert durch XML-basierte Skripte f�hrt es - nahezu alle Aufgaben aus, die nach dem Kodieren einer Anwendung anfallen. -

Some topics:

-
    -
  • creating archives (zip, jar)
  • -
  • call the java compiler
  • -
  • edit property files
  • -
  • file operation
  • -
  • source code control systems
  • -
-

The book is available in English as "Ant: The Java Build Tool in Practice"

- - - - - - - - - -
Authors:Bernd Matzke
URL:http://www.addison-wesley.de/main/main.asp?page=home/bookdetails&ProductID=13459
-
- - -

Published 2002. This book covers Ant 1.5, including:

-
    -
  • The new Ant 1.5 features
  • -
  • Ant's datatypes and property handling
  • -
  • JUnit testing and reporting
  • -
  • Continuous integration techniques
  • -
  • XDoclet for attribute-oriented programming
  • -
  • EJB generation, building, and packaging
  • -
  • Writing and testing native code
  • -
  • Building Web Services with Apache Axis
  • -
  • Deploying your system to multiple remote servers
  • -
  • Using and writing -
      -
    • Loggers
    • -
    • Listeners
    • -
    • Selectors
    • -
    • Custom tasks
    • -
    -
  • -
-

Also available in Korean and German editions

- - - - - - - - - - -
Authors:Erik Hatcher and Steve Loughran
URL:http://www.manning.com/antbook/
-
- - - -

Published 2002, Covers Ant release 1.4.1.

- - - - - - - - - -
Authors:Jesse E. Tilly and Eric M. Burke
URL:http://www.oreilly.com/catalog/anttdg/
-
- - - -

A German language short reference for Ant that covers Ant - 1.4. This is the original description:

- - - Ant kurz & gut enthält eine vollständige Referenz der Built-in Tasks - und ihrer jeweiligen Attribute sowie kurze Beispiele für ihre Verwendung. - Daneben bietet das Buch eine knappe Einführung in die Arbeit mit Ant und - eine Erläuterung der Ant-Basiselemente (Projekte, Properties, Targets und Tasks). - Behandelt werden außerdem grundlegende Konzepte wie Filesets, Patternsets und - Pfadstrukturen, das Schreiben eigener Tasks, die Aufruf-Syntax und Optional Tasks. - - - - - - - - - -
Author:Stefan Edlich
URL:http://www.amazon.de/exec/obidos/ASIN/3897212412/
-
- - -

This book covers the following XP subjects:

-
    -
  • Automated unit and functional testing
  • -
  • Continuous integration through build and deployment automation
  • -
  • The value of refactoring and continuous integration
  • -
  • How Ant, JUnit, JUnitPerf, Cactus, HTTPUnit, and JMeter - can be used to achieve the goals of the XP methodology
  • -
- - - - - - - - - - -
Authors:Richard Hightower and Nicholas Lesiecki
URL:http://www.wiley.com/cda/product/0,,047120708X,00.html
-
- -
- -
- -

The following sections list articles and presentations - written about Apache Ant. If you've written something that - should be included, please post it to one of the mailing - lists.

- -
- -
- - -

Pure Java DocBook Systems, including Ant Integration

-

The DocBook team documents how to use "make" for DocBook. - This HOWTO document is an attempt to cover the neglected case of using - DocBook for pure Java projects.

- - - - - - - - - -
Author:Blaine Simpson
URL:http://pub.admc.com/howtos/ant-docbook-howto/
-
- - -

The contents of this document is the following:

    -
  • Section 2 provides a simple example how InputHandlers are created,
  • -
  • Section 3 develops an inputhandler that masks the passwords typed on the command line,
  • -
  • Section 4 gives two handlers, whose input is typed in graphical components,
  • -
  • Section 5 extends Input task so that we can use dierent input handlers on different uses of <input>,
  • -
  • Section 6 describes a problem found while writing this document,
  • -
  • Section 7 summarizes some dark corners the author do not understand.
  • -

- - - - - - - - - - -
Author:Ivan Ivanov
URL:https://sourceforge.net/project/showfiles.php?group_id=103509 (Download ZIP+PDF from Sourceforge)
-
- - - - -

Key G. Gauthier talks about writing "buildfiles" in Java.

- - - - - - - - - - -
Author:Key G. Gauthier
URL:http://www.ftponline.com/javapro/2004_06/magazine/features/kgauthier/
-
- - -

This article talks about XML namespace handling, Ant - libraries and the newly introduced type polymorphism.

- - - - - - - - - - -
Author:Stefan Bodewig
URL:http://otn.oracle.com/pub/articles/bodewig_taskwriters.html
-
- - - -

As Apache Ant is applied to increasingly difficult tasks, - its users are creating more complex and less legible build - files. This is due, in part, to the limited tools for - decomposition and code reuse within previous versions of - Ant.

- - - - - - - - - - -
Author:Geoffrey Wiseman
URL:http://www.sys-con.com/story/?storyid=45078&DE=1
-
- - -

This article describes the <macrodef>, <import> - and <subant> tasks in detail and shows how they help in - building bigger systems.

- - - - - - - - - - -
Author:Stefan Bodewig
URL:http://otn.oracle.com/pub/articles/bodewig_ant1.6.html
-
- - -

This article describes the main topics of programming your own tasks. - Description is done on five examples.

-

This article is written in German and published in - Java-Spektrum - 5/2004.

- - - - - - - - - - -
Author:Bernd Matzke
URL:http://www.sigs-datacom.de/sd/news/document?PID=216
-
- - -

This document describes strategies and some basic examples of how to - use Ant in larger team development projects.

- - - - - - - - - - -
Author:Steve Loughran
URL:http://ant.apache.org/ant_in_anger.html
-
- - -

This document describes how to write custom Ant tasks, and how to submit - them to potentially be included in Ant.

- - - - - - - - - - -
Author:Steve Loughran
URL:http://ant.apache.org/ant_task_guidelines.html
-
- - -

This article describes the gory details of writing custom - Ant tasks.

- - - - - - - - - - -
Author:Erik Hatcher
URL:http://www.fawcette.com/javapro/2003_02/magazine/features/ehatcher/l
-
- - -

This article demonstrates an approach to the automated build and test process. Working with Ant 1.3 and the JUnit test framework, it shows how to automate a process that captures pertinent information about each test suite run, generates an attractive report, and e-mails the report.

- - - - - - - - - - -
Author:Erik Hatcher
URL:http://www.ibm.com/developerworks/java/library/j-junitmail/
-
- - -

This article explores the benefits of unit testing with Ant and - JUnit, detailing how to develop automated unit tests and integrate them - into your build process.

- - - - - - - - - - -
Author:Malcolm Davis
URL:http://www-106.ibm.com/developerworks/library/j-ant/?dwzone=java
-
- - -

This article provides an introduction to using Ant with some basic - examples and by highlighting some of the important tasks.

- - - - - - - - - - -
Author:Michael Cymerman
URL:http://www.javaworld.com/javaworld/jw-10-2000/jw-1020-ant.html
-
- - -

There is a short tutorial on how to use Ant in Cactus' - documentation. It has a slant towards build files that will be used - with Cactus.

- - - - - - - - - - -
Author:Cactus development team
URL:http://jakarta.apache.org/cactus/howto_ant_primer.html
-
- - -

This article outlines how to integrate Ant into VisualAge for Java, - and how to write and debug custom tasks using the IDE and the - integrated debugger.

- - - - - - - - - - -
Author:Glenn McAllister
URL:http://www7.software.ibm.com/vad.nsf/data/document2366?OpenDocument&p=1&BCT=1&Footer=1
-
- - -

This article shows how you can perform command line builds with a - VisualAge for Java repository.

- - - - - - - - - - -
Author:Glenn McAllister
URL:http://www7.software.ibm.com/vad.nsf/Data/Document4366?OpenDocument&p=1&BCT=3&Footer=1
-
- - -

This article is from the "Best Practices" section of - Sun's Dot-Com Builder Site.

- - - - - - - - - - -
Author:Laura Geele Wang
URL:http://dcb.sun.com/practices/profiles/ant.jsp
-
- - -

This article is from the June 2001 issue of the Java Developer' - Journal. You need to be a registered JDJ subscriber to view this - article.

- - - - - - - - - - -
Author:Neal Ford
URL:http://www.sys-con.com/java/archivesa.cfm?volume=06&issue=06
-
- - -

This article describes how to use Ant to create Weblogic EJBs, and - some workarounds for issues you may encounter.

- - - - - - - - - - -
Author:Jesse E. Tilly
URL:http://www.onjava.com/pub/a/onjava/2001/06/25/antejb.html
-
- - -

A tutorial about using JavaScript and XSLT with Ant.

- - - - - - - - - - -
Author:Dylan Schiemann
URL:http://www.sitepen.com/ant/javascript.html
-
- - -

Series of articles that describe a framework for web - application development based on Ant and JUnit.

- - - - - - - - - - -
Author:Alex Chaffee
URL:Introduction: http://softwaredev.earthweb.com/sdtech/article/0,,12065_989631,00.html
- Directory Structure: http://softwaredev.earthweb.com/sdtech/article/0,,12082_994991,00.html
- Deployment and Distribution: http://softwaredev.earthweb.com/sdtech/article/0,,12077_998241,00.html
-
- - -

Series of articles that shows how to use Ant together with - the Java API for XML Binding (JAXB).

- - - - - - - - - - -
Author:Joseph Shelby
URL:http://www.onjava.com/pub/a/onjava/2002/03/06/jaxant1.html
- http://www.onjava.com/pub/a/onjava/2002/03/13/jaxbant2.html
-
-
- -
- - -

A PowerPoint presentation on Ant 1.2. It provides a basic overview - of Ant's capabilities.

- - - - - - - - - - -
Author:Patrick Chanezon
URL:http://people.netscape.com/chanezon/tech/ant/ant_preso.ppt
-
- - -

A detailed Ant 1.3 PowerPoint presentation, made at the St. Louis Java Users Group - meeting in March 2001. Includes a detailed build file and basic - descriptions of all the built in and optional tasks. Updated for Ant 1.4 in October 2001. - Available in PDF format now.

- - - - - - - - - - -
Author:Mark Volkmann
URL:http://www.ociweb.com/jnb/files/Ant.pdf
-
- - -
- -
diff --git a/xdocs/srcdownload.xml b/xdocs/srcdownload.xml deleted file mode 100644 index 927c8339b8..0000000000 --- a/xdocs/srcdownload.xml +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - Source Distributions - - - - - -
-

Apache Ant is a Java library and command-line tool that help - building software.

-
- -
- -

Use the links below to download a source distribution of Ant from -one of our mirrors. It is good practice to -verify the integrity -of the distribution files, especially if you are using one of our -mirror sites. In order to do this you must use the signatures from -our main distribution -directory.

- -

Ant is distributed as zip, tar.gz and -tar.bz2 archives - the contents are the same. Please -note that the tar.* archives contain file names longer -than 100 characters and have been created using GNU tar extensions. -Thus they must be untarred with a GNU compatible version of -tar.

- -

If you do not see the file you need in the links below, please see -the master distribution -directory or, preferably, its mirror.

- -
- -
- -

You are currently using [preferred]. If you encounter a -problem with this mirror, please select another mirror. If all -mirrors are failing, there are backup mirrors (at the end of -the mirrors list) that should be available.

- -
-Other mirrors: - -
-
- -
- -

Currently, Apache Ant 1.8.2 is the best available version, see the -release notes.

- -
-
Note
-
Ant 1.8.2 was released on 27-December-2010 and -may not be available on all mirrors for a few days.
-
-

-
-
Tar files may require gnu tar to extract
-
Tar files in the distribution contain long file names, and may - require gnu tar to do the extraction.
-
- - -
- - -
- -

Older releases of Ant can be found here. We highly -recommend to not use those releases but upgrade to Ant's latest release.

- -
- -
- -

It is essential that you verify the integrity of the downloaded -files using the PGP signature or the SHA1, SHA512 or MD5 checksums. The -checksums are not as strong indicators as the PGP signature.

- -

The PGP signatures can be verified using PGP or GPG. First -download the KEYS -as well as the asc signature file for the particular -distribution. Make sure you get these files from the main distribution -directory, rather than from a mirror. Then verify the signatures -using

- -

-% pgpk -a KEYS
-% pgpv apache-ant-1.8.2-src.tar.gz.asc
-
-or
- -% pgp -ka KEYS
-% pgp apache-ant-1.8.2-src.tar.gz.asc
-
-or
- -% gpg --import KEYS
-% gpg --verify apache-ant-1.8.2-src.tar.gz.asc -

- -

Alternatively, you can verify the checksums on the files. Unix -programs called md5/sha1/sha512 or -md5sum/sha1sum/sha512sum are included in many unix -distributions. *sum is also available as part of GNU -Textutils. Windows users can get binary md5 programs from here, here. fsum supports MD5 and -SHA1.

- -

We highly recommend to verify the PGP signature, though.

- -
- - -
diff --git a/xdocs/stylesheets/project.xml b/xdocs/stylesheets/project.xml deleted file mode 100644 index bcbb9b6236..0000000000 --- a/xdocs/stylesheets/project.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - Apache Ant - Apache Ant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/xdocs/stylesheets/site.vsl b/xdocs/stylesheets/site.vsl deleted file mode 100644 index 0097a260eb..0000000000 --- a/xdocs/stylesheets/site.vsl +++ /dev/null @@ -1,275 +0,0 @@ -#* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - *# - - - -## Content Stylesheet for Site - ## Defined variables - #set ($lightbg = "#ffffff") - #set ($lightfg = "#ffffff") - #set ($darkfg = "#000000") - #set ($active = "#ffcc00") - #set ($blue4 = "#B2C4E0") - #set ($blue3 = "#294563") - #set ($blue2 = "#4C6C8F") - #set ($blue1 = "#CFDCED") - #set ($sourceborder = "#023264") - #set ($pound = "#" ) -## start the processing -#document() -## end the processing - -## This is where the common page macro's live - -#macro ( isbn $isbn) -

Available from:
- Amazon.com - | Barnes & Noble - | Book Sense - | Powells.com -

-#end - -#macro ( subsection $subsection) -

- - $subsection.getAttributeValue("name") -

- #foreach ( $items in $subsection.getChildren() ) - #if ($items.getName().equals("img")) - #image ($items) - #elseif ($items.getName().equals("source")) - #source ($items) - #elseif ($items.getName().equals("table")) - #table ($items) - #elseif ($items.getName().equals("subsubsection")) - #subsubsection ($items) - #else - $xmlout.outputString($items) - #end - #end - #if ($subsection.getAttributeValue("isbn")) - #set ($isbn = $subsection.getAttributeValue("isbn")) - #isbn ($isbn) - #end -#end - -#macro ( subsubsection $subsubsection) -
- - *** $subsubsection.getAttributeValue("name") *** -
- #foreach ( $items in $subsubsection.getChildren() ) - #if ($items.getName().equals("img")) - #image ($items) - #elseif ($items.getName().equals("source")) - #source ($items) - #elseif ($items.getName().equals("table")) - #table ($items) - #else - $xmlout.outputString($items) - #end - #end -#end - -#macro ( teamcity $teamcity) - - - - - - - - - - #set ($viewLink = $teamcity.getAttributeValue("viewlog") ) - #foreach ($project in $teamcity.getChildren() ) - - #foreach ($configuration in $project.getChildren() ) - #configuration ($configuration $viewLink) - #end - #end -
TitleDescriptionBuild commandWhenlast buildlast success
$project.getAttributeValue("name")
-#end - -#macro ( configuration $conf $viewLink) - #set ($id = $conf.getAttributeValue("id") ) - - $conf.getAttributeValue("title") - $conf.getChild("description").getContent() - $conf.getAttributeValue("command") - #if ($conf.getChild("when")) - $conf.getChild("when").getContent() - #else - continuously - #end - last build - last success - -#end - -## The hudson macro is based on the teamcity macro, but slightly different. -## Mainly in the need of another nested element (job instead of configuration). -## Maybe refactoring would ease that code ... -#macro ( hudson $hudson) - - - - - - - - - - #set ($base = $hudson.getAttributeValue("base") ) - #foreach ($project in $hudson.getChildren() ) - - #foreach ($job in $project.getChildren() ) - #job ($job $base) - #end - #end -
TitleDescriptionBuild commandWhenlast buildlast success
$project.getAttributeValue("name")
-#end - -## The hudson::job macro is based on the teamcity::configuration macro, but slightly different. -## Mainly the links to the build results are different. -#macro ( job $job $base) - #set ($jobId = $job.getAttributeValue("id") ) - - $job.getAttributeValue("title") - $job.getChild("description").getContent() - $job.getAttributeValue("command") - #if ($job.getChild("when")) - $job.getChild("when").getContent() - #else - continuously - #end - last build - last success - -#end - -#macro ( section $section) -

- - $section.getAttributeValue("name") -

- #foreach ( $items in $section.getChildren() ) - #if ($items.getName().equals("img")) - #image ($items) - #elseif ($items.getName().equals("source")) - #source ($items) - #elseif ($items.getName().equals("table")) - #table ($items) - #elseif ($items.getName().equals("subsection")) - #subsection ($items) - #elseif ($items.getName().equals("teamcity")) - #teamcity ($items) - #elseif ($items.getName().equals("hudson")) - #hudson ($items) - #else - $xmlout.outputString($items) - #end - #end -#end - -## This is where the FAQ specific macro's live - -#macro (toc $section) -

$section.getAttributeValue("title")

-
    - #foreach ($faq in $section.getChildren("faq") ) - #subtoc ($faq) - #end -
-#end - -#macro (subtoc $faq) - #set ($id = $faq.getAttributeValue("id")) -
  • - $xmlout.outputString($faq.getChild("question"), true) -
  • -#end - -#macro (answers $section) - #foreach ($faq in $section.getChildren("faq") ) - #faq ($faq) - #end -#end - -#macro (faq $faq) - #set ($id = $faq.getAttributeValue("id")) -

    - - $xmlout.outputString($faq.getChild("question"), true) -

    - #foreach ($item in $faq.getChild("answer").getChildren()) - #if ($item.getName().equals("img")) - #image ($item) - #elseif ($item.getName().equals("source")) - #source ($item) - #elseif ($item.getName().equals("table")) - #table ($item) - #else - $xmlout.outputString($item) - #end - #end -#end - -#macro (document) - #header() -
    -
    -

    $root.getChild("properties").getChild("title").getText()

    - #set ($allSections = $root.getChild("body").getChildren("section")) - #foreach ( $section in $allSections ) - #section ($section) - #end - - #if ($root.getChildren("faqsection").size() > 0) - #set ($allFaqSections = $root.getChildren("faqsection")) -

    Questions

    - #foreach ( $faqSection in $allFaqSections ) - #toc ($faqSection) - #end - -

    Answers

    - #foreach ( $faqSection in $allFaqSections ) - #answers ($faqSection) - #end - #end -
    -
    - - #footer() -#end diff --git a/xdocs/stylesheets/templates.vm b/xdocs/stylesheets/templates.vm deleted file mode 100644 index b8b8c6d04b..0000000000 --- a/xdocs/stylesheets/templates.vm +++ /dev/null @@ -1,296 +0,0 @@ -#* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - *# - -## This is where the common macro's live - -#macro ( table $table) - #if ($table.getAttributeValue("class")) - #set ($class = $table.getAttributeValue("class")) - #else - #set ($class = "ForrestTable") - #end - - #foreach ( $items in $table.getChildren() ) - #if ($items.getName().equals("tr")) - #tr ($items) - #end - #end - #if ($table.getParent().getAttributeValue("isbn")) - #set ($isbn = $table.getParent().getAttributeValue("isbn")) - - #end -
    ISBN:$!isbn
    -#end - -#macro ( tr $tr) - - #foreach ( $items in $tr.getChildren() ) - #if ($items.getName().equals("td")) - #td ($items) - #elseif ($items.getName().equals("th")) - #th ($items) - #end - #end - -#end - -#macro ( td $value) - #if ($value.getAttributeValue("colspan")) - #set ($colspan = $value.getAttributeValue("colspan")) - #else - #set ($colspan = 1) - #end - #if ($value.getAttributeValue("rowspan")) - #set ($rowspan = $value.getAttributeValue("rowspan")) - #else - #set ($rowspan = 1) - #end - - #if ($value.getText().length() != 0 || $value.hasChildren()) - $xmlout.outputString($value, true) - #else -   - #end - -#end - -#macro ( th $value) - #if ($value.getAttributeValue("colspan")) - #set ($colspan = $value.getAttributeValue("colspan")) - #else - #set ($colspan = 1) - #end - #if ($value.getAttributeValue("rowspan")) - #set ($rowspan = $value.getAttributeValue("rowspan")) - #else - #set ($rowspan = 1) - #end - - #if ($value.getText().length() != 0 || $value.hasChildren()) - $xmlout.outputString($value, true) - #else -   - #end - -#end - -#macro ( projectanchor $name $value ) - #if ($value.startsWith("http://")) - $name - #elseif ($value.startsWith("/site")) - $name - #else - $name - #end -#end - -#macro ( metaauthor $author $email ) - - -#end - -#macro ( image $value ) - #if ($value.getAttributeValue("width")) - #set ($width=$value.getAttributeValue("width")) - #end - #if ($value.getAttributeValue("height")) - #set ($height=$value.getAttributeValue("height")) - #end - #if ($value.getAttributeValue("align")) - #set ($align=$value.getAttributeValue("align")) - #end - #if ($value.getAttributeValue("alt")) - #set ($align=$value.getAttributeValue("alt")) - #end - $!alt -#end - -#macro ( source $value) -
    $escape.getText($value.getText())
    -#end - -#macro ( makeTabs ) -
    - - - #set ( $tabs = $project.getChild("body").getChildren("menusection")) - #if ( $project.getChild("body").getChild("menusection") ) - #foreach ( $tab in $tabs ) - #set ($currentIndex = $root.getChild("properties").getChild("index").getAttributeValue("value") ) - #set ($index = $tab.getAttributeValue("index")) - #set ($name = $tab.getAttributeValue("name")) - #set ($link = $tab.getAttributeValue("href")) - #if ( ($currentIndex && $currentIndex.trim().equals( $index )) || ((!$currentIndex) && $velocityCount == 1) ) - - #else - - #end - #end - #else - - #end - -
    - - - - -
    $name
    -
    - - - - -
    $name
    -
    - - - - -
    Home
    -
    -
    -#end - - -#macro ( makeMainNavigation ) - #set ( $tabs = $project.getChild("body").getChildren("menusection")) - #if ( $project.getChild("body").getChild("menusection") ) - #set ( $currentIndex = $root.getChild("properties").getChild("index").getAttributeValue("value") ) - #if ( $currentIndex ) - #foreach ( $tab in $tabs ) - #set ($index = $tab.getAttributeValue("index")) - #if ( $currentIndex.trim().equals( $index ) ) - #set ($menus = $tab.getChildren("menu")) - #end - #end - #else - #set ($menus = $project.getChild("body").getChild("menusection").getChildren("menu")) - #end - #else - #set ($menus = $project.getChild("body").getChildren("menu")) - #end - #makeProject ( $menus ) -#end - -#macro (makeProject $menus) - - -#end - -#macro (header) - - - - - $project.getChild("title").getText() - $root.getChild("properties").getChild("title").getText() - - #set ($authors = $root.getChild("properties").getChildren("author")) - #foreach ( $au in $authors ) - #metaauthor ( $au.getText() $au.getAttributeValue("email") ) - #end - - - - - -
    - - - - - - -
    Apache Ant siteApache Ant logo -
    - - - - - - - - - - - - - - -
    - - - - -
    - the Apache Ant site -
    -
    -
    -
    - - #makeTabs() - -
    - #makeMainNavigation() -
     
    -#end - -#macro (footer) - - - -#end diff --git a/xdocs/svn.xml b/xdocs/svn.xml deleted file mode 100644 index 6ceb5989ab..0000000000 --- a/xdocs/svn.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - SVN Repositories - Antoine Levy-Lambert - - - - -
    - -

    Anyone can checkout source code from our public Subversion repository. To do so, - simply use the following command (if you are using a GUI client, configure it - appropriately):

    - - -svn co http://svn.apache.org/repos/asf/ant/[project]/trunk/ ant-[project] - -

    Modules available for access are:

    - -
      -
    • ant - The "main" Ant module.
      - http://svn.apache.org/repos/asf/ant/core/trunk/ -
    • -
    • Ivy - The "main" Ivy module.
      - http://svn.apache.org/repos/asf/ant/ivy/core/trunk/ -
    • -
    • IvyDE - - Eclipse Plugin for Ivy.
      - http://svn.apache.org/repos/asf/ant/ivy/ivyde/trunk/ -
    • -
    • antunit Test framework for Ant.
      - http://svn.apache.org/repos/asf/ant/antlibs/antunit/trunk/
    • -
    • Dotnet antlib Contains Nant, Nunit, ...
      - http://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/
    • -
    • svn antlib Contains tasks to interact with Subversion repositories.
      - http://svn.apache.org/repos/asf/ant/antlibs/svn/trunk/
    • -
    • sandbox - New developments. Contains currently gendoc.
      - http://svn.apache.org/repos/asf/ant/sandbox/ -
    • -
    - -

    If you are not familiar with Subversion, Jakarta's - source repositories page may hold many helpful hints.

    - -

    Nightly snapshots of the SVN tree are available at - http://svn.apache.org/snapshots/ant/.

    - -

    A nice view of the source history is available through - Cenqua's Fisheye instance.

    - - -
    - -
    diff --git a/xdocs/velocity.properties b/xdocs/velocity.properties deleted file mode 100644 index da7924d1df..0000000000 --- a/xdocs/velocity.properties +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -file.resource.loader.path=xdocs/stylesheets -velocimacro.library=templates.vm