Synopses & Reviews
From the Back Cover:
You¿ve heard about Extreme Programming. You might have read articles or books describing the XP process, but what next? How do you implement XP principles into an actual Java project? This unique book explains everything you need for XP development, starting with Ant, the popular Java build tool. The authors describe every stage of a real-world project life cycle¿testing, refactoring, versioning, deployment, and more¿with practical examples that you can immediately put to use in your own projects.
Every aspect of an XP project includes unique challenges, and Extreme Programming with Ant works through each step of the process.
- Mitigate risks by creating spike tests with Ant buildfiles
- Add version control and testing with JUnit
- Automate nightly builds and reporting
- Deploy applications dynamically using XDoclet
- Add additional team members after a project is underway
- Write custom Ant components to facilitate deployment
- Adapt an XP process for use by other teams or across an enterprise
Throughout the book, the authors include dozens of ideas for extending Ant with useful custom features such as generating UML diagrams and creating reports and metrics on-the-fly. All code and examples have been built, tested, and deployed using Ant 1.5.3.
"Extreme Programming Ant" covers the application development life cycle using Ant and other tools to facilitate various stages of a project. The authors discuss techniques and best practices for the build process, version control generating documentation, unit testing, and deployment.
About the Author
Jeremy Poteet is the Chief Security Officer for appDefense, a consulting company specializing in application security. He is a CISSP and was the winner in the 2002 eWeek OpenLabs OpenHack IV competition, and has more than 15 years experience in software development. Jeremy has promoted Ant as the build process and XP as a development methodology for both internal projects and with various clients across the country. He has led numerous Java development and XP projects and has incorporated Ant at several customer sites. He has been involved in every aspect of the software development process, with team sizes ranging from 1 to over 100.
Glenn Niemeyer is a consultant with Technology Partners Inc., a Mid-west based Consulting Firm. He has a Masters Degree in Electrical Engineering from the University of Missouri, and 15 years of experience in software development. Glenn joined Technology Partners in 1996, and has been a technical team leader and project leader on a number of software development projects. He is also active in the area of Application Security. Glenn can be reached at email@example.com
Table of Contents
1. XP and Ant.
What Is XP? The XP Process. Ant and the XP Process. Summary. The Scope of This Book.
2. Creating Initial Spikes.
Introduction to Ant. Elements of a Buildfile. Ant Command-Line Options. A Basic Project-Management Buildfile. Using Properties. Target Dependencies. Directory-Based Tasks. Adding the backupAdvanced Target. Summary.
3. The First Iteration.
Benefits of Automated Testing. Benefits of Integrating Testing into Ant. Types of Automated Testing. What Is Unit Testing? Test First Design. Junit. Version-Control Systems. CVS Access and Logins. Basic Deployment. Summary.
4. The First Complete Build Process.
Generating Documentation. Batchtest. Advanced JUnit Target. CleanImports. Summary.
5. Creating the Automated Nightly Build.
Loggers and Listeners. Filemappers. Filtersets. Path-like Structures. Nightly Build JUnit Target. JunitReport. Reports on Sets of Tests. CruiseControl. Summary.
6. Deployment to a Test Environment.
Working with JAR Files. Deploying Applications as WAR Files. Deployment with Xdoclet. Creating an EAR File with the Task. Summary.
7. The Team Size Increases.
Why Have Coding Standards? Enforcing Coding Standards. Jalopy. PMD. Checkstyle. IContract. Jdepend. Summary.
8. Deployment to a Production Environment.
CVS Reporting. Creating Technical Release Notes from CVS Comments. Advanced Version Control Techniques for Ant. Performing a Distributed Deployment with Remote Ant. Deploying Information to Databases. Summary.
9. Company Reorganized-Working with a New Subteam.
NetBeans IDE and Ant. Styler. Using the and Tasks. AntEater. Custom Task for Detection of Missing Unit Tests. Ant's Bean Scripting Framework Capability. Summary.
10. Additional Teams Adopt the XP Process.
Creating a Project-Level Buildfile. Using Jikes for Dependency Checking. Writing a Custom Task for NoUnit. Increasing the Efficiency of Code Generation. Creating Unique Build Numbers. Obfuscating JAR Files. Summary.
11. Creating an Enterprise-wide Solution.
Encrypting the Output of a Build. Incorporating JUnit into the Build Process. Adding Targets to Control a WebLogic Server. Internationalization. Generating UML Diagrams. Summary. Appendices.
Appendix A. Installing Ant.
Choosing the Correct Edition of Ant. Obtaining Ant. Building Ant. Installing Ant. Debugging Your Installation.
Appendix B. Extending Ant.
Custom Tasks. Custom Listeners. Custom Loggers. Some Principles for Developing Custom Tasks, Loggers, Input Handlers. Selectors. Filters. Mappers. Data Types. Summary.
Appendix C. Ant 2
Reasons for the Change. Differences Between Ant 1 and Ant 2. Transitioning to Ant 2.
Appendix D. Complete Buildfile Listings.
eMarket Team Buildfile. iNet Team Buildfile. eSupplier Team Buildfile. Sales Department Buildfile. Network Department Buildfile. NetworksByteDesign Common Buildfile.
Appendix E. Tool Version.
Development and Testing Platforms. Tool Versions. Index.