apache ant presented by donato testardo nathan stark

12
Apache Ant Presented by Donato Testardo Nathan Stark

Upload: denis-burns

Post on 26-Dec-2015

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apache Ant Presented by Donato Testardo Nathan Stark

Apache Ant

Presented by

Donato Testardo

Nathan Stark

Page 2: 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

Page 3: Apache Ant Presented by Donato Testardo Nathan Stark

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

Page 4: Apache Ant Presented by Donato Testardo Nathan Stark

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…

Page 5: Apache Ant Presented by Donato Testardo Nathan Stark

Extending Ant

• Task functionality written in Java

• Extended as an XML Task Node

Page 6: Apache Ant Presented by Donato Testardo Nathan Stark

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

Page 7: Apache Ant Presented by Donato Testardo Nathan Stark

Other Things

• Command line arguments - <args>

• Time stamps - <tstamp/> - can be used with nested <format> nodes.– Timestamps set properties in the build

Page 8: Apache Ant Presented by Donato Testardo Nathan Stark

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

Page 9: Apache Ant Presented by Donato Testardo Nathan Stark

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

Page 10: Apache Ant Presented by Donato Testardo Nathan Stark

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/

Page 11: Apache Ant Presented by Donato Testardo Nathan Stark

Antidote ScreenShot

Page 12: Apache Ant Presented by Donato Testardo Nathan Stark

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.