<?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="grouping" default="default">
  
    <description>
       Collectors for grouping search results.
    </description>

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

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

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

    <target name="init" depends="module-build.init,jar-queries"/>

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

</project>
