jon 01/08/21 12:30:34
Modified: jpath build.properties.sample build.xml
Log:
clean up the build system so that all one needs to do is:
#1. define a ${lib.repo} and put the various .jar files into a single location
this will also help make JJAR integration easier
#2. cp build.properties.sample build.properties
#3. ant
No need to edit files in order to define things and if a .jar file is
missing, the build system will report the error! On top of it, the list of
dependencies is clearly stated in the build.properties file.
Can people *please* start using this?
-jon
Revision Changes Path
1.2 +4 -3 jakarta-commons-sandbox/jpath/build.properties.sample
Index: build.properties.sample
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jpath/build.properties.sample,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.properties.sample 2001/06/03 21:19:58 1.1
+++ build.properties.sample 2001/08/21 19:30:34 1.2
@@ -6,7 +6,7 @@
# Make any changes you need, and rename this file to
# "build.properties"
#
-# $Id: build.properties.sample,v 1.1 2001/06/03 21:19:58 dmitri Exp $
+# $Id: build.properties.sample,v 1.2 2001/08/21 19:30:34 jon Exp $
# -------------------------------------------------------------------
@@ -14,6 +14,7 @@
# EXTERNAL DEPENDENCIES
# -------------------------------------------------------------------
-junit.home=c:/junit3.6
+junit.jar=${lib.repo}/junit-3.7.jar
-jaxp.home=c:/jaxp-1.1
+jaxp.jaxp.jar=${lib.repo}/jaxp-1.1.jar
+jaxp.xslt.jar=${lib.repo}/xalan-2.1.0.jar
1.2 +68 -24 jakarta-commons-sandbox/jpath/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jpath/build.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.xml 2001/06/03 21:19:58 1.1
+++ build.xml 2001/08/21 19:30:34 1.2
@@ -3,37 +3,18 @@
<!--
"JPath" component of the Jakarta Commons Subproject
- $Id: build.xml,v 1.1 2001/06/03 21:19:58 dmitri Exp $
+ $Id: build.xml,v 1.2 2001/08/21 19:30:34 jon Exp $
-->
<!-- ========== Initialize Properties ===================================== -->
-
+ <property file="${user.home}/build.properties"/> <!-- User local -->
<property file="build.properties"/> <!-- Component local -->
<property file="../build.properties"/> <!-- Commons local -->
- <property file="${user.home}/build.properties"/> <!-- User local -->
-
-<!-- ========== External Dependencies ===================================== -->
-
-
- <!-- The directory containing your binary distribution of JUnit,
- version 3.2 or later -->
- <property name="junit.home" value="/usr/local/junit3.5"/>
- <property name="jaxp.home" value="/usr/local/jaxp1.1"/>
-
-<!-- ========== Derived Values ============================================ -->
-
-
- <!-- The pathname of the "junit.jar" JAR file -->
- <property name="junit.jar" value="${junit.home}/junit.jar"/>
- <property name="jaxp.jaxp.jar" value="${jaxp.home}/jaxp.jar"/>
- <property name="jaxp.xslt.jar" value="${jaxp.home}/xalan.jar"/>
-
<!-- ========== Component Declarations ==================================== -->
-
<!-- The name of this component -->
<property name="component.name" value="jpath"/>
@@ -76,6 +57,7 @@
<pathelement location="${build.home}/classes"/>
<pathelement location="${jaxp.jaxp.jar}"/>
<pathelement location="${jaxp.xslt.jar}"/>
+ <pathelement location="${junit.jar}"/>
</path>
@@ -100,23 +82,85 @@
<!-- ========== Executable Targets ======================================== -->
+ <target name="check_available">
+ <available
+ classname="junit.framework.Test"
+ property="junit.present"
+ classpathref="compile.classpath"
+ />
+
+ <available
+ classname="org.xml.sax.SAXException"
+ property="jaxp.jaxp.present"
+ classpathref="compile.classpath"
+ />
+
+ <available
+ classname="javax.xml.transform.Transformer"
+ property="jaxp.xslt.present"
+ classpathref="compile.classpath"
+ />
+ </target>
<target name="init"
- description="Initialize and evaluate conditionals">
+ description="Initialize and evaluate conditionals"
+ depends="check_available">
<echo message="-------- ${component.name} ${component.version} --------"/>
<filter token="name" value="${component.name}"/>
<filter token="version" value="${component.version}"/>
+
+ <echo message="junit.jar = ${junit.jar}"/>
+ <echo message="jaxp.jaxp.jar = ${jaxp.jaxp.jar}"/>
+ <echo message="jaxp.xslt.jar = ${jaxp.xslt.jar}"/>
</target>
+ <target name="check.junit" unless="junit.present">
+ <antcall target="property-warning">
+ <param name="name" value="junit.jar"/>
+ <param name="value" value="${junit.jar}"/>
+ </antcall>
+ </target>
+
+ <target name="check.jaxp.jaxp" unless="jaxp.jaxp.present">
+ <antcall target="property-warning">
+ <param name="name" value="jaxp.jaxp.jar"/>
+ <param name="value" value="${jaxp.jaxp.jar}"/>
+ </antcall>
+ </target>
- <target name="prepare" depends="init"
+ <target name="check.jaxp.xslt" unless="jaxp.xslt.present">
+ <antcall target="property-warning">
+ <param name="name" value="jaxp.xslt.jar"/>
+ <param name="value" value="${jaxp.xslt.jar}"/>
+ </antcall>
+ </target>
+
+ <target name="property-warning">
+ <echo>
+ +----------------------------------------------------------------+
+ + F A I L E D R E Q U I R E M E N T |
+ +----------------------------------------------------------------+
+ | You must define the following property in order |
+ | to build ${component.name}:
+ | |
+ | ${name} = ${value}
+ | |
+ | You can set this property in the provided build.properties |
+ | file, or you may set this property in your |
+ | ${user.home}/build.properties file.
+ +----------------------------------------------------------------+
+ </echo>
+ <fail message="Failed Requirement"/>
+ </target>
+
+ <target name="prepare" depends="init,
+ check.junit,check.jaxp.jaxp,check.jaxp.xslt"
description="Prepare build directory">
<mkdir dir="${build.home}"/>
<mkdir dir="${build.home}/classes"/>
<mkdir dir="${build.home}/conf"/>
<mkdir dir="${build.home}/tests"/>
</target>
-
<target name="static" depends="prepare"
description="Copy static files to build directory">