User: user57  
  Date: 01/07/28 18:02:03

  Modified:    .        Tag: jboss_buildmagic build.sh build.xml config.xml
  Log:
   o added more documentation comments
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +45 -15    build/Attic/build.sh
  
  Index: build.sh
  ===================================================================
  RCS file: /cvsroot/jboss/build/Attic/build.sh,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- build.sh  2001/07/28 01:32:06     1.1.2.1
  +++ build.sh  2001/07/29 01:02:03     1.1.2.2
  @@ -23,14 +23,21 @@
   ##                                                                          ##
   ### ====================================================================== ###
   
  -# $Id: build.sh,v 1.1.2.1 2001/07/28 01:32:06 user57 Exp $
  +# $Id: build.sh,v 1.1.2.2 2001/07/29 01:02:03 user57 Exp $
   
   PROGNAME=`basename $0`
   DIRNAME=`dirname $0`
   GREP="grep"
  +ROOT="/"
   
  -# the default search path for ant
  -ANT_SEARCH_PATH="../tools/apache/ant ../tools/ant ./tools/apache/ant ./tools/ant 
./ant"
  +# the default search path for buildmagic/ant
  +ANT_SEARCH_PATH="\
  +    tools/planet57/buildmagic \
  +    tools/buildmagic \
  +    buildmagic \
  +    tools/apache/ant \
  +    tools/ant \
  +    ant"
   
   # the default build file name
   ANT_BUILD_FILE="build.xml"
  @@ -60,6 +67,19 @@
       done
   }
   
  +search() {
  +    search="$*"
  +    for d in $search; do
  +     ANT_HOME="`pwd`/$d"
  +     ANT="$ANT_HOME/bin/ant"
  +     if [ -x "$ANT" ]; then
  +         # found one
  +         echo $ANT
  +         break
  +     fi
  +    done
  +}
  +
   #
   # Main function.
   #
  @@ -69,22 +89,32 @@
   
       # try our best to find ANT
       if [ "x$ANT" = "x" ]; then
  -     if [ "x$ANT_HOME" = "x" ]; then
  -         search="$ANT_SEARCH_PATH"
  -     else
  -         search="$ANT_HOME"
  -     fi
  -
        found=""
  -     for d in $search; do
  -         ANT_HOME="$d"
  +     
  +     if [ "x$ANT_HOME" != "x" ]; then
            ANT="$d/bin/ant"
            if [ -x "$ANT" ]; then
  -             # found one
                found="true"
  -             break
            fi
  -     done
  +     else
  +         # try the search path
  +         ANT=`search $ANT_SEARCH_PATH`
  +         target="build"
  +         _cwd=`pwd`
  +
  +         while [ "x$ANT" = "x" ] && [ "$cwd" != "$ROOT" ]; do
  +             cd ..
  +             cwd=`pwd`
  +             ANT=`search $ANT_SEARCH_PATH`
  +         done
  +
  +         # make sure we get back
  +         cd $_cwd
  +
  +         if [ "$cwd" != "$ROOT" ]; then
  +             found="true"
  +         fi
  +     fi
   
        # complain if we did not find anything
        if [ "$found" != "true" ]; then
  @@ -105,7 +135,7 @@
        fi
       fi
   
  -    export ANT
  +    export ANT ANT_HOME
       exec $ANT $ANT_OPTIONS "$@"
   }
   
  
  
  
  1.2.2.5   +144 -81   build/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /cvsroot/jboss/build/build.xml,v
  retrieving revision 1.2.2.4
  retrieving revision 1.2.2.5
  diff -u -r1.2.2.4 -r1.2.2.5
  --- build.xml 2001/07/28 04:48:55     1.2.2.4
  +++ build.xml 2001/07/29 01:02:03     1.2.2.5
  @@ -9,22 +9,8 @@
   <!--  See terms of license at http://www.gnu.org.                           -->
   <!--                                                                        -->
   <!-- ====================================================================== -->
  -<!--                                                                        -->
  -<!--  Configuration Files (in order of precedence):                         -->
  -<!--                                                                        -->
  -<!--    ${project.config}/build.xml* (this file)                            -->
  -<!--    ${project.config}/override.properties                               -->
  -<!--    ${user.home}/.buildmagic.properties                                 -->
  -<!--    ${user.home}/.ant.properties                                        -->
  -<!--    ${project.config}/local.properties                                  -->
  -<!--    ${project.config}/config.properties                                 -->
  -<!--    ${project.config}/config.xml*                                       -->
  -<!--                                                                        -->
  -<!--    * Required                                                          -->
  -<!--                                                                        -->
  -<!-- ====================================================================== -->
   
  -<!-- $Id: build.xml,v 1.2.2.4 2001/07/28 04:48:55 user57 Exp $ -->
  +<!-- $Id: build.xml,v 1.2.2.5 2001/07/29 01:02:03 user57 Exp $ -->
   
   <project name="jboss" default="main" basedir="..">
   
  @@ -32,78 +18,119 @@
     <!-- Basic project configuration                                        -->
     <!-- ================================================================== -->
   
  -  <!-- Define ${project.root} to equal ${basedir} -->
  -  <property name="project.root" value="${basedir}"/>
  -
  -  <!-- Define ${project.config} to equal ${basedir} -->
  +  <!-- 
  +     |  Load Buildmagic Ant extentions. 
  +     |
  +     |  To keep the build system as simple as possible these extension tasks
  +     |  must already be on the ant or system classpath.
  +    -->
  +  <taskdef name="taskdef" classname="planet57.tools.buildmagic.task.Taskdef"/>
  +  <taskdef resource="planet57/tools/buildmagic/task/autoload.properties"/>
  +
  +  <!--
  +     |  Setup the basic project roots.
  +     |
  +     |  project.root    - Should be the parent directory from this file
  +     |  project.config  - Should be the directory this file is in
  +   -->
  +  <property name="project.root">
  +    <findroot basedir="." suffix="build/build.xml"/>
  +  </property>
     <property name="project.config" value="${basedir}/build"/>
   
  -  <!-- Include project & user-global property overrides -->
  +  
  +  <!-- 
  +     |  Include user and project property overrides.
  +     |
  +     |  override.properties     - Used rarely (ignore)
  +     |  .buildmagic.properties  - Provide Buildmagic specific properties
  +     |  .ant.properties         - Ant properties
  +     |  local.properties        - User local module properties
  +     |  config.properties       - Used rarely (ignore)
  +    -->
     <property file="${project.config}/override.properties"/>
     <property file="${user.home}/.buildmagic.properties"/>
     <property file="${user.home}/.ant.properties"/>
  +  <property file="${project.config}/local.properties"/>
  +  <property file="${project.config}/config.properties"/>
   
  -  <!-- Specify where the root directory where build output will be placed -->
  +  <!-- 
  +     |  Setup the basic environment for a project build module.
  +     |
  +     |  project.output   - The root where build output will be placed
  +     |  project.build    - Where released files will be placed
  +     |  project.release  - Where released files will be placed
  +     |  tools.root       - Where to build support tools live
  +     |  thirdparty.root  - Where to thirdparty libraries live
  +    -->
     <property name="project.output" value="${project.config}/output"/>
  -
  -  <!-- Specify where released files will be placed -->
     <property name="project.build" value="${project.output}"/>
  -
  -  <!-- Specify where released files will be placed -->
     <property name="project.release" value="${project.output}/release"/>
  -
  -  <!-- Project support directories -->
     <property name="tools.root" value="${project.root}/tools"/>
     <property name="thirdparty.root" value="${project.root}/thirdparty"/>
   
  -  <!-- Include user local property overrides -->
  -  <property file="${project.config}/local.properties"/>
  -
  -  <!-- Include config property overrides -->
  -  <property file="${project.config}/config.properties"/>
  -
  -  <!-- Load project configuration -->
  +  <!-- 
  +     |  Load project configuration.
  +     |
  +     |  config.xml  - Define most configuration elements here (required).
  +    -->
     &config;
   
  -  
  +
     <!-- ================================================================== -->
     <!-- Initialize, Configure and Bootstrap the build system               -->
     <!-- ================================================================== -->
   
  -  <!-- Bootstrap all required extensions -->
  -  <target name="bootstrap" depends="bootstrap-init" 
