<?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="suggest" default="default">

  <description>
    Auto-suggest and Spellchecking support
  </description>
	
  <!-- just a list of words for testing suggesters -->
  <property name="rat.excludes" value="**/Top50KWiki.utf8"/>

  <import file="../module-build.xml"/>

  <path id="classpath">
    <pathelement path="${analyzers-common.jar}"/>
    <pathelement path="${misc.jar}"/>
    <pathelement path="${queries.jar}"/>
    <path refid="base.classpath"/>
  </path>

  <target name="javadocs" depends="javadocs-queries,javadocs-misc,compile-core">
    <invoke-module-javadoc>
      <links>
        <link href="../analyzers-common"/>
      	<link href="../queries"/>
      	<link href="../misc"/>
      </links>
    </invoke-module-javadoc>
  </target>

  <target name="compile-core" depends="jar-expressions, jar-misc, jar-analyzers-common, common.compile-core" />

</project>
