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]>