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