<?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="classification" default="default">
  <description>
    Classification module for Lucene
  </description>

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

  <path id="classpath">
    <path refid="base.classpath"/>
    <pathelement path="${queries.jar}"/>
    <pathelement path="${grouping.jar}"/>
  </path>

  <path id="test.classpath">
    <pathelement path="${analyzers-common.jar}"/>
    <pathelement location="${codecs.jar}"/>
    <path refid="test.base.classpath"/>
  </path>

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

  <target name="jar-core" depends="common.jar-core" />

  <target name="javadocs" depends="javadocs-grouping,compile-core,check-javadocs-uptodate"
          unless="javadocs-uptodate-${name}">
    <invoke-module-javadoc>
      <links>
        <link href="../queries"/>
        <link href="../grouping"/>
      </links>
    </invoke-module-javadoc>
  </target>

</project>
