apache ant presented by donato testardo nathan stark
TRANSCRIPT
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/index.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.