Mark Harwood de7ab5b898 Added new web application demo for contrib's XmlQueryParser.
This change involves:
* Adding Tomcat's Servlet jar into the lib directory and appropriate entry in NOTICE.txt following the lead from Solr's packaging
* Adding new "demo" directory to XmlQueryParser src directory
* Changing XMLQueryParser's build file to create a demo War file
* Changing the main build to include the demo War file (and any other future contrib/*/war files) in the binary distributions

The packaged source distribution has NOT been changed currently to add a lib directory with the servlet.jar so building from a cut-down src distro as opposed to the full subversion /trunk directory will not currently build the war file (the xml query parser build file detects the absence of servlet.jar). Not sure if this is a problem currently.

TODO: 
Now that the servlet jar is available in Subversion I would recommend that the other existing WAR file,"luceneweb.war", is changed to move much of the java code which is currently embedded in JSP files into servlet .java files. This would ensure that the build system will check that the code in this application compiles cleanly with the latest Lucene APIs - otherwise any issue will only become apparent when a user tries to run a JSP.



git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@712318 13f79535-47bb-0310-9956-ffa450edef68
2008-11-08 00:20:32 +00:00

81 lines
2.9 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.
-->
<project name="xml-query-parser" default="default">
<description>
XML query parser
</description>
<import file="../contrib-build.xml"/>
<property name="queries.jar" location="${common.dir}/build/contrib/queries/lucene-queries-${version}.jar"/>
<property name="servlet.jar" location="${common.dir}/lib/servlet-api-2.4.jar"/>
<available property="queries.jar.present" type="file" file="${queries.jar}"/>
<available property="servlet.jar.present" type="file" file="${servlet.jar}"/>
<path id="classpath">
<pathelement path="${lucene.jar}"/>
<pathelement path="${queries.jar}"/>
<pathelement path="${project.classpath}"/>
</path>
<path id="web-classpath">
<pathelement path="${lucene.jar}"/>
<pathelement path="${queries.jar}"/>
<pathelement path="${servlet.jar}"/>
<pathelement path="${build.dir}/${final.name}.jar"/>
</path>
<target name="compile-core" depends="build-queries, common.compile-core" />
<target name="build-queries" unless="queries.jar.present">
<echo>XML Parser building dependency ${queries.jar}</echo>
<ant antfile="../queries/build.xml" target="default" inheritall="false" dir="../queries" />
</target>
<!-- override contrib-build.xml target to also build web demo -->
<target name="build-artifacts-and-tests" depends="jar, compile-test,build-web-demo" />
<target name="default" depends="jar-core,build-web-demo"/>
<target name="build-web-demo" description="Compiles demo" if="servlet.jar.present">
<echo>XML Parser compiling web demo</echo>
<compile
srcdir="src/demo/java"
destdir="${build.dir}/classes/webdemo">
<classpath refid="web-classpath"/>
</compile>
<war destfile="${build.dir}/xml-query-demo.war" webxml="src/demo/WebContent/WEB-INF/web.xml">
<fileset dir="src/demo/WebContent"/>
<lib dir="${build.dir}">
<include name="${final.name}.jar"/>
</lib>
<lib file="${queries.jar}"/>
<lib file="${lucene.jar}"/>
<classes dir="${build.dir}/classes/webdemo"/>
</war>
</target>
</project>