Java development with Ant : Hatcher, Erik : Free Download, Borrow, and Streaming : Internet Archive (original) (raw)
xxxiii, 634 pages : 24 cm
Includes bibliographical references and index
About the cover illustration
Learning Ant
Introducing Ant
What is Ant?
core concepts of Ant
Why use Ant?
evolution of Ant
Ant and software development methodologies
Our example project
Using software configuration management tasks
Using third-party tasks
Notable third-party tasks
ant-contrib tasks
Sharing task definitions among projects
Best practices
Summary
XDoclet
Installing XDoclet
To-do list generation
Yeah, but can Ant.
XDoclet architecture
Writing your own XDoclet template
Advanced XDoclet
direction of XDoclet
XDoclet best practices
Developing for the web
How are web applications different?
Working with tag libraries
Compiling JSP pages
Beyond Java development
Customizing web applications
Generating static content
Testing web applications with HttpUnit
Server-side testing with Cactus
Working with XML
Preamble: all about XML libraries
Validating XML
Transforming XML with XSLT
Generating an XML build log
Loading XML data into Ant properties
Next steps in XML processing
Enterprise JavaBeans
EJB overview
simple EJB build
Using Ant's EJB tasks
Using [left angle bracket]ejbjar[right angle bracket]
Using XDoclet for EJB development
Middlegen
Getting started with Ant
Deploying to J2EE application servers
complete EJB example
Best practices in EJB projects
Working with web services
What are web services and what is SOAP?
Creating a SOAP client application with Ant
Creating a SOAP service with Axis and Ant
Adding web services to an existing web application
Writing a client for our SOAP service
Defining our first project
What is interoperability, and why is it a problem?
Building a C# client
rigorous way to build a web service
Reviewing web service development
Calling Ant via SOAP
Continuous integration
Scheduling Ant builds with the operating system
CruiseControl
Anthill
Step one: verifying the tools are in place
Gump
Comparison of continuous integration tools
Developing native code
challenge of native code
Using existing build tools
Introducing the [left angle bracket]cc[right angle bracket] task
Building a JNI library in Ant
Going cross-platform
Looking at [left angle bracket]cc[right angle bracket] in more detail
Step two: writing your first Ant build file
Distributing native libraries
Production deployment
challenge of different application servers
Working with operations
Addressing the deployment challenge with Ant
Introducing Ant's deployment power tools
Building a production deployment process
Deploying to specific application servers
Verifying deployment
Step three: running your first build
Extending Ant
Writing Ant tasks
What exactly is an Ant task?
Ant API primer
How tasks get data
Creating a basic Ant Task subclass
Operating on a fileset
Error handling
Step four: imposing structure
Testing Ant tasks
Executing external programs
Executing a Java program within a task
Supporting arbitrarily named elements and attributes
Building a task library
Supporting multiple versions of Ant
Extending Ant Further
Scripting within Ant
Listeners and loggers
Step five: running our program
Developing a custom mapper
Creating custom selectors
Implementing a custom filter
Installation
XML primer as it applies to Ant
IDE integration
elements of Ant style
Ant task reference
. Resources
Ant command line options
. Index
. License
final build file
Understanding Ant datatypes and properties
Preliminaries
Introducing datatypes and properties with [left angle bracket]javac[right angle bracket]
Paths
Filesets
Patternsets
Selectors
Datatype element naming
Filterset
FilterChains and FilterReaders
Mappers
Additional Ant datatypes
Properties
Controlling Ant with properties
References
Testing with JUnit
Refactoring
Java main() testing
JUnit primer
Applying unit tests to our application
JUnit task -- [left angle bracket]junit
Test failures are build failures
Generating test result reports
Short-circuiting tests
Executing programs
Why you need to run external programs
Running Java programs
Starting native programs with
Bulk execution with
Processing output
Limitations on execution
Packaging projects
Moving, copying, and deleting files
Preparing to package
Creating archive files
Creating Zip files
Creating tar files
Creating web applications with WAR files
Testing packaging
Deployment
Example deployment problems
Tasks for deployment
FTP-based distribution of a packaged application
Email-based distribution of a packaged application
Local deployment to Tomcat 4.x
Remote deployment to Tomcat
Testing deployment
Putting it all together
Our application thus far
Building the custom Ant task library
Loading common properties across multiple projects
Handling versioned dependencies
Build file philosophy
Applying Ant
Using Ant in your development projects
Designing an Ant-based build process
Migrating to Ant
ten steps of migration
Master builds: managing large projects
Managing child project builds
Creating reusable library build files
Looking ahead: large project support evolution
Ant project best practices
Beyond Ant's core tasks
Understanding types of tasks
Optional tasks in action
Starting native programs with
Bulk execution with
Starting native programs with
Bulk execution with
Building the custom Ant task library
Loading common properties across multiple projects
Handling versioned dependencies
Build file philosophy
Summary
Applying Ant
Using Ant in your development projects
Designing an Ant-based build process
Migrating to Ant
ten steps of migration
Master builds: managing large projects
Managing child project builds
Creating reusable library build files
Looking ahead: large project support evolution
Ant project best practices
Summary
Beyond Ant's core tasks
Understanding types of tasks
Optional tasks in action