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

  <description>
    Highlights search keywords in results
  </description>

  <!-- some files for testing that do not have license headers -->
  <property name="rat.excludes" value="**/*.utf8"/>

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

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

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

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

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