User: user57
Date: 01/09/10 23:10:10
Modified: website build.xml
Log:
o updated build system, see mail to jboss-dev for more information
Revision Changes Path
1.8 +409 -242 build/website/build.xml
Index: build.xml
===================================================================
RCS file: /cvsroot/jboss/build/website/build.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- build.xml 2001/09/01 02:35:31 1.7
+++ build.xml 2001/09/11 06:10:10 1.8
@@ -10,7 +10,7 @@
<!-- -->
<!-- ====================================================================== -->
-<!-- $Id: build.xml,v 1.7 2001/09/01 02:35:31 user57 Exp $ -->
+<!-- $Id: build.xml,v 1.8 2001/09/11 06:10:10 user57 Exp $ -->
<project default="main" name="JBoss Website/Build">
@@ -19,71 +19,231 @@
<!-- ================================================================== -->
<!-- Load Buildmagic extention tasks. -->
- <taskdef name="taskdef" classname="planet57.tools.buildmagic.task.Taskdef"/>
<taskdef resource="planet57/tools/buildmagic/task/autoload.properties"/>
+ <taskdef name="property" classname="planet57.tools.buildmagic.task.Property"/>
- <!-- Setup the basic project roots. -->
- <path id="project.root"><pathelement location=".."/></path>
- <property name="project.root" refid="project.root"/>
- <path id="control.root"><pathelement location="."/></path>
- <property name="control.root" refid="control.root"/>
-
- <!-- Include user and project property overrides. -->
- <property file="${user.home}/.buildmagic.properties"/>
- <property file="${user.home}/.ant.properties"/>
- <property file="${control.root}/local.properties"/>
-
- <!-- Setup the basic environment for a project build module. -->
- <property name="project.output" value="${control.root}/output"/>
- <property name="project.release" value="${project.output}"/>
- <property name="tools.root" value="${project.root}/tools"/>
- <property name="thirdparty.root" value="${project.root}/thirdparty"/>
-
<!-- Initialize the build system. -->
- <target name="init" unless="project-initialized-already"
- depends="init-buildlog">
+ <target name="init" depends="_init-prepare" unless="init.disable">
+ <!-- Perform any setup required if we are a child of another build -->
+ <call target="_init-child"/>
+
+ <!-- Setup the basic project roots. -->
+ <path id="project.root"><pathelement location=".."/></path>
+ <property name="project.root" refid="project.root"/>
+ <property name="project.build" value="${project.root}/build"/>
+
+ <!-- Include user and project property overrides. -->
+ <property file="${user.home}/.buildmagic.properties"/>
+ <property file="${user.home}/.ant.properties"/>
+
+ <!-- Setup the project environment. -->
+ <property file="${project.build}/local.properties"/>
+ <property name="project.tools" value="${project.root}/tools"/>
+ <property name="project.thirdparty" value="${project.root}/thirdparty"/>
+
+ <!-- Setup the module environment. -->
+ <property name="module.root" value="${basedir}"/>
+ <call target="_init-local-properties"/>
+ <property file="${module.root}/local.properties"/>
+ <property name="module.source" value="${module.root}/src"/>
+ <property name="module.output" value="${module.root}/output"/>
+ <property name="module.tools" value="${module.root}/tools"/>
+ <property name="module.thirdparty" value="${module.root}/thirdparty"/>
+
+ <!-- Setup the build.log -->
+ <call target="_init-buildlog"/>
+
+ <!-- Load common properties -->
+ <property resource="planet57/tools/buildmagic/common.properties"/>
+
+ <!-- Setup the build timestamp & build identifer properties -->
<tstamp>
<format property="build.number" pattern="yyyyMMddHHmm"/>
</tstamp>
- <property name="build.id" value="DEV"/>
+ <property name="build.id" value="${build.number}"/>
- <copy file="${control.root}/etc/local.properties-example"
- tofile="${control.root}/local.properties" filtering="yes"/>
- <property file="${control.root}/etc/local.properties"/>
- <property resource="planet57/tools/buildmagic/common.properties"/>
-
- <call target="configure"/>
- <projectinfo/>
+ <!-- Invoke the configure task -->
+ <call target="_configure"/>
+ <!-- Late bind properties & install filters -->
<resolver force="${buildmagic.resolveproperties.force}"/>
<propertyfilter all="${buildmagic.propertyfilter.all}"/>
- <property name="project-initialized-already" value="true"/>
+
+ <!-- Show some information -->
+ <call target="_init-show-environment"/>
+
+ <!-- Finish up -->
+ <property name="init.disable" value="true"/>
</target>
- <target name="init-buildlog" unless="buildlog-disabled">
- <record name="${basedir}/build.log" append="no" loglevel="info"/>
- <property name="buildlog-disabled" value="true"/>
+ <!-- Perform any preperation before init. -->
+ <target name="_init-prepare">
+ <available file="${module.root}/etc/local.properties-example"
+ property="init.have-local-properties"/>
</target>
+ <!-- Perform any setup required if we are a child of another build -->
+ <target name="_init-child" if="init.have-parent">
+ <!-- Disable the build.log, our parent will catch it -->
+ <property name="init-buildlog.disable" value="true"/>
+ </target>
- <!-- ================================================================== -->
- <!-- Project Configuration -->
- <!-- ================================================================== -->
+ <!-- Install the local.properties example if it is there -->
+ <target name="_init-local-properties" if="init.have-local-properties">
+ <!-- Setup the local.properties file as needed -->
+ <copy file="${module.root}/etc/local.properties-example"
+ tofile="${module.root}/local.properties" filtering="yes"/>
+ <property file="${module.root}/local.properties"/>
+ </target>
- <!-- Project name(s) & version -->
- <property name="project.name" value="jboss-website"/>
- <property name="project.Name" value="JBoss Website"/>
- <property name="project.version" value="unspecified"/>
+ <!-- Initialize the build.log -->
+ <target name="_init-buildlog" unless="init-buildlog.disable">
+ <record name="${basedir}/build.log" append="no" loglevel="info"/>
+ <property name="init-buildlog.disable" value="true"/>
+ </target>
+ <!-- Show the running environment if -Dinit.verbose=true -->
+ <target name="_init-show-environment" if="init.verbose">
+ <echo><![CDATA[
+project.root: ${project.root}
+module.root: ${module.root}
+user.home: ${user.home}
+build.compiler: ${build.compiler}
+java.home: ${java.home}
+java.class.path: ${java.class.path}
+java.version: ${java.version}
+java.vendor: ${java.vendor}
+java.vm.version: ${java.vm.version}
+java.vm.name: ${java.vm.name}
+java.vm.info: ${java.vm.info}
+os.name: ${os.name}
+os.arch: ${os.arch}
+os.version: ${os.version}
+]]></echo>
+ </target>
<!-- ================================================================== -->
- <!-- Child Module Configuration -->
+ <!-- Configuration -->
<!-- ================================================================== -->
+
+ <!--
+ | Configure the build system.
+ |
+ | Configuration elements should be placed in the appropriate
+ | _configure-* targets.
+ -->
- <!-- The group to use by default -->
- <property name="groups" value="default"/>
+ <target name="_configure" unless="configure.disable">
+ <!-- Module name(s) & version -->
+ <property name="module.name" value="jboss-website"/>
+ <property name="module.Name" value="JBoss Website"/>
+ <property name="module.version" value="unspecified"/>
+
+ <!-- Invoke the rest of the configuration targets -->
+ <call target="_configure-tools"/>
+ <call target="_configure-libraries"/>
+ <call target="_configure-modules"/>
+ <call target="_configure-tasks"/>
+ </target>
+
+ <!-- Configure the thirdparty tools required to build this module. -->
+ <target name="_configure-tools" unless="configure-tools.disable">
+ <!-- No non-standard tools are required for this module. -->
+ </target>
+
+ <!-- Configure the thirdparty libraries required by this module. -->
+ <target name="_configure-libraries" unless="configure-libraries.disable">
+ <!-- Java Naming and Directory Interface (JNDI) -->
+ <property name="sun.jndi.root" value="${project.thirdparty}/sun/jndi"/>
+ <property name="sun.jndi.lib" value="${sun.jndi.root}/lib"/>
+
+ <!-- Java Management Extensions (JMX) -->
+ <property name="sun.jmx.root" value="${project.thirdparty}/sun/jmx"/>
+ <property name="sun.jmx.lib" value="${sun.jmx.root}/lib"/>
+
+ <!-- Java API for XML Processing (JAXP) -->
+ <property name="sun.jaxp.root" value="${project.thirdparty}/sun/jaxp"/>
+ <property name="sun.jaxp.lib" value="${sun.jaxp.root}/lib"/>
+
+ <!-- Java Authentication and Authorization Service (JAAS) -->
+ <property name="sun.jaas.root" value="${project.thirdparty}/sun/jaas"/>
+ <property name="sun.jaas.lib" value="${sun.jaas.root}/lib"/>
+
+ <!-- JavaBeans Activation Framework (JAF) -->
+ <property name="sun.jaf.root" value="${project.thirdparty}/sun/jaf"/>
+ <property name="sun.jaf.lib" value="${sun.jaf.root}/lib"/>
+
+ <!-- JavaMail -->
+ <property name="sun.javamail.root" value="${project.thirdparty}/sun/javamail"/>
+ <property name="sun.javamail.lib" value="${sun.javamail.root}/lib"/>
+
+ <!-- Java Transaction Service (JTS) -->
+ <property name="sun.jts.root" value="${project.thirdparty}/sun/jts"/>
+ <property name="sun.jts.lib" value="${sun.jts.root}/lib"/>
+
+ <!-- Log4j -->
+ <property name="apache.log4j.root" value="${project.thirdparty}/apache/log4j"/>
+ <property name="apache.log4j.lib" value="${apache.log4j.root}/lib"/>
+
+ <!-- EDU.oswego.cs.dl.util.concurrent -->
+ <property name="oswego.concurrent.root"
value="${project.thirdparty}/oswego/concurrent"/>
+ <property name="oswego.concurrent.lib" value="${oswego.concurrent.root}/lib"/>
+
+ <!-- JPL-Util -->
+ <property name="gjt.jpl-util.root" value="${project.thirdparty}/gjt/jpl-util"/>
+ <property name="gjt.jpl-util.lib" value="${gjt.jpl-util.root}/lib"/>
+
+ <!-- JavaGroups -->
+ <property name="javagroups.javagroups.root"
value="${project.thirdparty}/javagroups/javagroups"/>
+ <property name="javagroups.javagroups.lib"
value="${javagroups.javagroups.root}/lib"/>
+
+ <!-- JSR 77 -->
+ <property name="sun.jsr77.root" value="${project.thirdparty}/sun/jsr77"/>
+ <property name="sun.jsr77.lib" value="${sun.jsr77.root}/lib"/>
+
+ <!-- gnu.regexp -->
+ <property name="gnu.regexp.root" value="${project.thirdparty}/gnu/regexp"/>
+ <property name="gnu.regexp.lib" value="${gnu.regexp.root}/lib"/>
+
+ <!-- Java Secure Socket Extension (JSSE) -->
+ <property name="sun.jsse.root" value="${project.thirdparty}/sun/jsse"/>
+ <property name="sun.jsse.lib" value="${sun.jsse.root}/lib"/>
+
+ <!-- Hypersonic SQL -->
+ <property name="hsql.hsql.root" value="${project.thirdparty}/hsql/hsql"/>
+ <property name="hsql.hsql.lib" value="${hsql.hsql.root}/lib"/>
+
+ <!-- Instant DB -->
+ <property name="enhydra.instantdb.root"
value="${project.thirdparty}/enhydra/instantdb"/>
+ <property name="enhydra.instantdb.lib" value="${enhydra.instantdb.root}/lib"/>
+
+ <!-- Castor -->
+ <property name="exolab.castor.root"
value="${project.thirdparty}/exolab/castor"/>
+ <property name="exolab.castor.lib" value="${exolab.castor.root}/lib"/>
+
+ <!-- Tyrex -->
+ <property name="exolab.tyrex.root" value="${project.thirdparty}/exolab/tyrex"/>
+ <property name="exolab.tyrex.lib" value="${exolab.tyrex.root}/lib"/>
+
+ <!-- Jetty -->
+ <property name="mortbay.jetty.root"
value="${project.thirdparty}/mortbay/jetty"/>
+ <property name="mortbay.jetty.lib" value="${mortbay.jetty.root}/lib"/>
+
+ <!-- Jetty3Extra -->
+ <property name="mortbay.jetty3extra.root"
value="${project.thirdparty}/mortbay/jetty3extra"/>
+ <property name="mortbay.jetty3extra.jmx" value="${mortbay.jetty3extra.root}"/>
+ <property name="mortbay.jetty3extra.jmx.lib"
value="${mortbay.jetty3extra.jmx}/lib"/>
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ </path>
+ </target>
+
+ <!-- Configure the external modules which this module depends on. -->
+ <target name="_configure-modules" unless="configure-modules.disable">
+ <!-- The group to use by default -->
+ <property name="groups" value="default"/>
- <target name="configure">
<!-- Sets up the module configuration. -->
<moduleconfig property="modules" selected="${groups}">
@@ -101,279 +261,299 @@
<include groups="standard"/>
</group>
</moduleconfig>
- </target>
+ <!-- Show the module configuration -->
+ <echo>groups: ${groups}</echo>
+ <echo>modules: ${modules}</echo>
- <!-- ================================================================== -->
- <!-- Tool Configuration -->
- <!-- ================================================================== -->
-
- <!-- No non-standard tools are required for this module. -->
+ <!-- The combined dependent module classpath -->
+ <path id="dependentmodule.classpath">
+ </path>
+ </target>
- <!-- ================================================================== -->
- <!-- Task Configuration -->
- <!-- ================================================================== -->
+ <!-- Configure the tasks used by this module. -->
+ <target name="_configure-tasks" unless="configure-tasks.disable">
+ <!-- Load common task properties -->
+ <property resource="planet57/tools/buildmagic/task.properties"/>
- <!-- Skip any missing modules and issue a warning -->
- <property name="executemodules.skipmissing" value="true"/>
+ <!-- Skip any missing modules and issue a warning -->
+ <property name="executemodules.skipmissing" value="true"/>
- <!-- Define the header and footer displayed during each module execution -->
- <property name="executemodules.header"><![CDATA[
+ <!-- The header and footer displayed during each module execution -->
+ <property name="executemodules.header"><![CDATA[
======================================================================
== Executing '${target}' in module '${module}'...
==]]></property>
- <property name="executemodules.footer"><![CDATA[
+ <property name="executemodules.footer"><![CDATA[
==
== Finished with '${target}' in module '${module}'.
======================================================================
]]></property>
-
- <!-- Where release generated files will go -->
- <property name="release.id"
value="${project.name}-${project.version}-${build.id}"/>
- <property name="release.root" value="${project.release}/${release.id}"/>
-
- <property name="release.bin" value="${release.root}/bin"/>
- <property name="release.client" value="${release.root}/client"/>
- <property name="release.conf" value="${release.root}/conf"/>
- <property name="release.conf.default" value="${release.conf}/default"/>
- <property name="release.db" value="${release.root}/db"/>
- <property name="release.deploy" value="${release.root}/deploy"/>
- <property name="release.deploy.lib" value="${release.deploy}/lib"/>
- <property name="release.lib" value="${release.root}/lib"/>
- <property name="release.lib.ext" value="${release.lib}/ext"/>
- <property name="release.log" value="${release.root}/log"/>
- <property name="release.tmp" value="${release.root}/tmp"/>
-
- <!-- Documentation and examples -->
- <property name="release.docs" value="${release.root}/docs"/>
- <property name="release.examples" value="${release.docs}/examples"/>
- <property name="release.api" value="${release.docs}/api"/>
- <property name="release.module.docs" value="${release.docs}/${module}"/>
- <property name="release.module.api" value="${release.api}/${module}"/>
- <!-- Not really sure why these are here -->
- <property name="release.admin" value="${release.root}/admin"/>
- <property name="release.admin.client" value="${release.admin}/client"/>
- <property name="release.admin.client.lib" value="${release.admin.client}/lib"/>
- <property name="release.admin.components" value="${release.admin}/components"/>
-
-
- <!-- ================================================================== -->
- <!-- Builds a release distribution. -->
- <!-- ================================================================== -->
-
- <target name="release" depends="all-release"
- description="Builds a release distribution.">
+ <!-- Install/Release structure -->
+ <property name="install.id" value="${module.name}-${module.version}"/>
+ <property name="release.id" value="${install.id}"/>
+
+ <property name="install.root" value="${module.output}/${install.id}"/>
+ <property name="install.docs" value="${install.root}/docs"/>
+ <property name="install.manual" value="${install.docs}/manual"/>
+ <property name="install.api" value="${install.docs}/api"/>
+ <property name="install.examples" value="${install.docs}/examples"/>
+ <property name="install.bin" value="${install.root}/bin"/>
+ <property name="install.client" value="${install.root}/client"/>
+ <property name="install.conf" value="${install.root}/conf"/>
+ <property name="install.conf.default" value="${install.conf}/default"/>
+ <property name="install.db" value="${install.root}/db"/>
+ <property name="install.deploy" value="${install.root}/deploy"/>
+ <property name="install.deploy.lib" value="${install.deploy}/lib"/>
+ <property name="install.lib" value="${install.root}/lib"/>
+ <property name="install.lib.ext" value="${install.lib}/ext"/>
+ <property name="install.log" value="${install.root}/log"/>
+ <property name="install.tmp" value="${install.root}/tmp"/>
+
+ <!-- Not really sure why these are here -->
+ <property name="install.admin" value="${install.root}/admin"/>
+ <property name="install.admin.client" value="${install.admin}/client"/>
+ <property name="install.admin.client.lib" value="${install.admin.client}/lib"/>
+ <property name="install.admin.components" value="${install.admin}/components"/>
+
+ <!-- Configuration for the nightly build and test job -->
+ <property name="run.nightly.sleep" value="1"/> <!-- 1 minute -->
+ <property name="run.nightly.email.tolist"
value="[EMAIL PROTECTED]"/>
+ <property name="run.nightly.email.from" value="[EMAIL PROTECTED]"/>
+ <property name="run.nightly.email.mailhost" value="localhost"/>
</target>
- <target name="release-archive-prepare" depends="release">
- <mkdir dir="${project.release}"/>
- <property name="release.archive.basename"
- value="${project.release}/${release.id}"/>
- </target>
- <target name="release-zip" depends="release-archive-prepare"
- description="Builds a ZIP release distribution.">
- <zip zipfile="${release.archive.basename}.zip">
- <fileset dir="${project.release}">
- <include name="${release.id}/**"/>
- </fileset>
- </zip>
- </target>
-
- <target name="release-tar" depends="release-archive-prepare"
- description="Builds a TAR release distribution.">
- <tar tarfile="${release.archive.basename}.tar" longfile="gnu"
- basedir="${project.release}"
- includes="${release.id}/**">
- </tar>
- </target>
-
- <target name="release-tgz" depends="release-tar"
- description="Builds a TAR-GZIP release distribution.">
- <gzip src="${release.archive.basename}.tar"
- zipfile="${release.archive.basename}.tgz"/>
- </target>
-
- <target name="release-all" depends="release-zip, release-tgz"
- description="Builds a distribution for each archive type."/>
-
-
- <!-- ================================================================== -->
- <!-- Module Execution Hooks -->
- <!-- ================================================================== -->
-
- <!--
- | This is currently for testing, ignore.
- -->
-
- <target name="release-server-prepare">
- <echo>Preparing for server release</echo>
- </target>
-
- <target name="release-server">
- <echo>Releasing server module output</echo>
- </target>
-
-
<!-- ================================================================== -->
<!-- Module Pass-through Targets -->
<!-- ================================================================== -->
<!-- Invoke the 'all' on all configured modules -->
- <target name="all-all" depends="init">
- <execmodules target="all" modules="${modules}"
+ <target name="modules-all" depends="init">
+ <execmodules target="all"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
+ <before target="_module-${module}-${target}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'clean' on all configured modules -->
- <target name="all-clean" depends="init">
- <execmodules target="clean" modules="${modules}"
+ <!-- Invoke the 'most' on all configured modules -->
+ <target name="modules-most" depends="init">
+ <execmodules target="most"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <before target="_module-${module}-${target}-prepare"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'clobber' on all configured modules -->
- <target name="all-clobber" depends="init">
- <execmodules target="clobber" modules="${modules}"
+ <!-- Invoke the 'main' on all configured modules -->
+ <target name="modules-main" depends="init">
+ <execmodules target="main"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <before target="_module-${module}-${target}-prepare"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'jars' on all configured modules -->
- <target name="all-jars" depends="init">
- <execmodules target="jars" modules="${modules}"
+ <!-- Invoke the 'release' on all configured modules -->
+ <target name="modules-release" depends="init">
+ <execmodules target="release"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
+ <before target="_module-${module}-${target}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'compile' on all configured modules -->
- <target name="all-compile" depends="init">
- <execmodules target="compile" modules="${modules}"
+ <!-- Invoke the 'tests' on all configured modules -->
+ <target name="modules-tests" depends="init">
+ <execmodules target="tests"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
+ <before target="_module-${module}-${target}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'docs' on all configured modules -->
- <target name="all-docs" depends="init">
- <execmodules target="docs" modules="${modules}"
+ <!-- Invoke the 'clean' on all configured modules -->
+ <target name="modules-clean" depends="init">
+ <execmodules target="clean"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
+ <before target="_module-${module}-${target}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'main' on all configured modules -->
- <target name="all-main" depends="init">
- <execmodules target="main" modules="${modules}"
+ <!-- Invoke the 'clobber' on all configured modules -->
+ <target name="modules-clobber" depends="init">
+ <execmodules target="clobber"
+ modules="${modules}"
root="${project.root}/${module}"
skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
+ <before target="_module-${module}-${target}-prepare"/>
<header message="${executemodules.header}"/>
<footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
+ <after target="_module-${module}-${target}"/>
+ <property name="init.have-parent" value="true"/>
</execmodules>
</target>
- <!-- Invoke the 'most' on all configured modules -->
- <target name="all-most" depends="init">
- <execmodules target="most" modules="${modules}"
- root="${project.root}/${module}"
- skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
- <header message="${executemodules.header}"/>
- <footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
- </execmodules>
+
+ <!-- ================================================================== -->
+ <!-- Module Pass-through Hooks -->
+ <!-- ================================================================== -->
+
+ <!-- Manual -->
+
+ <target name="_module-manual-most">
+ <property name="_module.name" value="manual" override="true"/>
+ <property name="_module.output" override="true"
+ value="${project.root}/${_module.name}/output"/>
+ <!-- Nothing -->
</target>
- <!-- Invoke the 'release' on all configured modules -->
- <target name="all-release" depends="init">
- <execmodules target="release" modules="${modules}"
- root="${project.root}/${module}"
- skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
- <header message="${executemodules.header}"/>
- <footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
- </execmodules>
+ <target name="_module-manual-all" depends="_module-manual-most">
+ <!-- Nothing -->
</target>
- <!-- Invoke the 'tests' on all configured modules -->
- <target name="all-tests" depends="init">
- <execmodules target="tests" modules="${modules}"
- root="${project.root}/${module}"
- skipmissing="${executemodules.skipmissing}">
- <before target="${target}-${module}-prepare"/>
- <header message="${executemodules.header}"/>
- <footer message="${executemodules.footer}"/>
- <after target="${target}-${module}"/>
- </execmodules>
+ <!-- Website -->
+
+ <target name="_module-website-most">
+ <property name="_module.name" value="website" override="true"/>
+ <property name="_module.output" override="true"
+ value="${project.root}/${_module.name}/output"/>
+ <!-- Nothing -->
+ </target>
+
+ <target name="_module-website-all" depends="_module-website-most">
+ <!-- Nothing -->
</target>
<!-- ================================================================== -->
- <!-- Cleans up generated stuff -->
+ <!-- Install -->
+ <!-- ================================================================== -->
+
+ <target name="install" depends="install-dependencies"/>
+
+ <target name="install-dependencies" depends="init"/>
+
+
<!-- ================================================================== -->
+ <!-- Release -->
+ <!-- ================================================================== -->
+
+ <target name="release" depends="install">
+ <call target="modules-all"/>
+ </target>
+
+ <target name="release-zip" depends="release"
+ description="Builds a ZIP release distribution.">
+ <zip zipfile="${module.output}/${release.id}.zip">
+ <fileset dir="${module.output}">
+ <include name="${release.id}/**"/>
+ </fileset>
+ </zip>
+ </target>
- <target name="clean-project" depends="init">
- <delete dir="${project.release}"/>
- <delete dir="${project.output}"/>
+ <target name="release-tar" depends="release"
+ description="Builds a TAR release distribution.">
+ <tar tarfile="${module.output}/${release.id}.tar" longfile="gnu"
+ basedir="${module.output}"
+ includes="${release.id}/**">
+ </tar>
+ </target>
+
+ <target name="release-tgz" depends="release-tar"
+ description="Builds a TAR-GZIP release distribution.">
+ <gzip src="${module.output}/${release.id}.tar"
+ zipfile="${module.output}/${release.id}.tgz"/>
</target>
+ <target name="release-all" depends="release-zip, release-tgz"
+ description="Builds a distribution for each archive type."/>
+
+
+ <!-- ================================================================== -->
+ <!-- Tests -->
+ <!-- ================================================================== -->
+
+ <target name="tests" depends="init" description="Execute all tests."/>
+
+
+ <!-- ================================================================== -->
+ <!-- Cleaning -->
+ <!-- ================================================================== -->
+
<!-- Clean up all build output -->
- <target name="clean" depends="all-clean, clean-project"
+ <target name="clean" depends="init, modules-clean"
description="Cleans up most generated files.">
+ <delete dir="${module.output}"/>
</target>
<!-- Clean up all generated files -->
- <target name="clobber" depends="all-clobber, clean-project"
+ <target name="clobber" depends="modules-clobber, clean"
description="Cleans up all generated files.">
- <delete file="${control.root}/local.properties" quiet="true"/>
- <delete file="${control.root}/build.log"/>
- <delete file="${control.root}/run.log"/>
+ <delete file="${module.root}/local.properties"/>
+ <delete file="${module.root}/build.log"/>
+ <delete file="${module.root}/run.log"/>
</target>
<!-- ================================================================== -->
- <!-- Other Targets -->
+ <!-- Workspace -->
<!-- ================================================================== -->
+ <target name="update-project" depends="init">
+ <echo>Updating project workspace...</echo>
+ <cvs command="update -d" dest="${project.root}"/>
+ </target>
+
+ <target name="update-module" depends="init">
+ <echo>Updating module workspace...</echo>
+ <cvs command="update -d" dest="${module.root}"/>
+ </target>
+
+
+ <!-- ================================================================== -->
+ <!-- Help -->
+ <!-- ================================================================== -->
+
<target name="help">
<projecthelp taskname="help">
<header><![CDATA[
- The JBoss project build control module.
+ The ${module.Name} module.
]]></header>
<footer><![CDATA[
-Dgroups=<group>[(,<group>)*] Specify the module groups.
@@ -386,43 +566,31 @@
</projecthelp>
</target>
- <target name="update-workspace">
- <echo>Updating workspace</echo>
- <cvs command="update -d" dest="${project.root}"/>
- </target>
- <target name="main" depends="release"
- description="Executes the default target (release)."/>
+ <!-- ================================================================== -->
+ <!-- Misc. -->
+ <!-- ================================================================== -->
+
+ <target name="main" depends="most"
+ description="Executes the default target (most)."/>
- <target name="all" depends="all-all"
+ <target name="all" depends="modules-all, install"
description="Executes all modules and builds everything."/>
- <target name="most" depends="all-most"
+ <target name="most" depends="modules-most, install"
description="Executes all modules and builds most everything."/>
- <target name="compile" depends="all-compile"
- description="Compile all modules."/>
-
- <target name="docs" depends="all-docs"
- description="Build all documentation."/>
- <target name="jars" depends="all-jars"
- description="Builds all jar files."/>
-
- <target name="tests" depends="all-tests"
- description="Execute all tests."/>
-
-
<!-- ================================================================== -->
<!-- Generate the Website -->
<!-- ================================================================== -->
<target name="website" depends="init">
<!-- just to be sure, lets clean first -->
- <call target="all-clean"/>
+ <call target="modules-clean"/>
- <!-- all-jars should generate all the deployables -->
- <call target="all-jars"/>
+ <!-- generate all the deployables -->
+ <call target="modules-most"/>
</target>
<target name="website-install" depends="init">
@@ -441,5 +609,4 @@
<!-- might have to touch some files to redeploy properly -->
</target>
-
</project>
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development