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

  <description>
    Reverse-search implementation for monitoring and classification
  </description>

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

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

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

  <target name="init" depends="module-build.init,jar-analyzers-common,jar-queryparser,jar-memory"/>

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

</project>
