User: user57
Date: 01/08/26 00:00:28
Modified: . build.sh build.xml
Removed: . config.xml
Log:
o consolidated all tools/* stuff into tools/bin and tools/lib
o upgraded ant to 1.4beta2
o consolidated config.xml into build.xml
o using path to generate absolute paths to project.root
o changed project.config to control.root
o removed classpath fluff for extra tasks & the taskdefs for them
currently every support lib is in ANT_HOME/lib, so there is no need for
specific classpaths. May change that for ejbdoclet and such later.
o updated build.sh to look for tools/ too (will get the a win32 script soon
... really)
o removed bootstrap & configure targets, the just added complexity and
slowed down the build
NOTE: All modules will read ${config.root}/local.properties
(or build/local.properties). Modules still can read a local.properties
(when they don't care about the control module, but this file will
no loger be placed here automatically)
Revision Changes Path
1.3 +8 -22 admin/build.sh
Index: build.sh
===================================================================
RCS file: /cvsroot/jboss/admin/build.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- build.sh 2001/08/11 05:20:04 1.2
+++ build.sh 2001/08/26 07:00:28 1.3
@@ -1,39 +1,25 @@
#!/bin/sh
### ====================================================================== ###
## ##
-## Copyright (c) 1998-2000 by Jason Dillon <[EMAIL PROTECTED]> ##
-## ##
-## This file is part of Buildmagic. ##
-## ##
-## This library is free software; you can redistribute it and/or modify ##
-## it under the terms of the GNU Lesser General Public License as ##
-## published by the Free Software Foundation; either version 2 of the ##
-## License, or (at your option) any later version. ##
-## ##
-## This library is distributed in the hope that it will be useful, but ##
-## WITHOUT ANY WARRANTY; without even the implied warranty of ##
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ##
-## Lesser General Public License for more details. ##
-## ##
-### ====================================================================== ###
-## ##
## This is the main entry point for the build system. ##
+## ##
## Users should be sure to execute this file rather than 'ant' to ensure ##
## the correct version is being used with the correct configuration. ##
## ##
### ====================================================================== ###
-# $Id: build.sh,v 1.2 2001/08/11 05:20:04 user57 Exp $
+# $Id: build.sh,v 1.3 2001/08/26 07:00:28 user57 Exp $
PROGNAME=`basename $0`
DIRNAME=`dirname $0`
GREP="grep"
ROOT="/"
-# the default search path for buildmagic/ant
+# the default search path for ant
ANT_SEARCH_PATH="\
- tools/apache/ant \
+ tools
tools/ant \
+ tools/apache/ant \
ant"
# the default build file name
@@ -42,8 +28,8 @@
# the default arguments
ANT_OPTIONS="-find $ANT_BUILD_FILE"
-# the required version of Ant
-ANT_VERSION="1.3"
+# don't check versions (too slow)
+ANT_VERSION=""
#
# Helper to complain.
@@ -113,7 +99,7 @@
fi
# perhaps check the version
- if [ "x$ANT_VERSION_CHECK" != "x" ]; then
+ if [ "x$ANT_VERSION" != "x" ] && [ "x$ANT_VERSION_CHECK" != "x" ]; then
result="`$ANT -version 2>&1 | $GREP $ANT_VERSION`x"
if [ "$result" = "x" ]; then
die "Ant version $ANT_VERSION is required to build."
1.3 +218 -151 admin/build.xml
Index: build.xml
===================================================================
RCS file: /cvsroot/jboss/admin/build.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- build.xml 2001/08/11 05:20:04 1.2
+++ build.xml 2001/08/26 07:00:28 1.3
@@ -1,157 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project-module [ <!ENTITY config SYSTEM "file:./config.xml"> ]>
+<!DOCTYPE project>
<!-- ====================================================================== -->
<!-- -->
-<!-- JBoss, the OpenSource EJB server -->
+<!-- JBoss, the OpenSource J2EE webOS -->
<!-- -->
<!-- Distributable under LGPL license. -->
<!-- See terms of license at http://www.gnu.org. -->
<!-- -->
<!-- ====================================================================== -->
-<!-- $Id: build.xml,v 1.2 2001/08/11 05:20:04 user57 Exp $ -->
+<!-- $Id: build.xml,v 1.3 2001/08/26 07:00:28 user57 Exp $ -->
<project default="main">
<!-- ================================================================== -->
- <!-- Basic module configuration -->
+ <!-- Initialization -->
<!-- ================================================================== -->
- <!--
- | Give users a chance to use a different Buildmagic.
- -->
+ <!-- Load Buildmagic extention tasks. -->
+ <taskdef name="taskdef" classname="planet57.tools.buildmagic.task.Taskdef"/>
+ <taskdef resource="planet57/tools/buildmagic/task/autoload.properties"/>
+
+ <!-- Setup the basic project roots. -->
+ <path id="project.root"><pathelement location=".."/></path>
+ <property name="project.root" refid="project.root"/>
+ <property name="control.root" value="${project.root}/build"/>
+
+ <!-- Include user and project property overrides. -->
<property file="${user.home}/.buildmagic.properties"/>
+ <property file="${user.home}/.ant.properties"/>
+ <property file="${control.root}/local.properties"/>
- <!--
- | Load Buildmagic Ant extentions.
- -->
- <property name="planet57.buildmagic.root"
value="${basedir}/../tools/planet57/buildmagic"/>
- <property name="planet57.buildmagic.lib" value="${planet57.buildmagic.root}/lib"/>
- <path id="planet57.buildmagic.classpath">
- <fileset dir="${planet57.buildmagic.lib}">
- <include name="**/*.jar"/>
- </fileset>
- </path>
- <taskdef name="taskdef" classname="planet57.tools.buildmagic.task.Taskdef"
- classpathref="planet57.buildmagic.classpath"/>
- <taskdef classpathref="planet57.buildmagic.classpath"
- resource="planet57/tools/buildmagic/task/autoload.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"/>
- <!--
- | Setup the basic module roots.
- |
- | module.root - Should be the directory this file is in
- | project.root - Where the project root directory is
- | project.config - Where the project configuration files live
- -->
+ <!-- Setup the basic environment for a source module. -->
<property name="module.root" value="${basedir}"/>
- <property name="project.root">
- <findroot basedir="." suffix="build/build.xml"/>
- </property>
- <property name="project.config" value="${project.root}/build"/>
-
- <!--
- | Include user, project and module property overrides.
- |
- | override.properties - Used rarely (ignore)
- | .ant.properties - Ant properties
- | local.properties - User local module properties
- | config.properties - Used rarely (ignore)
- -->
- <property file="${project.config}/override.properties"/>
- <property file="${module.root}/override.properties"/>
- <property file="${user.home}/.ant.properties"/>
- <property file="${module.root}/local.properties"/>
- <property file="${project.config}/local.properties"/>
- <property file="${module.root}/config.properties"/>
- <property file="${moudle.parent.config}/config.properties"/>
-
- <!--
- | Setup the basic environment for a source module.
- |
- | module.source - The module source root
- | module.output - The root where build output will be placed
- | module.build - Where released files will be placed
- | module.release - Where released files will be placed
- | tools.root - Where to build support tools live
- | thirdparty.root - Where to thirdparty libraries live
- -->
<property name="module.source" value="${module.root}/src"/>
<property name="module.output" value="${module.root}/output"/>
<property name="module.build" value="${module.output}"/>
<property name="module.release" value="${module.output}"/>
- <property name="tools.root" value="${project.root}/tools"/>
- <property name="thirdparty.root" value="${project.root}/thirdparty"/>
-
- <!--
- | Load project configuration.
- |
- | config.xml - Define most configuration elements here (required).
- -->
- &config;
-
-
- <!-- ================================================================== -->
- <!-- Initialize, Configure and Bootstrap the build system -->
- <!-- ================================================================== -->
-
- <!--
- | 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="bootstraped-already">
- <property name="bootstraped-already" value="true"/>
- </target>
-
- <!-- Fail if the required bootstrapping dependencies are missing -->
- <target name="bootstrap-init"
- depends="bootstrap-check"
- unless="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="bootstraped-already">
- <!-- Check for required extensions here -->
- <property name="have-bootstrap-dependencies-already" value="true"/>
- </target>
-
- <!--
- | Configure the module 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 configured-already property is set.
- -->
- <target name="configure"
- unless="configured-already"
- description="Configure the module build system.">
- <property name="module.examples" value="${module.root}/etc"/>
- <property name="module.examples.extension" value="-example"/>
- <copy todir="${module.root}" filtering="yes">
- <fileset dir="${module.examples}/">
- <include name="**/*${module.examples.extension}"/>
- </fileset>
- <mapper type="glob" from="*${module.examples.extension}" to="*"/>
- </copy>
-
- <antcall target="configure-hook"/>
- <property name="configured-already" value="true"/>
- </target>
-
- <!-- Disable execution of the configure target -->
- <target name="disable-configure">
- <property name="configured-already" value="true"/>
- </target>
+ <property file="${module.root}/local.properties"/>
<!--
| Initialize the build system.
@@ -159,39 +52,212 @@
| o Sets the timestamp and build.number properties
| o Installs property defaults
| o Displays some module 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="configure, bootstrap"
- unless="initialized-already">
+ <target name="init" unless="initialized-already">
<tstamp>
<format property="build.number" pattern="yyyyMMddHHmm"/>
</tstamp>
- <property name="build.id" value="${build.number}"/>
+ <property name="build.id" value="DEV"/>
+
<property resource="planet57/tools/buildmagic/common.properties"/>
<property resource="planet57/tools/buildmagic/task.properties"/>
+
<moduleinfo/>
- <call target="init-hook" unless="bypass-init-hook"/>
<resolver force="${buildmagic.resolveproperties.force}"/>
<propertyfilter all="${buildmagic.propertyfilter.all}"/>
<property name="initialized-already" value="true"/>
</target>
- <!-- Disable execution of the init target -->
- <target name="disable-init">
- <property name="initialized-already" value="true"/>
- </target>
- <!-- Disable execution of the init-hook target -->
- <target name="disable-init-hook">
- <property name="bypass-init-hook" value="true"/>
- </target>
+ <!-- ================================================================== -->
+ <!-- Module Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- Module name(s) & version -->
+ <property name="module.name" value="admin"/>
+ <property name="module.Name" value="JBoss Admin"/>
+ <property name="module.version" value="1.0"/>
+
+
+ <!-- ================================================================== -->
+ <!-- Tool Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- No non-standard tools are required for this module. -->
+
+
+ <!-- ================================================================== -->
+ <!-- Library Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- Java Management Extensions (JMX) -->
+ <property name="sun.jmx.root" value="${thirdparty.root}/sun/jmx"/>
+ <property name="sun.jmx.lib" value="${sun.jmx.root}/lib"/>
+ <path id="sun.jmx.classpath">
+ <pathelement path="${sun.jmx.lib}/jmxri.jar"/>
+ </path>
+
+ <!-- Java Authentication and Authorization Service (JAAS) -->
+ <property name="sun.jaas.root" value="${thirdparty.root}/sun/jaas"/>
+ <property name="sun.jaas.lib" value="${sun.jaas.root}/lib"/>
+ <path id="sun.jaas.classpath">
+ <pathelement path="${sun.jaas.lib}/jaas.jar"/>
+ </path>
+
+ <!-- Log4j -->
+ <property name="apache.log4j.root" value="${thirdparty.root}/apache/log4j"/>
+ <property name="apache.log4j.lib" value="${apache.log4j.root}/lib"/>
+ <path id="apache.log4j.classpath">
+ <pathelement path="${apache.log4j.lib}/log4j.jar"/>
+ </path>
+
+ <!-- JPL-Util -->
+ <property name="gjt.jpl-util.root" value="${thirdparty.root}/gjt/jpl-util"/>
+ <property name="gjt.jpl-util.lib" value="${gjt.jpl-util.root}/lib"/>
+ <path id="gjt.jpl-util.classpath">
+ <fileset dir="${gjt.jpl-util.lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <!-- JUnit -->
+ <property name="junit.junit.root" value="${thirdparty.root}/junit/junit"/>
+ <property name="junit.junit.lib" value="${junit.junit.root}/lib"/>
+ <path id="junit.junit.classpath">
+ <pathelement path="${junit.junit.lib}/junit.jar"/>
+ </path>
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ <path refid="sun.jmx.classpath"/>
+ <path refid="sun.jaas.classpath"/>
+ <path refid="apache.log4j.classpath"/>
+ <path refid="gjt.jpl-util.classpath"/>
+ <path refid="junit.junit.classpath"/>
+ </path>
+
+
+ <!-- ================================================================== -->
+ <!-- Dependent Module Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- J2EE -->
+ <property name="jboss.j2ee.root" value="${project.root}/j2ee/output"/>
+ <property name="jboss.j2ee.lib" value="${jboss.j2ee.root}/lib"/>
+ <path id="jboss.j2ee.classpath">
+ <pathelement path="${jboss.j2ee.lib}/jboss-j2ee.jar"/>
+ </path>
+
+ <!-- Server -->
+ <property name="jboss.server.root" value="${project.root}/server/output"/>
+ <property name="jboss.server.lib" value="${jboss.server.root}/lib"/>
+ <path id="jboss.server.classpath">
+ <pathelement path="${jboss.server.lib}/jboss.jar"/>
+ </path>
+
+ <!-- The combined depedant module classpath -->
+ <path id="dependentmodule.classpath">
+ <path refid="jboss.j2ee.classpath"/>
+ <path refid="jboss.server.classpath"/>
+ </path>
+
+
+ <!-- ================================================================== -->
+ <!-- Task Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- The combined thirdparty classpath -->
+ <path id="thirdparty.classpath">
+ <path refid="library.classpath"/>
+ <path refid="dependentmodule.classpath"/>
+ </path>
+ <!-- This module is based on Java 1.2 -->
+ <property name="javac.target" value="1.2"/>
+ <!-- classpath and local.classpath must have a value using with a path -->
+ <property name="classpath" value=""/>
+ <property name="local.classpath" value=""/>
+
+ <!-- The classpath required to build classes. -->
+ <path id="javac.classpath">
+ <pathelement path="${classpath}"/>
+ <pathelement path="${local.classpath}"/>
+ <path refid="thirdparty.classpath"/>
+ </path>
+
+ <!-- Packages to include when generating api documentation -->
+ <property name="javadoc.packages" value="org.jboss.*"/>
+
+ <!-- The classpath required to build javadocs. -->
+ <path id="javadoc.classpath">
+ <path refid="javac.classpath"/>
+ </path>
+
+ <!-- Override JUnit defaults -->
+ <property name="junit.timeout" value="240000"/> <!-- 4 minutes -->
+ <property name="junit.batchtest.todir" value="${build.reports}"/>
+ <property name="junit.jvm.options" value="-client"/>
+
+ <!-- ejbdoclet bits -->
+ <path id="dreambean.ejbdoclet.task.classpath">
+ <path refid="javac.classpath"/>
+ <pathelement location="${tools.root}/lib/ejbdoclet.jar"/>
+ </path>
+ <property name="dreambean.ejbdoclet.task.classpath"
+ refid="dreambean.ejbdoclet.task.classpath"/>
+
+ <!-- Where source files live -->
+ <property name="source.java" value="${module.source}/main"/>
+ <property name="source.etc" value="${module.source}/etc"/>
+ <property name="source.bin" value="${module.source}/bin"/>
+ <property name="source.resources" value="${module.source}/resources"/>
+
+ <!-- Where build generated files will go -->
+ <property name="build.classes" value="${module.build}/classes"/>
+ <property name="build.jars" value="${module.build}/lib"/>
+ <property name="build.api" value="${module.build}/api"/>
+ <property name="build.etc" value="${module.build}/etc"/>
+ <property name="build.bin" value="${module.build}/bin"/>
+ <property name="build.beans" value="${module.build}/beans"/>
+ <property name="build.metadata" value="${module.build}/metadata"/>
+ <property name="build.resources" value="${module.build}/resources"/>
+ <property name="build.reports" value="${module.build}/reports"/>
+
+ <!-- Where release generated files will go -->
+ <property name="release.id" value="${module.name}-${module.version}-${build.id}"/>
+ <property name="release.root" value="${module.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.name}"/>
+ <property name="release.module.api" value="${release.api}/${module.name}"/>
+
+ <!-- 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"/>
+
+
<!-- ================================================================== -->
<!-- Compile -->
<!-- ================================================================== -->
@@ -230,6 +296,8 @@
<!-- Compile EJB beans with EJBDoclet -->
<target name="compile-bean-sources" depends="init">
+ <taskdef name="ejbdoclet" classname="ejbdoclet.EJBDocletTask"/>
+
<mkdir dir="${build.beans}"/>
<mkdir dir="${build.metadata}"/>
<ejbdoclet sourcepath="${source.java}"
@@ -285,10 +353,12 @@
</fileset>
</copy>
- <fixcrlf srcdir="${build.bin}" cr="remove" eof="remove"
+ <fixcrlf srcdir="${build.bin}"
+ eol="lf" eof="remove"
includes="**/*.sh"/>
- <fixcrlf srcdir="${build.bin}" cr="add" eof="remove"
+ <fixcrlf srcdir="${build.bin}"
+ eol="crlf" eof="remove"
includes="**/*.bat, **/*.cmd"/>
<!-- need to create unix scripts !!!
@@ -500,8 +570,6 @@
<classpath>
<pathelement location="${build.classes}"/>
<path refid="javac.classpath"/>
- <path refid="apache.ant.classpath"/>
- <path refid="apache.ant.ext.classpath"/>
</classpath>
<formatter type="${junit.formatter.type}"
@@ -527,7 +595,7 @@
<!-- ================================================================== -->
<!-- Clean up all build output -->
- <target name="clean" depends="disable-configure, disable-init-hook, init"
+ <target name="clean" depends="init"
description="Cleans up most generated files.">
<delete dir="${module.build}"/>
<delete dir="${module.release}"/>
@@ -537,8 +605,7 @@
<!-- Clean up all generated files -->
<target name="clobber" depends="clean"
description="Cleans up all generated files.">
- <!-- Clean up configure generated files -->
- <delete file="${module.root}/local.properties" quiet="true"/>
+ <!-- Nothing to clobber -->
</target>
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development