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

Reply via email to