unless="project-bootstraped-already">
  -    <!-- Build local Ant extensions (if required) -->
  -    <!-- Mark things as bootstrapped -->
  +  <!-- 
  +     |  Bootstrap all required extensions.
  +     |
  +     |  Build local Ant extensions here if they are required.
  +     |
  +     |  This target will not run once the bootstraped-already is set.
  +    -->
  +  <target name="bootstrap" 
  +       depends="bootstrap-init" 
  +       unless="project-bootstraped-already">
       <property name="project-bootstraped-already" value="true"/>
     </target>
   
     <!-- Fail if the required dependencies are missing -->
  -  <target name="bootstrap-init" depends="bootstrap-check" 
unless="project-have-bootstrap-dependencies-already">
  +  <target name="bootstrap-init" 
  +       depends="bootstrap-check" 
  +       unless="project-have-bootstrap-dependencies-already">
       <echo>Missing some or all of the required dependencies.</echo>
       <fail message="Can not continue."/>
     </target>
   
     <!-- Check for required libraries -->
     <target name="bootstrap-check" unless="project-bootstraped-already">
  -    <!-- BuildMagic -->
  -    <available classname="planet57.tools.buildmagic.task.Taskdef"
  -            classpathref="buildmagic.classpath"
  -            property="project-have-bootstrap-dependencies-already"/>
  +    <!-- Check for required extensions here -->
  +    <property name="project-have-bootstrap-dependencies-already" value="true"/>
     </target>
   
  -  <!-- Configure the project and module build systems -->
  +  <!-- 
  +     |  Configure the project and module build systems.
  +     |
  +     |  This will recurse to all configured modules can invoke there
  +     |  'configure' target.
  +    -->
     <target name="configure"
          depends="project-configure, all-configure"
          unless="project-configured-already"/>
   
  -  <!-- Configure the project build system -->
  +  <!-- 
  +     |  Configure the project build system.
  +     |
  +     |  o Updates/installs example files if they exist
  +     |  o Invokes the 'configure-hook' target, which should be defined in 
  +     |    config.xml.
  +     |
  +     |  This target will not run once the project-configured-already 
  +     |  property is set.
  +    -->
     <target name="project-configure" unless="project-configured-already">
  -    <!-- Where example files will live -->
       <property name="project.examples" value="${project.config}/etc"/>
  -    <!-- The extension for example files -->
       <property name="project.examples.extension" value="-example"/>
  -
  -    <!-- Put the example files in place -->
       <copy todir="${project.config}" filtering="yes">
         <fileset dir="${project.examples}/">
            <include name="**/*${project.examples.extension}"/>
  @@ -111,10 +138,7 @@
         <mapper type="glob" from="*${project.examples.extension}" to="*"/>
       </copy>
   
  -    <!-- Execute project configure hook -->
       <antcall target="configure-hook"/>
  -
  -    <!-- Mark things as configured -->
       <property name="project-configured-already" value="true"/>
     </target>
   
  @@ -123,40 +147,33 @@
       <property name="project-configured-already" value="true"/>
     </target>
   
  -  <!-- Initialize the build system -->
  -  <target name="init" depends="project-configure, bootstrap" 
