Additions
get-libs.xml and copy-libs.xml to facilitate distribution and dependency handling.REFACTOR: JAM's Maven plugin
The Maven-Ant bridge now supports the full POM specification, including resource copying, unit test specification and other settings. The plugin goal names now start with 'jam' instead of 'javagen'. A second property file is now generated (props-maven.xml) containing override properties that largely replace the props-module.xml file. The default goal (jam) generates both props-maven.xml and classpath.xml files. This files must be imported in the correct relative sequence:
<import file="${basedir}/props-maven.xml"/>
<import file="${jam.home}/props-global.xml"/>
<import file="${basedir}/classpath.xml"/>Added jam:appxml-filter goal which generates an application.xml file from the POM dependencies with the addition of a @TARGET-MODULE@ Ant filter tag. This deployment descriptor works with all JAM modules and largely replaces the jam:appxml and jam:appxml-cactus goals.
REFACTOR: core modules
Core modules (ejb.xml, lib.xml, webapp.xml, ear.xml) were updated to support the new plugin resource handling capability resulting in cleaner, more flexible Ant scripts.
REFACTOR: webapp.xml modules
This module was completely rewritten and is considerably shorter and more flexible. By default it packages its classes into a jar file. You can deploy the classes in expanded format (i.e. under the WEB-INF/classes directory) by:
REFACTOR: all modules
To make it easier to customize overridden targets, all Ant target dependencies are now specified in public target dependency clauses (i.e. there are few, if any dependencies found in supporting targets now). This has emerged as an important design pattern to achieving extensibility using a standardized set of public Ant targets.
REFACTOR: testing modules
Tests now fall in two broad categories:
unit tests - run as part of the build process
default directory: test
default source suffix: *Test.java
modules: utest.xml
target name: test
typical usage: <target name="dist" depends="compile, test, ...
typical tests: unit, mock, etc.
integration tests - ran after application deployed
default directory: itest
default source suffix: *ITest.java
modules: itest.xml, ejbtest-cactus.xml
target name: itest
typical usage (shell): ant deploy, ant itest, ant undeploy
typical usage (automatic using testcycle.xml): ant testcycle
typical tests: integration, functional, load, stress, etc.
Unit test and integration tests can be used in the same build, but will be packaged and executed differently based on which subdirectory they are placed in.
ADDED appserver-oc4j.xml
Supports Oracle JDeveloper application server. Many thanks to Daxin for this contribution!!
ADDED appserver-weblogic8.xml
Early support for BEA's WebLogic 8.x application server.
ADDED maven.xml
Makes it easy to call Maven from Ant.
ADDED maven-synch.xml
Automatically keeps JAM's and Maven's build properties in synch.
ADDED javagen-ws.xml
Web service interface to JavaGen UML-to-J2EE code generator.
ADDED cvs.xml
Adds support for CVS source control. This module defines three public targets: checkout, update and checkin, in addition to utility targets for password management and changelog reports.
ADDED axis.xml
Several macros are defined here that wrap Axis Ant tasks for converting between Java, WSDL and stubs.
ADDED itest.xml
Generic support for integration testing of deployed applications. This module works well for testing web services, remote EJB methods or any JUnit based tests that can be run locally against a deployed application. This module was added to compliment ejbtest-cactus.xml which runs unit tests remotely or in-container.
ADDED testcycle.xml
Provide stand-alone deploy-test-undeploy services for automated integration testing and continuous integration builds. It works with any supported application server in conjunction with either itest.xml or ejbtest-cactus.xml test modules.
RENAMED plugin from 'maven-javagen-ant-plugin' to 'maven-jam-plugin'