336 lines
14 KiB
XML
336 lines
14 KiB
XML
<!--
|
|
This build file requires a build.properties file with the following properties:
|
|
|
|
#Configure properties to access the Manager application user/pass combo should be in $TOMCAT_HOME/conf/tomcat-users.xml with manager role.
|
|
catalina.home=/usr/local/tomcat
|
|
catalina.base=/usr/local/tomcat
|
|
url=http://localhost:2020/manager
|
|
username=c
|
|
password=
|
|
|
|
#provide location of working copy of lex-context-config.xml
|
|
lex.context.config=lex-context-config-working.xml
|
|
|
|
#These properties need to be set to run the unit tests. They are your login to the dictionary
|
|
lex.username=
|
|
lex.password=
|
|
jmeterhome=../jmeter
|
|
|
|
-->
|
|
|
|
<project name="Lex" default="compile" basedir=".">
|
|
|
|
<!-- Configure the directory into which the web application is built -->
|
|
<property name="build" value="${basedir}/build"/>
|
|
|
|
<!-- Configure the directory containing the source files -->
|
|
<property name="source" value="${basedir}/src"/>
|
|
|
|
|
|
<!-- Configure the context path for this application -->
|
|
<property name="path" value="/lex"/>
|
|
|
|
<!-- <property file="${user.home}/.${ant.project.name}-build.properties"/>
|
|
<property file="${user.home}/.build.properties"/>
|
|
-->
|
|
<property file="build.properties"/>
|
|
|
|
<!-- Configure the custom Ant tasks for the Manager application
|
|
These tasks require catalina-ant.jar in $ANT_HOME/lib-->
|
|
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/>
|
|
<taskdef name="install" classname="org.apache.catalina.ant.InstallTask"/>
|
|
<taskdef name="list" classname="org.apache.catalina.ant.ListTask"/>
|
|
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/>
|
|
<taskdef name="remove" classname="org.apache.catalina.ant.RemoveTask"/>
|
|
<taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/>
|
|
<taskdef name="roles" classname="org.apache.catalina.ant.RolesTask"/>
|
|
<taskdef name="start" classname="org.apache.catalina.ant.StartTask"/>
|
|
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask"/>
|
|
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
|
|
|
|
<!-- Configure the classpath -->
|
|
<path id="classpath">
|
|
<fileset dir="${basedir}/lib">
|
|
<include name="**/*.jar"/>
|
|
</fileset>
|
|
<fileset dir="${catalina.home}/common/lib">
|
|
<include name="servlet.jar"/>
|
|
<include name="*.jar"/>
|
|
<include name="mysql-connector-java-3.0.8-stable-bin.jar"/>
|
|
</fileset>
|
|
<!--point to org/thdl/users-->
|
|
<pathelement location="${build}/WEB-INF/classes"/>
|
|
</path>
|
|
|
|
<!-- Executable Targets -->
|
|
<target name="copy" description="copy jsp, html, css, js, and other files into the build directory">
|
|
|
|
<copy todir="${build}">
|
|
<fileset dir="${source}/jsp">
|
|
<include name="*.jsp"/>
|
|
<include name="*.jsf"/>
|
|
</fileset>
|
|
</copy>
|
|
<copy todir="${build}/jsp">
|
|
<fileset dir="${source}/jsp/jsp">
|
|
<include name="*.jsp"/>
|
|
<include name="*.jsf"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/css">
|
|
<fileset dir="${source}/css">
|
|
<include name="*.css"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/js">
|
|
<fileset dir="${source}/js">
|
|
<include name="*.js"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/images">
|
|
<fileset dir="${basedir}/images"></fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/WEB-INF">
|
|
<fileset dir="${basedir}/config">
|
|
<filename name="web.xml"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/WEB-INF/classes">
|
|
<fileset dir="${source}/java">
|
|
<include name="**/*.xml"/>
|
|
<include name="**/*.properties"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/WEB-INF/tld">
|
|
<fileset dir="${basedir}/tld">
|
|
<include name="*.tld"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${build}/WEB-INF/lib">
|
|
<fileset dir="${basedir}/lib/jstl">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="${basedir}/lib/hibernate">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="${basedir}/lib/thdl">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/lib/commons">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="${basedir}/lib/jwebunit">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<!--<fileset dir="${basedir}/lib/dlese-oai">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<fileset dir="${basedir}/lib/oai-xmlbeans">
|
|
<include name="*.jar"/>
|
|
</fileset>-->
|
|
</copy>
|
|
|
|
</target>
|
|
|
|
<target name="compile" description="Compile web application" depends="copy">
|
|
<mkdir dir="${build}/WEB-INF/classes"/>
|
|
<javac srcdir="${thdluser.home}/src/java" destdir="${build}/WEB-INF/classes" deprecation="on" classpathref="classpath" debug="on"></javac>
|
|
<javac destdir="${build}/WEB-INF/classes" classpathref="classpath" debug="on" listfiles="no">
|
|
<src path="${source}/java"/>
|
|
<include name="org/thdl/lex/**"/>
|
|
<exclude name="**/old/**"/>
|
|
<exclude name="**/test/**"/>
|
|
<exclude name="**/util/**"/>
|
|
<exclude name="**/LexSourceRepository.java/**"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="javadoc" description="Create Javadocs">
|
|
<javadoc destdir="${build}/apidocs/" classpathref="classpath" author="true" version="true" use="true" windowtitle="THDL Tibetan Collaborative Dictionary API">
|
|
|
|
<fileset dir="${source}/java" defaultexcludes="yes">
|
|
<include name="org/thdl/**/*.java"/>
|
|
</fileset>
|
|
|
|
<doctitle><![CDATA[<h1>THDL Tibetan Collaborative Dictionary Javadocs</h1>]]></doctitle>
|
|
<bottom><![CDATA[<i>Copyright © 2003 THDL. All Rights Reserved.</i>]]></bottom>
|
|
<tag name="todo" scope="all" description="To do:"/>
|
|
<group title="Lex Basics" packages="org.thdl.lex"/>
|
|
<group title="Lex Commands" packages="org.thdl.lex.commands"/>
|
|
<group title="Lex Components" packages="org.thdl.lex.component"/>
|
|
<group title="Lex Sub-components" packages="org.thdl.lex.component.child"/>
|
|
<link href="http://developer.java.sun.com/developer/products/xml/docs/api/"/>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<target name="install" description="Install web application" depends="compile">
|
|
<install url="${url}" username="${username}" password="${password}" path="${path}" config="file://${basedir}/${lex.context.config}" war="file://${build}"/>
|
|
</target>
|
|
|
|
<!-- <target name="move-log" description="move old log file">
|
|
<mkdir dir="logs"/>
|
|
<mkdir dir="logs/old"/>
|
|
<tstamp prefix="now"/>
|
|
<touch file="${basedir}/logs/hibernate.log"/>
|
|
<move file="${basedir}/logs/hibernate.log" tofile="${basedir}/logs/old/${now.DSTAMP}_${now.TSTAMP}_hibernate.log" overwrite="true"/>
|
|
<touch file="${basedir}/logs/lex.log"/>
|
|
<move file="${basedir}/logs/lex.log" tofile="${basedir}/logs/old/${now.DSTAMP}_${now.TSTAMP}_lex.log" overwrite="true"/>
|
|
</target> -->
|
|
|
|
<target name="reinstall" description="Remove and Re-install web application" depends="remove">
|
|
<antcall target="install"/>
|
|
</target>
|
|
|
|
<target name="reload" description="Reload web application" depends="compile">
|
|
<reload url="${url}" username="${username}" password="${password}" path="${path}"/>
|
|
</target>
|
|
|
|
<target name="remove" description="Remove web application">
|
|
<remove url="${url}" username="${username}" password="${password}" path="${path}"/>
|
|
</target>
|
|
|
|
<target name="compile-test" description="Run load and functional tests" depends="compile">
|
|
<javac srcdir="${source}/java/test/org/thdl/lex" destdir="${build}/WEB-INF/classes" deprecation="on" classpathref="classpath" debug="on"></javac>
|
|
</target>
|
|
<target name="test" description="Run load and functional tests" depends="compile-test">
|
|
|
|
|
|
<java classname="org.thdl.lex.TestAll" classpathref="classpath" fork="yes">
|
|
<!-- <classpath>
|
|
<pathelement location="${build}/WEB-INF/classes"/>
|
|
</classpath>
|
|
<jvmarg value="-Djava.naming.factory.initial=org.apache.naming.ResourceFactory"/> --></java>
|
|
</target>
|
|
|
|
<target name="reload-test" description="Remove and Re-install web application" depends="reload">
|
|
<antcall target="test"/>
|
|
</target>
|
|
|
|
<target name="install-test" description="Remove and Re-install web application" depends="install">
|
|
<antcall target="test"/>
|
|
</target>
|
|
|
|
|
|
<target name="jmeter">
|
|
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>
|
|
<echo message="${jmeterhome}"/>
|
|
<jmeter jmeterhome="../jmeter" testplan="${basedir}/loadtests/LoadTest.jmx" resultlog="${basedir}/loadtests/JMeterResults.jtl"/>
|
|
|
|
<!--
|
|
For the following task to work, jmeter.properties needs to have the following properties set thusly:
|
|
jmeter.save.saveservice.assertion_results=all
|
|
jmeter.save.saveservice.output_format=xml
|
|
-->
|
|
<xslt in="${basedir}/loadtests/JMeterResults.jtl" out="${basedir}/loadtests/JMeterResults.html" style="${jmeterhome}/extras/jmeter-results-report.xsl"/>
|
|
</target>
|
|
|
|
<target name="hbm2java" description="generate source code">
|
|
<!-- <tstamp prefix="now"/>
|
|
<echo message="time is: ${now.DSTAMP}_${now.TSTAMP}"/>
|
|
<copy todir="${basedir}/backups/lex-src-bkp_${now.DSTAMP}_${now.TSTAMP}">
|
|
<fileset dir="${source}/java/org/thdl/lex/component">
|
|
<include name="**/*.java"/>
|
|
</fileset>
|
|
</copy> -->
|
|
<java classname="net.sf.hibernate.tool.hbm2java.CodeGenerator" classpathref="classpath" fork="yes">
|
|
<arg value="--output=${source}/java"/>
|
|
<arg value="--config=${basedir}/config/lex-codegen-cfg.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/util/LexComponentDataTransfer.hbm.xml"/>
|
|
<!-- <arg value="${source}/java/org/thdl/lex/component/LexComponent.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Author.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Dialect.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/EtymologyType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Function.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/FunctionsGeneral.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/FunctionsSpecific.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Language.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryForm.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryGenre.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryPeriod.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiterarySource.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/MajorDialectFamily.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/PhoneticsType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/ProjectSubject.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Register.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/RelatedTermType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Script.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Source.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/SpecificDialect.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/SpellingType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/TransitionalDataLabel.hbm.xml"/> -->
|
|
</java>
|
|
</target>
|
|
|
|
<target name="hbm2ddl" description="generate source code">
|
|
<java classname="net.sf.hibernate.tool.hbm2ddl.SchemaExport" classpathref="classpath" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${build}/WEB-INF/classes"/>
|
|
</classpath>
|
|
<arg value="--output=${source}/sql/lex-schema.sql"/>
|
|
<arg value="--text"/>
|
|
<arg value="--format"/>
|
|
<arg value="--quiet"/>
|
|
<arg value="--delimiter=;"/>
|
|
<arg value="--properties=${basedir}/hibernate.properties"/>
|
|
<arg value="${source}/java/org/thdl/lex/util/LexComponentDataTransfer.hbm.xml"/>
|
|
<!--<arg value="${source}/java/org/thdl/lex/component/child/Author.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Dialect.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/EtymologyType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Function.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/FunctionsGeneral.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/FunctionsSpecific.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Language.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryForm.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryGenre.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiteraryPeriod.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/LiterarySource.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/MajorDialectFamily.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/PhoneticsType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/ProjectSubject.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Register.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/RelatedTermType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Script.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/Source.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/SpecificDialect.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/SpellingType.hbm.xml"/>
|
|
<arg value="${source}/java/org/thdl/lex/component/child/TransitionalDataLabel.hbm.xml"/>-->
|
|
</java>
|
|
</target>
|
|
|
|
<target name="schema-update">
|
|
<taskdef name="schemaupdate" classname="net.sf.hibernate.tool.hbm2ddl.SchemaUpdateTask" classpathref="classpath"/>
|
|
<schemaupdate>
|
|
<fileset dir="src">
|
|
<include name="**/*.hbm.xml"/>
|
|
</fileset>
|
|
</schemaupdate>
|
|
</target>
|
|
|
|
<target name="convert-to-new-mapping" description="convert old data to a new db mapping" depends="copy, compile">
|
|
<java classname="org.thdl.lex.ConvertDataToNewMapping" classpathref="classpath" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${build}/WEB-INF/classes"/>
|
|
</classpath>
|
|
<arg value="${source}/java/org/thdl/lex/util/hibernate-data-transfer.cfg.xml"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="importer" description="run the dictionary importer. " depends="copy, compile">
|
|
<java classname="org.thdl.lex.util.DictionaryImporter" classpathref="classpath" fork="yes">
|
|
<classpath>
|
|
<pathelement location="${build}/WEB-INF/classes"/>
|
|
</classpath>
|
|
<!-- Pass Command-line arguments to the Dictionary Importer. The first argument must always be the Hibernate config file. -->
|
|
<arg value="${source}/java/hibernate.cfg.xml"/>
|
|
</java>
|
|
</target>
|
|
|
|
</project>
|