unless="project-initialized-already">
  -    <!-- Setup timestamp properties -->
  +  <!-- 
  +     |  Initialize the build system.
  +     |
  +     |  o Sets the timestamp and build.number properties
  +     |  o Installs property defaults
  +     |  o Displays some project information
  +     |  o Invokes to 'init-hook' target which should be defined in config.xml
  +     |  o Resolves properties for psuedo late-binding
  +     |  o Installs filters for each property
  +     |
  +     |  This target will not run once the initialized-already property is set.
  +    -->
  +  <target name="init" 
  +       depends="project-configure, bootstrap" 
  +       unless="project-initialized-already">
       <tstamp>
         <format property="build.number" pattern="yyyyMMddHHmm"/>
       </tstamp>
       <property name="build.id" value="${build.number}"/>
   
  -    <!-- Load a better version of taskdef -->
  -    <taskdef name="installtask" 
  -          classname="planet57.tools.buildmagic.task.Taskdef" 
  -          classpathref="buildmagic.classpath"/>
  -
  -    <!-- Load all of the BuildMagic tasks -->
  -    <installtask classpathref="buildmagic.classpath">
  -      <task resource="planet57/tools/buildmagic/task/autoload.properties"/>
  -    </installtask>
  -
  -    <!-- Load common BuildMagic properties -->
  -    <property resource="planet57/tools/buildmagic/common.properties" 
  -           classpathref="buildmagic.classpath"/>
  -
  -    <!-- Show some informative fluff -->
  -    <echo>Project root is ${project.root}</echo>
  -    <echo>Modules list is ${modules}</echo>
  -
  -    <!-- Execute module init hook -->
  +    <property resource="planet57/tools/buildmagic/common.properties"/>
  +    <projectinfo/>
       <call target="init-hook" unless="bypass-init-hook"/>
   
  -    <!-- Resolve all properties & install filters -->
       <resolver force="${buildmagic.resolveproperties.force}"/>
       <propertyfilter all="${buildmagic.propertyfilter.all}"/>
   
  -    <!-- Mark things as initialized -->
       <property name="project-initialized-already" value="true"/>
     </target>
   
  @@ -177,9 +194,12 @@
   
     <target name="release" depends="all-install"
             description="Builds a release distribution.">
  -    <property name="release.id" 
