Book Reviews
This book review was submitted by a DenverJUG member as part of the Book Review Program.BOOK DETAILS
Java Development with Ant
Authors: Erik Hatcher, Steve LoughranPublisher: Manning Publications Co.
Publish Date: August 2002
Pages: 672
ISBN: 1930110588
Publisher's Book Description
Review Date: September, 2003
REVIEWER
Tim Shanahan is a Boulder-based Java developer and consultant. As a software developer and mechanical engineer, Tim realizes that the length of time it takes to complete a job depends on identifying a good design and choosing the proper tools and methodologies. He recommends that all Java developers put Ant into their toolbox and always look for ways to work smarter and more efficiently.REVIEW
Java Development with Ant by Erik Hatcher and Steve Loughran is a well-written, in-depth analysis and explanation of how Ant can be used to make the software development process easier, faster, and more fun. This text clearly illustrates why Ant should be a tool in every developer's toolkit. In addition to explaining the use of Ant in the build process, the authors explain how Ant can add value to your testing, deployment, code generation, documentation, and configuration management practices.At the most basic level, Ant is a platform-independent, Java-based scripting tool. What differentiates it from other tools is that it is extensible and easily scales to projects of all sizes and complexity. Likewise, while "Java Development with Ant" by Erik Hatcher and Steve Loughran clearly explains how to use Ant for compiling and building applications, it quickly moves beyond these simple tasks and explores how to design and build a robust build process that incorporates automation into every step in the software development cycle.
"Java Development with Ant" divides its coverage of Ant into three sections. The first section covers basic Ant tasks to compile, test, package, and deploy a Java application. Most Ant tutorials (see Resources list below) complete their coverage in what is contained in the first four chapters of this book, covering compilation and integration of testing via JUnit. The book offers much greater depth on these subjects and complete coverage of parameterization. This mechanism is Ant's method of enabling scripts to automatically adapt to new files, new targets, and enables reusable tasks. As an added value, this section preaches mature development and test philosophies - including the establishment and leveraging of a well-defined build process. It further describes best practices that facilitate efficient team development.
While the first section deals with the normal build, test, deploy scenario that covers a large portion of developer needs, the second section deals with the integration of tools that make the software development process faster and more efficient. These include integration with source control systems; generation of source code, supporting classes, and XML deployment descriptors, and to-do lists; extending the functionality of IDEs; production of documentation (javadoc); and the automation of mundane development tasks. The core of many of these tasks is XDoclet. XDoclet uses javadoc style @tags to generate code and reports. A typical use of XDoclet is to embed tags into EJB implementation source class file and allow the Ant XDoclet / EjbDocletTask to generate both the XML deployment descriptor file and the remote interface file during the build process. This ensures that all files are in sync at all times and reduces configuration problems.
The second section provides a high level of value for any developer who is looking for ways to work smarter. Many other optional, off-the-shelf Ant tasks are covered, and users who do not find the functionality they desire in these first two sections can refer to the third section that briefly explains how to write custom Ant tasks.
The wealth of material in this book is presented efficiently with very concise, effective descriptions and short code examples. The authors, Erik Hatcher and Steve Loughran, demonstrate their knowledge of the material and clearly convey the value of this tool. They also promote the practical lessons and strategic thought necessary to create a more efficient development process.
Tutorial Resources
"A beginners guide to Ant" by Steve Loughran, April 30, 2001 Brief tutorial written by one of the authors of the book "Java Development with Ant"
http://www.iseran.com/Java/ant/tutorial/ant_tutorial.html
"Automate your build process using Java and Ant" by Michael Cymerman, JavaWorld, November 2000
http://www.javaworld.com/javaworld/jw-10-2000/jw-1020-ant_p.html
"Incremental development with Ant and Junit" by Malcolm Davis, November 2000 Older tutorial on integrating Junit and ant into the development process
http://www-106.ibm.com/developerworks/library/j-ant/?dwzone=java
