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=" ====> Executing ${target} in module '${module}' ..."/>
-
<property name="executemodules.footer"
value=" <==== 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