value="${project.name}-${project.version}-${build.id}"/>
  -    <property name="release.prefix" value="${project.name}-${project.version}"/>
  -    <property name="release.jar" value="${project.output}/${release.id}.jar"/>
  +    <property name="release.id" 
  +           value="${project.name}-${project.version}-${build.id}"/>
  +    <property name="release.prefix" 
  +           value="${project.name}-${project.version}"/>
  +    <property name="release.jar" 
  +           value="${project.output}/${release.id}.jar"/>
   
       <!-- Build a jar for the release -->
       <mkdir dir="${project.output}"/>
  @@ -191,9 +211,22 @@
       </jar>
     </target>
   
  +  <!--
  +     |  Recurse to all modules and invoke their 'install' target.
  +     |
  +     |  Each module should provide an 'install' target which will
  +     |  copy files to be included in a project release using install.*
  +     |  properties, as set in this target.
  +     |
  +     |  Define an install.* property for each distinct location which
  +     |  a module may install files into.  The module is responsible for
  +     |  creating these directories as needed.
  +     |
  +     |  * module and target are special properties which will be updated
  +     |    for each module name.
  +    -->
     <target name="all-install" depends="init">
       <mkdir dir="${project.release}"/>
  -    <!-- run 'install' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="install">
         <property name="install.root" value="${project.release}"/>
         <property name="install.lib" value="${install.root}/lib"/>
  @@ -203,7 +236,10 @@
         <property name="install.api" value="${install.doc}/api"/>
         <property name="install.module.doc" value="${install.doc}/${module}"/>
         <property name="install.module.api" value="${install.api}/${module}"/>
  +
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -216,7 +252,9 @@
     <target name="all-configure" depends="init">
       <!-- run 'configure' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="configure">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -224,7 +262,9 @@
     <target name="all-compile" depends="init">
       <!-- run 'compile' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="compile">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -232,7 +272,9 @@
     <target name="all-docs" depends="init">
       <!-- run 'docs' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="docs">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -240,7 +282,9 @@
     <target name="all-jars" depends="init">
       <!-- run 'jars' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="jars">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -248,7 +292,9 @@
     <target name="all-tests" depends="init">
       <!-- run 'tests' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="tests">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -256,7 +302,9 @@
     <target name="all-release" depends="init">
       <!-- run 'release' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="release">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -272,7 +320,9 @@
   
       <!-- run 'clean' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="clean">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
   
  @@ -289,7 +339,9 @@
   
       <!-- run 'clobber' on all modules -->
       <execmodules root="${project.root}" modules="${modules}" target="clobber">
  +      <header/>
         <header message="${executemodules.header}"/>
  +      <footer/>
         <footer message="${executemodules.footer}"/>
       </execmodules>
     </target>
  @@ -298,6 +350,17 @@
     <!-- ================================================================== -->
     <!-- Other Targets                                                      -->
     <!-- ================================================================== -->
  +
  +  <target name="help">
  +    <projecthelp>
  +      <header/>
  +      <header>  This is the project build control module for JBoss.</header>
  +      <header/>
  +      <footer/>                                  
  +      <footer>    * -projecthelp for all targets</footer>
  +      <footer>    * -help for full options</footer>
  +    </projecthelp>
  +  </target>
   
     <target name="main" depends="install"
          description="Executes the default target (install)."/>
  
  
  
  1.2.2.6   +5 -12     build/config.xml
  
  Index: config.xml
  ===================================================================
  RCS file: /cvsroot/jboss/build/config.xml,v
  retrieving revision 1.2.2.5
  retrieving revision 1.2.2.6
  diff -u -r1.2.2.5 -r1.2.2.6
  --- config.xml        2001/07/28 05:57:54     1.2.2.5
  +++ config.xml        2001/07/29 01:02:03     1.2.2.6
  @@ -14,7 +14,7 @@
   <!--                                                                        -->
   <!-- ====================================================================== -->
   
  -<!-- $Id: config.xml,v 1.2.2.5 2001/07/28 05:57:54 user57 Exp $ -->
  +<!-- $Id: config.xml,v 1.2.2.6 2001/07/29 01:02:03 user57 Exp $ -->
   
     <!-- ================================================================== -->
     <!-- Project Setup                                                      -->
  @@ -30,23 +30,16 @@
     <!-- Tool Setup                                                         -->
     <!-- ================================================================== -->
   
  -  <!-- BuildMagic -->
  -  <property name="buildmagic.root" value="${tools.root}/planet57/buildmagic"/>
  -  <property name="buildmagic.lib" value="${buildmagic.root}/lib"/>
  -  <path id="buildmagic.classpath">
  -    <fileset dir="${buildmagic.lib}">
  -      <include name="**/*.jar"/>
  -    </fileset>
  -  </path>
  +  <!-- No tool dependencies -->
   
   
     <!-- ================================================================== -->
     <!-- Task Setup                                                         -->
     <!-- ================================================================== -->
   
  -  <property name="executemodules.header" 
  +  <!-- Define the header and footer displayed during each module execution -->
  +  <property name="executemodules.header"
            value=" ====&gt; Executing ${target} in module '${module}' ..."/>
  -
     <property name="executemodules.footer"
            value=" &lt;==== Finished with ${target} in module '${module}'."/>
   
  @@ -55,7 +48,7 @@
     <!-- Modules Setup                                                      -->
     <!-- ================================================================== -->
   
  -  <property name="modules.core" 
  +  <property name="modules.core"
            value="j2ee, naming, server"/>
   
     <property name="modules.support" 
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to