Apache Ant

farrightSoftware and s/w Development

Aug 15, 2012 (5 years and 2 months ago)

288 views

Apache Ant

Presented by

Donato Testardo

Nathan Stark

What is Ant

-
(A)nother (N)eat (T)ool

“Apache Ant is a Java
-
based build tool. In
theory, it is kind of like
make
, without
make
's wrinkles.”



-

http://ant.apache.org


Where Did Ant Come
From?


Ant was originally designed specifically for building
TomCat


Created by James Duncan Davidson


Soon after TomCat was donated to Apache, several
other open source projects realized the usefulness of Ant


Ant became its own independent project in January 2000


First official realse of Ant was 1.1, released on July 19,
2000


Latest version is 1.6.2, released on July 16, 2004


Four years of development, and still always improving

How Does Ant Work


Uses time stamps to limit compilation


Ant’s XML file major components


Projects



Properties


Targets


Tasks


Java


Javac


Javadoc


Mkdir


Delete


Custom…

Extending Ant


Task functionality written in Java


Extended as an XML Task Node

ClassPaths


ClassPath


PathElement path


PathElement location


Path and Location as ClassPath Attributes


Other ClassPath Elements (using '*' to
specifiy multiples)


dirset
-

groups of directories.


fileset
-

groups of files.


filelist
-

lists of explicitly named files

Other Things


Command line arguments
-

<args>


Time stamps
-

<tstamp/>
-

can be used
with nested <format> nodes.


Timestamps set properties in the build

Advanced Features


Email


Instant Message


http://www.cs.rit.edu/~dmt0002/aim.html


SQL


http://www.cs.rit.edu/~dmt0002/sql.html


CVS


http://www.cs.rit.edu/~dmt0002/cvs.html


Build Number


XMLValidate


Style


CleanImports


http://www.cs.rit.edu/~dmt0002/cleanimports.html


JspC


Junit

Integration


Eclipse


JEdit
-

AntFarm plugin


JDeveloper IDE
-

AntMan


JBuilder IDE


AntRunner


Jext


AntWork


Gel


IntelliJ IDEA 2.0


Java Development Environment for Emacs


NetBeans / Sun ONE Studio


Oracle9i JDeveloper


ANT GUIs


ANTidote
-
http://ant.apache.org/projects/antidote/inde
x.html


Antelope
-

http://antelope.tigris.org/


Ant2Svg


not really a GUI
http://www.spiritedsw.com/ant2svg/


Antidote ScreenShot

Other Apache XML
Products


Xerces

-

XML parsers in Java, C++ (with Perl and COM bindings)


Xalan

-

XSLT stylesheet processors, in Java and C++


AxKit

-

XML
-
based web publishing, in mod_perl


FOP

-

XSL formatting objects, in Java


Forrest

-

XML/XSLT
-
based framework for project documentation and website
development, based on Cocoon


Xang

-

Rapid development of dynamic server pages, in JavaScript


SOAP

-

Simple Object Access Protocol


Batik

-

A Java based toolkit for Scalable Vector Graphics (SVG)


Crimson

-

A Java XML parser derived from the Sun Project X Parser.


XML Security

-

Java and C++ implementations of the XML signature and encryption
standards


Xindice

-

A native XML database.


XML Commons

-

focussed on common code and guidelines for xml projects


XMLBeans

-

XML
-
Java binding tool with 100% support of XML Schema.