User: user57
Date: 01/08/26 00:00:30
Modified: varia build.sh build.xml
Removed: varia 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 contrib/varia/build.sh
Index: build.sh
===================================================================
RCS file: /cvsroot/jboss/contrib/varia/build.sh,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- build.sh 2001/08/11 05:20:17 1.2
+++ build.sh 2001/08/26 07:00:30 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:17 user57 Exp $
+# $Id: build.sh,v 1.3 2001/08/26 07:00:30 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.4 +269 -151 contrib/varia/build.xml
Index: build.xml
===================================================================
RCS file: /cvsroot/jboss/contrib/varia/build.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- build.xml 2001/08/11 08:04:54 1.3
+++ build.xml 2001/08/26 07:00:30 1.4
@@ -1,159 +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.3 2001/08/11 08:04:54 user57 Exp $ -->
+<!-- $Id: build.xml,v 1.4 2001/08/26 07:00:30 user57 Exp $ -->
<project default="main">
<!-- ================================================================== -->
- <!-- Basic module configuration -->
+ <!-- Initialization -->
<!-- ================================================================== -->
- <!--
- | Give users a chance to use a different Buildmagic.
- -->
- <property file="${user.home}/.buildmagic.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 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
- -->
- <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"/>
+ <!-- Load Buildmagic extention tasks. -->
+ <taskdef name="taskdef" classname="planet57.tools.buildmagic.task.Taskdef"/>
+ <taskdef resource="planet57/tools/buildmagic/task/autoload.properties"/>
- <!--
- | Include user, project and module 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="${module.root}/override.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="${module.root}/local.properties"/>
- <property file="${project.config}/local.properties"/>
- <property file="${module.root}/config.properties"/>
- <property file="${moudle.parent.config}/config.properties"/>
+ <property file="${control.root}/local.properties"/>
- <!--
- | Setup the basic environment for a source module.
- |
- | module.source - The module source root
- | module.output - The root where generated files will be placed
- | module.build - Where build 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
- -->
+ <!-- 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 environment for a source module. -->
+ <property name="module.root" value="${basedir}"/>
<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.
@@ -161,37 +52,267 @@
| 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="varia"/>
+ <property name="module.Name" value="Various Plugins"/>
+ <property name="module.version" value="1.0"/>
+
+
+ <!-- ================================================================== -->
+ <!-- Tool Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- No non-standard tools are required for this module. -->
+
+
+ <!-- ================================================================== -->
+ <!-- Library Configuration -->
+ <!-- ================================================================== -->
+
+ <!-- Java Naming and Directory Interface (JNDI) -->
+ <property name="sun.jndi.root" value="${thirdparty.root}/sun/jndi"/>
+ <property name="sun.jndi.lib" value="${sun.jndi.root}/lib"/>
+ <path id="sun.jndi.classpath">
+ <pathelement path="${sun.jndi.lib}/jndi.jar"/>
+ </path>
+
+ <!-- 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 API for XML Processing (JAXP) -->
+ <property name="sun.jaxp.root" value="${thirdparty.root}/sun/jaxp"/>
+ <property name="sun.jaxp.lib" value="${sun.jaxp.root}/lib"/>
+ <path id="sun.jaxp.classpath">
+ <fileset dir="${sun.jaxp.lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </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>
+
+ <!-- Java Transaction Service (JTS) -->
+ <property name="sun.jts.root" value="${thirdparty.root}/sun/jts"/>
+ <property name="sun.jts.lib" value="${sun.jts.root}/lib"/>
+ <path id="sun.jts.classpath">
+ <pathelement path="${sun.jts.lib}/jts.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>
+
+ <!-- EDU.oswego.cs.dl.util.concurrent -->
+ <property name="oswego.concurrent.root"
value="${thirdparty.root}/oswego/concurrent"/>
+ <property name="oswego.concurrent.lib" value="${oswego.concurrent.root}/lib"/>
+ <path id="oswego.concurrent.classpath">
+ <pathelement path="${oswego.concurrent.lib}/concurrent.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>
+
+ <!-- Hypersonic SQL -->
+ <property name="hsql.hsql.root" value="${thirdparty.root}/hsql/hsql"/>
+ <property name="hsql.hsql.lib" value="${hsql.hsql.root}/lib"/>
+ <path id="hsql.hsql.classpath">
+ <pathelement path="${hsql.hsql.lib}/hsql.jar"/>
+ </path>
+
+ <!-- Instant DB -->
+ <property name="enhydra.instantdb.root"
value="${thirdparty.root}/enhydra/instantdb"/>
+ <property name="enhydra.instantdb.lib" value="${enhydra.instantdb.root}/lib"/>
+ <path id="enhydra.instantdb.classpath">
+ <pathelement path="${enhydra.instantdb.lib}/idb.jar"/>
+ </path>
+
+ <!-- Castor -->
+ <property name="exolab.castor.root" value="${thirdparty.root}/exolab/castor"/>
+ <property name="exolab.castor.lib" value="${exolab.castor.root}/lib"/>
+ <path id="exolab.castor.classpath">
+ <pathelement path="${exolab.castor.lib}/castor.jar"/>
+ </path>
+
+ <!-- Tyrex -->
+ <property name="exolab.tyrex.root" value="${thirdparty.root}/exolab/tyrex"/>
+ <property name="exolab.tyrex.lib" value="${exolab.tyrex.root}/lib"/>
+ <path id="exolab.tyrex.classpath">
+ <pathelement path="${exolab.tyrex.lib}/tyrex.jar"/>
+ </path>
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ <path refid="sun.jndi.classpath"/>
+ <path refid="sun.jmx.classpath"/>
+ <path refid="sun.jaxp.classpath"/>
+ <path refid="sun.jaas.classpath"/>
+ <path refid="sun.jts.classpath"/>
+ <path refid="apache.log4j.classpath"/>
+ <path refid="junit.junit.classpath"/>
+ <path refid="hsql.hsql.classpath"/>
+ <path refid="enhydra.instantdb.classpath"/>
+ <path refid="exolab.castor.classpath"/>
+ <path refid="exolab.tyrex.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>
+
+ <!-- Naming -->
+ <property name="jboss.naming.root" value="${project.root}/naming/output"/>
+ <property name="jboss.naming.lib" value="${jboss.naming.root}/lib"/>
+ <path id="jboss.naming.classpath">
+ <pathelement path="${jboss.naming.lib}/jnpserver.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.naming.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"/>
+
+ <!-- RMIC should generate stubs compatible with Java 1.2+ -->
+ <property name="rmic.stubVersion" value="1.2"/>
+
+ <!-- Where source files live -->
+ <property name="source.java" value="${module.source}/main"/>
+ <property name="source.etc" value="${module.source}/etc"/>
+ <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.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}"/>
<!-- ================================================================== -->
@@ -473,8 +594,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}"
@@ -500,7 +619,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}"/>
@@ -510,8 +629,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