leif 2002/08/14 15:51:53
Modified: . build.xml
Log:
New simplified master build
Revision Changes Path
1.182 +230 -223 jakarta-avalon-excalibur/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/build.xml,v
retrieving revision 1.181
retrieving revision 1.182
diff -u -r1.181 -r1.182
--- build.xml 14 Aug 2002 14:58:23 -0000 1.181
+++ build.xml 14 Aug 2002 22:51:53 -0000 1.182
@@ -13,6 +13,215 @@
<property name="build.tests" value="${build.dir}/tests"/>
<target name="main" depends="jar"/>
+
+ <target name="check-subproject-target" unless="subproject-target">
+ <echo message="subproject target was not set. defaulting to 'jar'"/>
+ <property name="subproject-target" value="jar"/>
+ </target>
+
+ <!-- ************************************************************ -->
+ <!-- Subproject targets -->
+ <!-- ************************************************************ -->
+ <!-- List projects in alphabetical order. All dependent projects -->
+ <!-- within Excalibur should be listed in the depends list. -->
+ <!-- Do not include test dependent jars in the depends list. -->
+
+ <!-- Altrmi -->
+ <target name="prj-altrmi" depends="prj-pool">
+ <ant dir="altrmi" target="${subproject-target}"/>
+ </target>
+
+ <!-- Baxter -->
+ <target name="prj-baxter">
+ <ant dir="baxter" target="${subproject-target}"/>
+ </target>
+
+ <!-- BZip2 -->
+ <target name="prj-bzip2">
+ <ant dir="bzip2" target="${subproject-target}"/>
+ </target>
+
+ <!-- Cache -->
+ <target name="prj-cache">
+ <ant dir="cache" target="${subproject-target}"/>
+ </target>
+
+ <!-- Cli -->
+ <target name="prj-cli">
+ <ant dir="cli" target="${subproject-target}"/>
+ </target>
+
+ <!-- Collections -->
+ <target name="prj-collections">
+ <ant dir="collections" target="${subproject-target}"/>
+ </target>
+
+ <!-- Component -->
+ <target name="prj-component" depends="prj-collections, prj-instrument,
prj-instrument-manager, prj-logger, prj-pool">
+ <ant dir="component" target="${subproject-target}"/>
+ </target>
+
+ <!-- Concurrent -->
+ <target name="prj-concurrent">
+ <ant dir="concurrent" target="${subproject-target}"/>
+ </target>
+
+ <!-- Configuration -->
+ <target name="prj-configuration">
+ <ant dir="configuration" target="${subproject-target}"/>
+ </target>
+
+ <!-- ContainerKit -->
+ <target name="prj-containerkit" depends="prj-i18n">
+ <ant dir="containerkit" target="${subproject-target}"/>
+ </target>
+
+ <!-- Converter -->
+ <target name="prj-converter" depends="prj-i18n">
+ <ant dir="converter" target="${subproject-target}"/>
+ </target>
+
+ <!-- Datasource -->
+ <target name="prj-datasource" depends="prj-instrument, prj-pool">
+ <ant dir="datasource" target="${subproject-target}"/>
+ </target>
+
+ <!-- Event -->
+ <target name="prj-event" depends="prj-collections, prj-concurrent,
prj-threadcontext, prj-util">
+ <ant dir="event" target="${subproject-target}"/>
+ </target>
+
+ <!-- Extension -->
+ <target name="prj-extension">
+ <ant dir="extension" target="${subproject-target}"/>
+ </target>
+
+ <!-- Fortress -->
+ <target name="prj-fortress" depends="prj-altrmi, prj-collections,
prj-event, prj-instrument, prj-instrument-manager, prj-logger,
prj-sourceresolve, prj-threadcontext">
+ <ant dir="fortress" target="${subproject-target}"/>
+ </target>
+
+ <!-- I18n -->
+ <target name="prj-i18n">
+ <ant dir="i18n" target="${subproject-target}"/>
+ </target>
+
+ <!-- Instrument -->
+ <target name="prj-instrument">
+ <ant dir="instrument" target="${subproject-target}"/>
+ </target>
+
+ <!-- InstrumentClient -->
+ <target name="prj-instrument-client" depends="prj-altrmi,
prj-instrument-manager">
+ <ant dir="instrument-client" target="${subproject-target}"/>
+ </target>
+
+ <!-- InstrumentManager -->
+ <target name="prj-instrument-manager" depends="prj-altrmi,
prj-instrument">
+ <ant dir="instrument-manager" target="${subproject-target}"/>
+ </target>
+
+ <!-- IO -->
+ <target name="prj-io">
+ <ant dir="io" target="${subproject-target}"/>
+ </target>
+
+ <!-- JProcess -->
+ <target name="prj-jprocess" depends="prj-io, prj-threadcontext">
+ <ant dir="jprocess" target="${subproject-target}"/>
+ </target>
+
+ <!-- Logger -->
+ <target name="prj-logger">
+ <ant dir="logger" target="${subproject-target}"/>
+ </target>
+
+ <!-- Merlin -->
+ <target name="prj-merlin" depends="prj-configuration" >
+ <ant dir="merlin" target="${subproject-target}"/>
+ </target>
+
+ <!-- Monitor -->
+ <target name="prj-monitor" depends="prj-logger, prj-sourceresolve">
+ <ant dir="monitor" target="${subproject-target}"/>
+ </target>
+
+ <!-- Naming -->
+ <target name="prj-naming">
+ <ant dir="naming" target="${subproject-target}"/>
+ </target>
+
+ <!-- Pool -->
+ <target name="prj-pool" depends="prj-collections, prj-instrument">
+ <ant dir="pool" target="${subproject-target}"/>
+ </target>
+
+ <!-- SourceResolve -->
+ <target name="prj-sourceresolve" depends="prj-pool">
+ <ant dir="sourceresolve" target="${subproject-target}"/>
+ </target>
+
+ <!-- Store -->
+ <target name="prj-store">
+ <ant dir="store" target="${subproject-target}"/>
+ </target>
+
+ <!-- Tar -->
+ <target name="prj-tar">
+ <ant dir="tar" target="${subproject-target}"/>
+ </target>
+
+ <!-- Testcase -->
+ <target name="prj-testcase" depends="prj-component, prj-logger">
+ <ant dir="testcase" target="${subproject-target}"/>
+ </target>
+
+ <!-- Thread -->
+ <target name="prj-thread" depends="prj-instrument, prj-pool,
prj-threadcontext">
+ <ant dir="thread" target="${subproject-target}"/>
+ </target>
+
+ <!-- ThreadContext -->
+ <target name="prj-threadcontext">
+ <ant dir="threadcontext" target="${subproject-target}"/>
+ </target>
+
+ <!-- Tweety -->
+ <target name="prj-tweety">
+ <ant dir="tweety" target="${subproject-target}"/>
+ </target>
+
+ <!-- Util -->
+ <target name="prj-util">
+ <ant dir="util" target="${subproject-target}"/>
+ </target>
+
+ <!-- XMLBundle -->
+ <target name="prj-xmlbundle" depends="prj-component, prj-sourceresolve,
prj-xmlutil">
+ <ant dir="xmlbundle" target="${subproject-target}"/>
+ </target>
+
+ <!-- XMLUtil -->
+ <target name="prj-xmlutil" depends="prj-collections, prj-component,
prj-instrument, prj-logger, prj-pool, prj-sourceresolve, prj-store,
prj-testcase">
+ <ant dir="xmlutil" target="${subproject-target}"/>
+ </target>
+
+ <!-- Zip -->
+ <target name="prj-zip">
+ <ant dir="zip" target="${subproject-target}"/>
+ </target>
+
+ <!-- ************************************************************ -->
+ <!-- Build all Subprojects target -->
+ <!-- ************************************************************ -->
+ <!-- This target depends on all of the projects above. Relies on -->
+ <!-- Ant to decide on the correct build order. -->
+ <target name="build-all-subprojects" depends="prj-altrmi, prj-baxter,
prj-bzip2, prj-cache, prj-cli, prj-collections, prj-component, prj-concurrent,
prj-configuration, prj-containerkit, prj-converter, prj-datasource, prj-event,
prj-extension, prj-fortress, prj-i18n, prj-instrument, prj-instrument-client,
prj-instrument-manager, prj-io, prj-jprocess, prj-logger, prj-merlin,
prj-monitor, prj-pool, prj-sourceresolve, prj-store, prj-tar, prj-testcase,
prj-thread, prj-threadcontext, prj-tweety, prj-util, prj-xmlbundle,
prj-xmlutil, prj-zip">
+ </target>
+
+ <!-- ************************************************************ -->
+ <!-- Actual Build Targets -->
+ <!-- ************************************************************ -->
<!-- Build default targets of all subprojects. -->
<!-- The dependency checker was causing a strange problem where the
version of -->
@@ -20,43 +229,9 @@
<!-- depending on jar makes sure that all of the dependencies will be
satisfied -->
<!-- in advance. -->
<target name="build-subprojects-dist" depends="jar">
- <!-- Sub projects which do not depend on any other excalibur sub
projects. -->
- <ant dir="altrmi" target="dist"/>
- <ant dir="collections" target="dist"/>
- <ant dir="concurrent" target="dist"/>
- <ant dir="instrument" target="dist"/>
- <ant dir="logger" target="dist"/>
- <ant dir="threadcontext" target="dist"/>
- <ant dir="sourceresolve" target="dist"/>
- <ant dir="monitor" target="dist"/>
- <ant dir="store" target="dist"/>
-
- <!-- Sub projects with dependencies. -->
- <ant dir="instrument-manager" target="dist"/> <!-- altrmi,
instrument -->
- <ant dir="instrument-client" target="dist"/> <!-- altrmi,
instrument-manager -->
- <ant dir="pool" target="dist"/> <!-- collections,
concurrent, instrument -->
- <ant dir="thread" target="dist"/> <!-- lang, instrument,
threadcontext, pool -->
- <ant dir="component" target="dist"/> <!-- collections,
logger, instrument, instrument-manager, pool -->
- <ant dir="testcase" target="dist"/> <!-- logger, component
-->
- <ant dir="xmlutil" target="dist"/> <!-- collections,
component, instrument, logger, pool, sourceresolve, store, testcase -->
- <ant dir="xmlbundle" target="dist"/> <!-- instrument,
component, store, xmlutil -->
- <ant dir="util" target="dist"/> <!-- component -->
- <ant dir="event" target="dist"/> <!-- collections,
concurrent, lang, pool, thread, util, event -->
-
-
- <!-- Baxter requires JMX.jar to build and is causing the build to
fail.
- <ant dir="baxter" target="dist"/>
- -->
- <ant dir="bzip2" target="dist"/>
- <ant dir="cache" target="dist"/>
- <ant dir="cli" target="dist"/>
- <ant dir="extension" target="dist"/>
- <ant dir="i18n" target="dist"/>
- <ant dir="io" target="dist"/>
- <ant dir="naming" target="dist"/>
- <ant dir="tar" target="dist"/>
- <ant dir="zip" target="dist"/>
- <ant dir="fortress" target="dist"/>
+ <ant target="build-all-subprojects">
+ <property name="subproject-target" value="dist"/>
+ </ant>
</target>
<target name="jdepend" if="do.jdepend" description="Generate Dependency
Analysis Report">
@@ -67,11 +242,9 @@
<pathelement location="altrmi/src/java"/>
<pathelement location="altrmi/src/test"/>
<pathelement location="instrument/src/java"/>
+ <pathelement location="instrument/src/client"/>
+ <pathelement location="instrument/src/manager"/>
<pathelement location="instrument/src/test"/>
- <pathelement location="instrument-manager/src/java"/>
- <pathelement location="instrument-manager/src/test"/>
- <pathelement location="instrument-client/src/java"/>
- <pathelement location="instrument-client/src/test"/>
<pathelement location="concurrent/src/java"/>
<pathelement location="concurrent/src/test"/>
<pathelement location="collections/src/java"/>
@@ -154,38 +327,11 @@
dependency checking -->
<property name="skip.dependencies" value="true"/>
- <!-- Sub projects which do not depend on any other excalibur sub
projects. -->
- <ant dir="instrument" target="dist-jar"/>
- <ant dir="collections" target="dist-jar"/>
- <ant dir="concurrent" target="dist-jar"/>
- <ant dir="logger" target="dist-jar"/>
- <ant dir="threadcontext" target="dist-jar"/>
- <ant dir="sourceresolve" target="dist-jar"/>
- <ant dir="monitor" target="dist-jar"/>
- <ant dir="store" target="dist-jar"/>
-
- <!-- Sub projects with dependencies. -->
- <ant dir="pool" target="dist-jar"/> <!-- collections,
instrument -->
- <ant dir="altrmi" target="dist-jar"/> <!-- pool -->
- <ant dir="instrument-manager" target="dist-jar"/> <!-- altrmi,
instrument -->
- <ant dir="instrument-client" target="dist-jar"/> <!-- altrmi,
instrument-manager -->
- <ant dir="datasource" target="dist-jar"/> <!-- pool -->
- <ant dir="thread" target="dist-jar"/> <!-- lang,
instrument, threadcontext, pool -->
- <ant dir="component" target="dist-jar"/> <!-- collections,
logger, instrument, instrument-manager, pool -->
- <ant dir="testcase" target="dist-jar"/> <!-- logger,
component -->
- <ant dir="xmlutil" target="dist-jar"/> <!-- collections,
component, instrument, logger, pool, sourceresolve, store, testcase -->
- <ant dir="xmlbundle" target="dist-jar"/> <!-- instrument,
component, store, xmlutil -->
- <ant dir="util" target="dist-jar"/> <!-- component -->
- <ant dir="event" target="dist-jar"/> <!-- collections,
concurrent, util, threadcontext -->
-
- <ant dir="cli" target="dist-jar"/>
- <ant dir="i18n" target="dist-jar"/>
- <ant dir="io" target="dist-jar"/>
- <ant dir="naming" target="dist-jar"/>
- <ant dir="fortress" target="dist-jar"/>
+ <ant target="build-all-subprojects">
+ <property name="subproject-target" value="dist-jar"/>
+ </ant>
<!-- Jump through hoops to avoid jlink size bug. -->
-
<property name="tmpjarA" value="avalon-excalibur-tmpA.jar"/>
<property name="tmpjarB" value="avalon-excalibur-tmpB.jar"/>
<property name="tmpjarAB" value="avalon-excalibur-tmpAB.jar"/>
@@ -215,7 +361,6 @@
<include name="util/dist/*.jar"/>
<include name="store/dist/*.jar"/>
<include name="xmlbundle/dist/*.jar"/>
- <include name="xmlutil/dist/*.jar"/>
<include name="cli/dist/*.jar"/>
<include name="naming/dist/*.jar"/>
<include name="monitor/dist/*.jar"/>
@@ -246,49 +391,18 @@
<!-- Generate one mega jar-ball -->
<target name="mega-jar" description="Generate one large jar for all the
products">
- <!-- Sub projects which do not depend on any other excalibur sub
projects. -->
- <ant dir="instrument" target="jar"/>
- <ant dir="collections" target="jar"/>
- <ant dir="concurrent" target="jar"/>
- <ant dir="logger" target="jar"/>
- <ant dir="threadcontext" target="jar"/>
- <ant dir="sourceresolve" target="jar"/>
- <ant dir="monitor" target="jar"/>
- <ant dir="store" target="jar"/>
-
- <!-- Sub projects with dependencies. -->
- <ant dir="pool" target="jar"/> <!-- collections,
instrument -->
- <ant dir="altrmi" target="jar"/> <!-- pool -->
- <ant dir="instrument-manager" target="jar"/> <!-- altrmi, instrument
-->
- <ant dir="instrument-client" target="jar"/> <!-- altrmi,
instrument-manager -->
- <ant dir="datasource" target="jar"/> <!-- pool -->
- <ant dir="thread" target="jar"/> <!-- lang, instrument,
threadcontext, pool -->
- <ant dir="component" target="jar"/> <!-- collections,
logger, instrument, instrument-manager, pool -->
- <ant dir="testcase" target="jar"/> <!-- logger, component
-->
- <ant dir="xmlutil" target="jar"/> <!-- collections,
component, instrument, logger, pool, sourceresolve, store, testcase -->
- <ant dir="xmlbundle" target="jar"/> <!-- instrument,
component, store -->
- <ant dir="util" target="jar"/> <!-- component -->
- <ant dir="event" target="jar"/> <!-- collections,
concurrent, util, threadcontext -->
-
- <!-- Baxter requires JMX.jar to build and is causing the build to
fail.
- <ant dir="baxter" target="jar"/>
- -->
- <ant dir="bzip2" target="jar"/>
- <ant dir="cache" target="jar"/>
- <ant dir="cli" target="jar"/>
- <ant dir="extension" target="jar"/>
- <ant dir="i18n" target="jar"/>
- <ant dir="io" target="jar"/>
- <ant dir="naming" target="jar"/>
- <ant dir="tar" target="jar"/>
- <ant dir="zip" target="jar"/>
- <ant dir="fortress" target="jar"/>
+ <ant target="build-all-subprojects">
+ <property name="subproject-target" value="jar"/>
+ </ant>
<jlink compress="false" outfile="excalibur-all-tmp.jar">
<mergefiles>
<fileset dir=".">
<include name="*/build/lib/*.jar"/>
<include name="altrmi/**"/>
+
+ <!-- Instrument client is a standalone application -->
+ <exclude name="instrument-client/**"/>
</fileset>
</mergefiles>
</jlink>
@@ -307,88 +421,12 @@
<!-- Generate all docs -->
<target name="docs" description="Generate all the docs">
- <ant dir="site" target="docs"/>
- <!--
- <ant dir="fortress" target="docs"/>
- <ant dir="instrument" target="docs"/>
- <ant dir="instrument-manager" target="docs"/>
- <ant dir="instrument-client" target="docs"/>
- <ant dir="altrmi" target="docs"/>
- <ant dir="baxter" target="docs"/>
- <ant dir="bzip2" target="docs"/>
- <ant dir="cache" target="docs"/>
- <ant dir="cli" target="docs"/>
- <ant dir="collections" target="docs"/>
- <ant dir="component" target="docs"/>
- <ant dir="concurrent" target="docs"/>
- <ant dir="datasource" target="docs"/>
- <ant dir="event" target="docs"/>
- <ant dir="extension" target="docs"/>
- <ant dir="extension" target="docs"/>
- <ant dir="i18n" target="docs"/>
- <ant dir="io" target="docs"/>
- <ant dir="threadcontext" target="docs"/>
- <ant dir="logger" target="docs"/>
- <ant dir="monitor" target="docs"/>
- <ant dir="naming" target="docs"/>
- <ant dir="pool" target="docs"/>
- <ant dir="sourceresolve" target="docs"/>
- <ant dir="store" target="docs"/>
- <ant dir="tar" target="docs"/>
- <ant dir="testcase" target="docs"/>
- <ant dir="thread" target="docs"/>
- <ant dir="util" target="docs"/>
- <ant dir="xmlbundle" target="docs"/>
- <ant dir="zip" target="docs"/>
- -->
+ <ant dir="site" target="docs"/>
</target>
<!-- Generate all docs -->
<target name="site" depends="mega-jar" description="Generate all the
docs for site">
-
<ant dir="site" target="site"/>
-
- <!--
- All have to be compiled in correct dependancy order first as the
javadocs
- targets require copiled classes as sanity check. The compilation
must
- be done in the correct for thesake of dependancies. However, the
'site'
- targets invoked below are alphabetical because compilations
havealready
- been done.
- -->
-
- <!--
- <ant dir="fortress" target="site"/>
- <ant dir="instrument" target="site"/>
- <ant dir="instrument-manager" target="site"/>
- <ant dir="instrument-client" target="site"/>
- <ant dir="altrmi" target="site"/>
- <ant dir="baxter" target="site"/>
- <ant dir="bzip2" target="site"/>
- <ant dir="cache" target="site"/>
- <ant dir="cli" target="site"/>
- <ant dir="collections" target="site"/>
- <ant dir="component" target="site"/>
- <ant dir="concurrent" target="site"/>
- <ant dir="datasource" target="site"/>
- <ant dir="event" target="site"/>
- <ant dir="extension" target="site"/>
- <ant dir="extension" target="site"/>
- <ant dir="i18n" target="site"/>
- <ant dir="io" target="site"/>
- <ant dir="threadcontext" target="site"/>
- <ant dir="logger" target="site"/>
- <ant dir="monitor" target="site"/>
- <ant dir="naming" target="site"/>
- <ant dir="pool" target="site"/>
- <ant dir="sourceresolve" target="site"/>
- <ant dir="store" target="site"/>
- <ant dir="tar" target="site"/>
- <ant dir="testcase" target="site"/>
- <ant dir="thread" target="site"/>
- <ant dir="util" target="site"/>
- <ant dir="xmlbundle" target="site"/>
- <ant dir="zip" target="site"/>
- -->
</target>
<!-- Generate all docs -->
@@ -396,44 +434,13 @@
<ant dir="site" target="site-docs"/>
</target>
-
- <target name="clean">
+ <!-- Clean -->
+ <target name="clean" description="Cleans each of the subprojects">
<delete dir="${build.dir}" />
-
- <ant dir="altrmi" target="real-clean"/>
- <ant dir="baxter" target="real-clean"/>
- <ant dir="bzip2" target="real-clean"/>
- <ant dir="cache" target="real-clean"/>
- <ant dir="cli" target="real-clean"/>
- <ant dir="collections" target="real-clean"/>
- <ant dir="component" target="real-clean"/>
- <ant dir="concurrent" target="real-clean"/>
- <ant dir="datasource" target="real-clean"/>
- <ant dir="event" target="real-clean"/>
- <ant dir="extension" target="real-clean"/>
- <ant dir="fortress" target="real-clean"/>
- <ant dir="i18n" target="real-clean"/>
- <ant dir="instrument" target="real-clean"/>
- <ant dir="instrument-manager" target="real-clean"/>
- <ant dir="instrument-client" target="real-clean"/>
- <ant dir="io" target="real-clean"/>
- <ant dir="logger" target="real-clean"/>
- <ant dir="monitor" target="real-clean"/>
- <ant dir="naming" target="real-clean"/>
- <ant dir="pool" target="real-clean"/>
- <ant dir="site" target="clean"/>
- <ant dir="sourceresolve" target="real-clean"/>
- <ant dir="store" target="real-clean"/>
- <ant dir="tar" target="real-clean"/>
- <ant dir="testcase" target="real-clean"/>
- <ant dir="thread" target="real-clean"/>
- <ant dir="threadcontext" target="real-clean"/>
- <ant dir="util" target="real-clean"/>
- <ant dir="xmlbundle" target="real-clean"/>
- <ant dir="xmlutil" target="real-clean"/>
- <ant dir="zip" target="real-clean"/>
-
+
+ <ant target="build-all-subprojects">
+ <property name="subproject-target" value="real-clean"/>
+ </ant>
</target>
-
</project>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>