<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- ================================================================
XML: build.xml
build file for Ant 1.5 to create a new portal app
from sources; this build process extends the jakarta-jetspeed CVS
source tree, so before you can build this, you must build that
package first.
Created: Wed Dec 18 16:22:38 EST 2002
$Log$
Author: Gary Lawrence Murphy <[EMAIL PROTECTED]>
Adapted from the original JPortal tutorial build script
Version: $Id$
================================================================ -->
<project name="Portal" default="compile" basedir=".">
<property name="app.name" value="sentry"/>
<property name="app.version" value="0.2"/>
<property file="${user.home}/build.properties" />
<property file="${user.home}/.build.properties" />
<property file="build.properties" />
<!-- ============================================================= -->
<!-- WARNING: CHANGE THESE PROPERTIES FOR YOUR SYSTEM -->
<!-- -->
<!-- jetspeed.home - set to Jetspeed source home directory -->
<!-- -->
<!-- catalina.home - Set to the Tomcat home directory -->
<!-- -->
<!-- portal.app.name - Set to web application name. The directory -->
<!-- within the webapps directory. -->
<!-- -->
<!-- company - Used to generate JavaDocs. Set to the starting dir -->
<!-- for Javadoc -->
<!-- -->
<!-- jetspeed.jar - Set to jetspeed jar that is in -->
<!-- the bin directory of jetspeed.home. -->
<!-- -->
<!-- NOTES: When you execute "ant deploy" a bin directory will be -->
<!-- created in the dir where ant is run. Ant uses this -->
<!-- directory to build the files and then moves them -->
<!-- to the application directory. to do a total -->
<!-- re-deployment, delete bin before running ant. -->
<!-- ============================================================= -->
<property name="jetspeed.home" value="${jetspeed_home}"/>
<property name="catalina.home" value="${catalina_home}"/>
<property name="portal.app.name" value="${portlet_app_name}"/>
<property name="company" value="${company}"/>
<property name="jetspeed.jar" value="${jetspeed.home}/${jetspeed_jar}"/>
<property name="jetspeed.war" value="${jetspeed.home}/${jetspeed_war}"/>
<property name="javadocs.destdir" value="docs/api"/>
<!-- ============================================================= -->
<!-- Configuration -->
<!-- ============================================================= -->
<property name="build.home" value="./bin"/>
<property name="hotdeploy.home" value="${catalina.home}/webapps/${portal.app.name}"/>
<property name="deploy.home" value="${catalina.home}/webapps/"/>
<property name="stage.home" value="./stage"/>
<property name="dist.home" value="./dist"/>
<property name="webapp.dir" value="./webapp"/>
<property name="lib.dir" value="${jetspeed.home}/${jetspeed_lib}"/>
<property name="jetspeed.properties" value="${jetspeed.home}/${jetspeed_conf}"/>
<property name="compile.debug" value="true"/>
<property name="compile.deprecation" value="false"/>
<property name="compile.optimize" value="true"/>
<!-- ============================================================= -->
<!-- Classpath -->
<!-- ============================================================= -->
<path id="compile.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement location="${jetspeed.jar}"/>
<pathelement location="${jetspeed.home}/build/lib/junit.jar"/>
</path>
<path id="test.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
<pathelement location="${jetspeed.jar}"/>
<pathelement location="${jetspeed.home}/build/lib/junit.jar"/>
<!-- pathelement location="."/ -->
<pathelement location="${build.home}/WEB-INF/classes"/>
</path>
<!-- ============================================================= -->
<!-- All Target -->
<!-- ============================================================= -->
<target name="all" depends="clean,compile"
description="Clean build and dist, then compile"/>
<!-- ============================================================= -->
<!-- Clean -->
<!-- ============================================================= -->
<target name="clean"
description="Delete old build and dist directories">
<delete dir="${build.home}"/>
<delete dir="${dist.home}"/>
<mkdir dir="${build.home}"/>
<mkdir dir="${dist.home}"/>
<mkdir dir="${build.home}/WEB-INF/log"/>
<mkdir dir="${build.home}/WEB-INF/cache"/>
<ant antfile="build.xml" dir="./torque3" target="clean">
<property name="build.properties" value="build.properties"/>
</ant>
</target>
<!-- ============================================================= -->
<!-- Compile : move java classes and property files into build dir -->
<!-- ============================================================= -->
<target name="compile" depends="prepare,om,jar_prepare_error"
description="Compile Java sources">
<!-- Compile Java classes as necessary -->
<mkdir dir="${build.home}/WEB-INF/classes"/>
<javac srcdir="src/java"
destdir="${build.home}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
optimize="${compile.optimize}">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/WEB-INF/classes">
<fileset dir="src/java">
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</fileset>
</copy>
</target>
<!-- ============================================================= -->
<!-- Merge deltas in Properties files -->
<!-- ============================================================= -->
<target name="properties">
<copy todir="${build.home}/WEB-INF/conf">
<fileset dir="${jetspeed.properties}">
<include name="*.properties"/>
</fileset>
</copy>
</target>
<target name="merge_security" depends="properties">
<echo> merge_security required </echo>
<java fork="yes" classname="org.apache.jetspeed.util.OverwriteProperties" dir=".">
<classpath refid="test.classpath"/>
<sysproperty key="DEBUG" value="true"/>
<arg value="${build.home}/WEB-INF/conf/JetspeedSecurity.properties"/>
<arg value="./webapp/WEB-INF/conf/PortalSecurity.properties"/>
<arg value="./webapp/WEB-INF/conf/"/>
</java>
</target>
<target name="merge_jetspeed" depends="properties">
<echo> merge_jetspeed required </echo>
<java fork="yes" classname="org.apache.jetspeed.util.OverwriteProperties" dir=".">
<classpath refid="test.classpath"/>
<sysproperty key="DEBUG" value="true"/>
<arg value="${build.home}/WEB-INF/conf/JetspeedResources.properties"/>
<arg value="./webapp/WEB-INF/conf/PortalJetspeed.properties"/>
<arg value="./webapp/WEB-INF/conf/"/>
</java>
</target>
<target name="merge_turbine" depends="properties">
<echo> merge_turbine required </echo>
<java fork="yes" classname="org.apache.jetspeed.util.OverwriteProperties" dir=".">
<classpath refid="test.classpath"/>
<sysproperty key="DEBUG" value="true"/>
<arg value="${build.home}/WEB-INF/conf/TurbineResources.properties"/>
<arg value="./webapp/WEB-INF/conf/PortalTurbine.properties"/>
<arg value="./webapp/WEB-INF/conf/"/>
</java>
</target>
<target name="merge_torque" depends="properties">
<echo> merge_torque required </echo>
<java fork="yes" classname="org.apache.jetspeed.util.OverwriteProperties" dir=".">
<classpath refid="test.classpath"/>
<sysproperty key="DEBUG" value="true"/>
<arg value="${build.home}/WEB-INF/conf/Torque.properties"/>
<arg value="./webapp/WEB-INF/conf/PortalTorque.properties"/>
<arg value="./webapp/WEB-INF/conf/"/>
</java>
</target>
<target name="merge_properties"
depends="compile,merge_security,merge_jetspeed,merge_turbine,merge_torque">
<copy todir="${build.home}">
<fileset dir="./webapp">
<exclude name="WEB-INF/conf/Portal*.properties"/>
<include name="WEB-INF/conf/*.properties"/>
</fileset>
</copy>
</target>
<!-- ============================================================= -->
<!-- HotDeploy -->
<!-- ============================================================= -->
<target name="hotdeploy" depends="compile,merge_properties"
description="Hot Deploy application to servlet container">
<!-- Copy the contents of the build directory -->
<mkdir dir="${hotdeploy.home}"/>
<copy overwrite="true" todir="${hotdeploy.home}">
<fileset dir="${build.home}">
</fileset>
</copy>
</target>
<!-- ============================================================= -->
<!-- Deploy -->
<!-- ============================================================= -->
<target name="deploy" depends="compile,merge_properties,war"
description="Deploy application to servlet container">
<!-- Remove app dir from webapp & Copy contents of the build dir -->
<delete dir="${hotdeploy.home}"/>
<mkdir dir="${deploy.home}"/>
<copy file="${dist.home}/${portal.app.name}.war" todir="${deploy.home}">
</copy>
</target>
<!-- ============================================================= -->
<!-- Check if Jetspeed.war is present -->
<!-- ============================================================= -->
<target name="check_for_jetspeed_war">
<available property="jetspeed_war.present"
file="${jetspeed.war}">
</available>
</target>
<target name="war_prepare_error" depends="check_for_jetspeed_war"
unless="jetspeed_war.present">
<echo>
The jetspeed.war is not present! Please check
to make sure that you have built the war file
after the checking out from CVS.
</echo>
<fail message="Please build Jetspeed from the Jetspeed installationt: ant war"/>
</target>
<!-- ============================================================= -->
<!-- Check if Jetspeed.jar is present -->
<!-- ============================================================= -->
<target name="check_for_jetspeed_jar">
<available property="jetspeed_jar.present"
file="${jetspeed.jar}">
</available>
</target>
<target name="jar_prepare_error" depends="check_for_jetspeed_jar"
unless="jetspeed_jar.present">
<echo>
${jetspeed.jar} is not present! Please check
to make sure that you have built the jar file
after the checking out from CVS.
</echo>
<fail message="Please build Jetspeed from the Jetspeed installation: ant war"/>
</target>
<!-- ============================================================= -->
<!-- WAR -->
<!-- ============================================================= -->
<target name="war" depends="compile,war_prepare_error,merge_properties"
description="Create merged war"
if="jetspeed_war.present" >
<!-- Copy war file to bin -->
<copy file="${jetspeed.war}" tofile="${dist.home}/${portal.app.name}.war"
overwrite="yes">
</copy>
<!-- Update WAR file -->
<!-- for Ant 1.4 -
<jar jarfile="${dist.home}/${portal.app.name}.war"
basedir="${build.home}" update="yes">
</jar>
-->
<!-- for Ant 1.5.1+ (Dont use 1.5.0: there is a bug in 1.5.0, and jar update is broken)
<jar destfile="${dist.home}/${portal.app.name}.war"
-->
<!--
I am so sick of this Ant bug. Jar update works great in Ant 1.4
In 1.5.0, it just plain dont work
In 1.5.1, it worked its intermittent and madness.
Im going to skip ant and just exec the freakin thang
-->
<echo>update ${dist.home}/${portal.app.name}.war</echo>
<exec dir="${build.home}" executable="jar">
<arg line="-uf ../${dist.home}/${portal.app.name}.war ."/>
</exec>
</target>
<!-- ============================================================= -->
<!-- Distribution -->
<!-- ============================================================= -->
<target name="dist" depends="war,javadoc"
description="Create binary distribution">
<!-- Copy documentation subdirectory -->
<copy todir="${dist.home}/docs">
<fileset dir="docs"/>
</copy>
<!-- Create application JAR file -->
<!-- <jar destfile="${dist.home}/${app.name}.war" -->
<jar jarfile="${dist.home}/${app.name}.war"
basedir="${hotdeploy.home}"/>
</target>
<!-- ============================================================= -->
<!-- Javadocs -->
<!-- ============================================================= -->
<target name="javadoc" depends="compile"
description="Create Javadoc API documentation">
<mkdir dir="${dist.home}/docs/api"/>
<javadoc sourcepath="src/java"
destdir="${dist.home}/docs/api"
packagenames="${company}.*">
<classpath refid="compile.classpath"/>
</javadoc>
</target>
<!-- ============================================================= -->
<!-- Create build directory and copy jetspeed content -->
<!-- ============================================================= -->
<target name="prepare">
<copy todir="${build.home}">
<fileset dir="./webapp">
<exclude name="WEB-INF/db*"/>
<exclude name="WEB-INF/conf/Portal*.properties"/>
</fileset>
</copy>
</target>
<!-- ============================================================== -->
<!-- Object Model -->
<!-- ============================================================== -->
<target name="check_om">
<uptodate property="omBuild.notRequired"
targetfile="./src/sql/portal-schema.sql">
<srcfiles dir= "./torque3/schema" includes="portal-schema.xml"/>
<srcfiles dir= "./torque3" includes="build.properties"/>
</uptodate>
</target>
<target name="om" depends="check_om"
unless="omBuild.notRequired"
description="Generate Object Model sources">
<ant antfile="build.xml" dir="./torque3">
<property name="build.properties" value="build.properties"/>
</ant>
</target>
<target name="srcjar" depends="clean"
description="Build the source jar file">
<delete quiet="true">
<fileset dir="." includes="*.jar"/>
</delete>
<delete quiet="true">
<fileset dir="." includes="*.log"/>
</delete>
<delete quiet="true">
<fileset dir="." includes="*.log.1"/>
</delete>
<exec dir="." executable="jar">
<arg line="-cf ${portal.app.name}.jar ."/>
</exec>
</target>
</project>
--
Gary Lawrence Murphy - [EMAIL PROTECTED] - TeleDynamics Communications
- blog: http://www.teledyn.com/mt/ - biz: http://teledyn.com/ -
"Computers are useless. They can only give you answers." (Picasso)
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>