Generated Master Build Module

The master build file is generated by the JAM plugin and is used for building multi-module projects in the correct order.

The master build should be imported into your top-level build file which can be as simple as:

<project name="top-level" default="default" basedir=".">
	<description>
  + ==\_/============J=A=V=A=G=E=N===A=N=T===M=O=D=U=L=E=S================= +
  +  \(_)/                                                                  +
  +  -(_)-             Top-level Multi-Module Build File                    +
  +  /(_)\                                                                  +
  + ======================================================================= +
  +    Copyright (c) 2002-2005 Outsource Cafe, Inc.  All rights reserved.   +
  + ======================================================================= +
  + 
   </description>
	<!-- =================================================================== -->
	<!-- imports -->
	<!-- =================================================================== -->
	<import file="${basedir}/src/jam/master-build.xml"/>
</project>
 

The following example was generated for the JavaGen Petstore example project.

Example Source: master-build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="master">
	<description>
  + ==\_/============J=A=V=A=G=E=N===A=N=T===M=O=D=U=L=E=S================= +
  +  \(_)/                                                                  +
  +  -(_)-                    Master Build File                             +
  +  /(_)\                                                                  +
  + ======================================================================= +
  + =  Copyright (c) 2002-2005 Outsource Cafe, Inc.  All rights reserved. = +
  + ======================================================================= +
  +      ! GENERATED ! GENERATED ! GENERATED ! GENERATED ! GENERATED ! 
  +
  + This file was generated from a Maven POM (Project Object Model) 
  + project.xml file.  To regenerate using Maven type:
  +
  +   maven jam:master
  + 
  + The master-build.xml file will build sub-projects in the correct order 
  + based on POM dependencies.  This file should be imported into your
  + top-level build.xml file and regenerated whenever a POM file is updated
  + within your project.
  +
  + To install the JavaGen Maven plugin for generating this file, drop the 
  + plugin (maven-jam-plugin.jar) into C:\dev\maven-1.0.2/plugins folder.
  +
  + Ant 1.6 or newer is required.
  +
  + Source POM: javagen-petstore, version 1.3, Date: February 15 2005, time: 0740
  +
  + =J=A=M===========================================J=A=V=A=G=E=N=.=C=O=M= +
</description>
	<!--=====================================================================-->
	<!--Sub-projects ordered to build without dependency conflicts-->
	<!--=====================================================================-->
	<property name="ordered-subtargets" value="ejb-module/build.xml,web-module/build.xml,ear/build.xml,"/>
	<!--===================================================================-->
	<!--macro to call targets on all sub-projects-->
	<!--===================================================================-->
	<macrodef name="subant.macro">
		<attribute default="" name="target"/>
		<attribute default="${basedir}" name="dir"/>
		<attribute default="${ordered-subtargets}" name="includes"/>
		<attribute default="target/,lib/,dist/,src/,src-gen/,src-gen-dups/,src-gen-old/" name="excludes"/>
		<sequential>
			<subant target="@{target}">
				<fileset dir="@{dir}" includes="@{includes}" excludes="@{excludes}"/>
			</subant>
		</sequential>
	</macrodef>
	<!--===================================================================-->
	<!--global targets-->
	<!--===================================================================-->
	<target name="clean" description="clean build files">
		<subant.macro target="clean"/>
	</target>
	<target name="dist" description="create distribution files">
		<subant.macro target="repo"/>
	</target>
	<target name="repo" description="place distribution in repository">
		<subant.macro target="repo"/>
	</target>
	<target name="default" description="calls: clean, dist" depends="clean, dist"/>
</project>