JdbcMapper/build.xml

322 lines
15 KiB
XML

<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
$Header:$
-->
<project name="Beehive/Main" default="usage" basedir=".">
<import file="beehive-imports.xml"/>
<!-- Local properties used to specify the installers and the directories into which they should be installed -->
<property name="beehive.installed.dir" location="${beehive.home}/installed"/>
<property name="jsr173-bundle.name" value="jsr173_1.0_api_bundle.jar"/>
<property name="jsr173.jar" location="${beehive.home}/installed/jsr173/jsr173_1.0_api.jar"/>
<target name="bootstrap" depends="ensure.proxysettings" description="Install external dependencies to the installed/ directory">
<antcall target="install.deps"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Build targets -->
<!-- -->
<!-- ============================================= -->
<target name="clean" description="Clean Beehive">
<ant dir="controls" target="clean" inheritAll="false"/>
<ant dir="netui" target="clean" inheritAll="false"/>
<ant dir="system-controls" target="clean" inheritAll="false"/>
<ant dir="docs" target="clean" inheritAll="false"/>
<delete dir="${beehive.home}/build"/>
<!-- remove the old controlhaus/ directory used pre Beehive 1.0 to sync
the system controls from http://svn.controlhaus.org.
eventually, we should remove this step.
-->
<delete dir="${beehive.home}/controlhaus" quiet="true" failonerror="false"/>
</target>
<target name="deploy" description="Deploy Beehive" depends="revision.label">
<ant dir="controls" target="build" inheritAll="false"/>
<ant dir="netui" target="deploy" inheritAll="false"/>
<ant dir="system-controls" target="build" inheritAll="false"/>
</target>
<target name="build.samples" description="Build the Beehive samples">
<ant antfile="samples/build.xml" target="build" inheritAll="false"/>
</target>
<target name="clean.samples" description="Clean the Beehive samples">
<ant antfile="samples/build.xml" target="clean" inheritAll="false"/>
</target>
<target name="revision.label" unless="no.network" description="Creates svn revision label file">
<mkdir dir="${beehive.home}/build"/>
<exec executable="svnversion" outputproperty="svn.revision" failifexecutionfails="false">
<arg value="."/>
</exec>
<echo message="Apache Beehive svn revision #${svn.revision}" file="${beehive.home}/build/svn.rev"/>
</target>
<target name="scrub" description="Scrub the Beehive directory of downloaded files">
<delete dir="installed"/>
<antcall target="clean"/>
<antcall target="clean.samples"/>
</target>
<target name="maven2.install" description="Install the Beehive resources in the Maven repository">
<ant dir="maven" target="clean.m2" inheritAll="false"/>
<ant dir="maven" target="build.m2" inheritAll="false"/>
<ant dir="maven" target="install.m2" inheritAll="false"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Test targets -->
<!-- -->
<!-- ============================================= -->
<target name="drt" description="Run the Beehive DRT suite">
<antcall target="controls.drt"/>
<antcall target="netui.drt"/>
<antcall target="systemcontrols.drt"/>
</target>
<target name="controls.drt" description="Run the Beehive/Controls DRT suite">
<ant dir="controls" target="drt" inheritAll="false"/>
</target>
<target name="netui.drt" description="Run the Beehive/NetUI DRT suite">
<ant dir="netui" antfile="build.xml" target="drt" inheritAll="false"/>
</target>
<target name="systemcontrols.drt" description="Run the Beehive/System Controls DRT suite">
<ant dir="system-controls" antfile="build.xml" target="drt" inheritAll="false"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Installation targets. These are used to -->
<!-- install external products that Beehive -->
<!-- depends on to build or test. -->
<!-- -->
<!-- ============================================= -->
<target name="install.deps" description="Ensure that any external dependencies have been installed locally">
<antcall target="ensure.jsr173"/>
</target>
<target name="uninstall.deps" description="Uninstall the external dependencies">
<delete dir="${beehive.installed.dir}"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- JSR 173 == this is required by XMLBeans and -->
<!-- needs to be downloaded from the net. -->
<!-- -->
<!-- ============================================= -->
<target name="ensure.jsr173">
<available file="${jsr173.jar}" type="file" property="jsr173.present"/>
<antcall target="get.jsr173"/>
</target>
<target name="get.jsr173" unless="jsr173.present">
<property name="jsr173.installer" location="${beehive.home}/external/xmlbeans/${jsr173-bundle.name}"/>
<echo>JSR 173 API JAR not found in directory: ${beehive.installed.dir}</echo>
<get dest="${jsr173.installer}"
src="http://www.ibiblio.org/maven/xmlbeans/jars/${jsr173-bundle.name}"
verbose="true"
usetimestamp="true"
ignoreerrors="false"/>
<unzip src="${jsr173.installer}" dest="${beehive.installed.dir}/jsr173"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Proxy Setup Targets. -->
<!-- -->
<!-- These settings are used if a proxy needs to -->
<!-- be used when downloading third party software -->
<!-- on which Beehive depends. See BUILDING.txt -->
<!-- for more information. -->
<!-- -->
<!-- ============================================= -->
<target name="ensure.proxysettings">
<echo>Check to see if proxy setup is required</echo>
<condition property="proxy.needed">
<and>
<isset property="os.PROXYHOST"/>
</and>
</condition>
<condition property="socks.proxy.needed" value="true">
<and>
<isset property="os.SOCKSPROXYHOST"/>
</and>
</condition>
<antcall target="set.proxy"/>
<antcall target="set.socks.proxy"/>
</target>
<target name="set.proxy" if="proxy.needed">
<echo>Proxy setup needed.</echo>
<echo>Proxy host: ${os.PROXYHOST}</echo>
<echo>Proxy port: ${os.PROXYPORT}</echo>
<echo>Proxy user: ${os.PROXYUSER}</echo>
<echo>Proxy password: ${os.PROXYPASSWORD}</echo>
<echo>Non proxy hosts: ${os.NONPROXYHOSTS}</echo>
<setproxy proxyhost="${os.PROXYHOST}"
proxyport="${os.PROXYPORT}"
proxyuser="${os.PROXYUSER}"
proxypassword="${os.PROXYPASSWORD}"
nonproxyhosts="${os.NONPROXYHOSTS}"/>
</target>
<target name="set.socks.proxy" if="socks.proxy.needed">
<echo>Socks Proxy setup needed.</echo>
<setproxy socksproxyhost="${os.SOCKSPROXYHOST}" socksproxyport="${os.SOCKSPROXYPORT}"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Documentation targets -->
<!-- -->
<!-- ============================================= -->
<target name="docs" description="Generate the Beehive documentation">
<echo>Ensuring Forrest present in directory: ${forrest.dir}</echo>
<available file="${forrest.dir}" type="dir" property="forrest.present"/>
<fail unless="forrest.present" message="You must have Apache Forrest installed to execute this target. For more information, see trunk/BUILDING.TXT"/>
<ant dir="docs" target="build.release"/>
<ant dir="controls" target="docs" inheritAll="false"/>
<ant dir="netui" target="docs" inheritAll="false"/>
<ant dir="system-controls" target="docs" inheritAll="false"/>
</target>
<target name="build.release.docs" description="Build the documentation for the release represented by this source root">
<ant antfile="distribution.xml" target="build.release.docs"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Distribution targets -->
<!-- -->
<!-- ============================================= -->
<target name="clean.dist" description="Clean the Beehive distribution directories">
<ant antfile="distribution.xml" target="clean.dist" inheritAll="false"/>
</target>
<target name="build.dist" description="Build the Beehive Binary distribution directory">
<ant antfile="distribution.xml" target="build.dist" inheritAll="false"/>
</target>
<target name="build.dist.lib" description="Build the Beehive Library distribution directory">
<ant antfile="distribution.xml" target="build.dist.lib" inheritAll="false"/>
</target>
<target name="build.dist.src" description="Build the Beehive Source distribution directory">
<ant antfile="distribution.xml" target="build.dist.src" inheritAll="false"/>
</target>
<target name="build.dist.archives" description="Create all Beehive distribution archives">
<ant antfile="distribution.xml" target="build.dist.archives" inheritAll="false"/>
</target>
<target name="build.dist.full" description="Cleans/Builds/Bundles the full Beehive distribution archives (does not run tests though).">
<antcall target="clean"/>
<antcall target="deploy"/>
<antcall target="build.dist"/>
<antcall target="build.dist.lib"/>
<antcall target="build.dist.src"/>
<antcall target="build.dist.archives"/>
</target>
<target name="rat" description="Run RAT on the distribution packages">
<ant antfile="distribution.xml" target="rat" inheritAll="false"/>
</target>
<!-- consider getting rid of this one too, since run.test.dist does this too -->
<target name="build.test.dist" description="Build the Beehive Distribution Tests">
<ant antfile="distribution.xml" target="build.test.dist" inheritAll="false"/>
</target>
<target name="run.test.dist" description="Run the Beehive Distribution Tests against the distribution archives">
<ant antfile="distribution.xml" target="run.test.dist" inheritAll="false"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Distribution targets -->
<!-- -->
<!-- ============================================= -->
<target name="create.web.project" description="Create a Beehive-enabled web project">
<fail unless="webapp.dir" message="The ${webapp.dir} property is unset"/>
<mkdir dir="${webapp.dir}"/>
</target>
<!-- ============================================= -->
<!-- -->
<!-- Environment sanity check. Use this if you -->
<!-- experience problems running Beehive build -->
<!-- or tests. -->
<!-- -->
<!-- ============================================= -->
<target name="check.setup" description="Verifies that you have the prerequisites for building Beehive.">
<echo>
java.home = ${java.home}
ant.home = ${ant.home}
beehive.home = ${beehive.home}
beehive.version = ${beehive.version}
</echo>
<available file="${jsr173.jar}" type="file" property="jsr173.available"/>
<fail unless="jsr173.available" message="The JSR 173 JAR does not appear to be installed. Be sure to run &quot;ant bootstrap&quot;."/>
<echo>JSR 173 is installed correctly as ${jsr173.jar}</echo>
<!-- check to see if the JUnit classes are available -->
<available classname="junit.framework.TestCase" property="junit.available"/>
<fail unless="junit.available"
message="The classes in junit.jar do not seem to be available. Please ensure junit.jar is available in ${os.ANT_home}/lib"/>
<echo>junit.jar appears to be available since the class "junit.framework.TestCase" was successfully loaded</echo>
<!-- note, to ease the transition when removing Tomcat from the build, this will check a hard reference to CATALINA_HOME -->
<available file="${os.CATALINA_HOME}" type="dir" property="tomcat.available"/>
<fail unless="tomcat.available"
message="The directory ${os.CATALINA_HOME} does not appear to be available. Please define CATALINA_HOME"/>
<echo>Tomcat appears to be available in ${os.CATALINA_HOME}</echo>
<!-- note, to ease the transition when removing Tomcat from the build, this will check a hard reference to CATALINA_HOME -->
<loadfile srcFile="${os.CATALINA_HOME}/conf/tomcat-users.xml" property="tomcat.users.file" failOnError="true"/>
<condition property="tomcat.manager.defined">
<and>
<contains string="${tomcat.users.file}" substring="rolename=&quot;manager&quot;"/>
<contains string="${tomcat.users.file}" substring="username=&quot;manager&quot;"/>
<contains string="${tomcat.users.file}" substring="password=&quot;manager&quot;"/>
</and>
</condition>
<fail unless="tomcat.manager.defined"
message="The manager role may not be defined in ${os.CATALINA_HOME}/conf/tomcat-users.xml. Please ensure that there is a manager role defined with username/password of manager/manager"/>
<echo>manager role appears to be defined in ${os.CATALINA_HOME}/conf/tomcat-users.xml</echo>
</target>
</project>