<?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.
-->

<!-- Imported by contrib/*/build.xml files to share generic targets. -->

<project name="zookeeperbuildcontrib" xmlns:ivy="antlib:org.apache.ivy.ant">

  <property name="name" value="${ant.project.name}"/>
  <property name="version" value="dev"/>
  <property name="root" value="${basedir}"/>

  <property name="zk.root" location="${root}/../../"/>

  <property name="src.dir"  location="${root}/src/main/java"/>
  <property name="src.test" location="${root}/src/test"/>

  <property name="lib.dir"  location="${zk.root}/zookeeper-server/src/main/resources/lib"/>

  <property name="build.dir" location="${zk.root}/build/zookeeper-contrib/zookeeper-contrib-${name}"/>
  <property name="build.classes" location="${build.dir}/classes"/>
  <property name="build.test" location="${build.dir}/test"/>

  <property name="javac.deprecation" value="on"/>
  <property name="javac.debug" value="on"/>

  <property name="build.encoding" value="utf8"/>

  <property name="ivy.version" value="2.4.0"/>
  <property name="ivy.url"
            value="https://repo1.maven.org/maven2/org/apache/ivy/ivy" />
  <property name="ivy.home" value="${user.home}/.ant" />
  <property name="ivy.lib" value="${build.dir}/lib"/>
  <property name="ivy.test.lib" value="${build.test}/lib"/>
  <property name="ivysettings.xml" value="${zk.root}/ivysettings.xml"/>

  <!-- to be overridden by sub-projects -->
  <target name="check-contrib"/>
  <target name="init-contrib"/>

  <property name="lib.jars.includes" value="lib/*.jar" />
  <property name="lib.jars.excludes" value="" />

  <!-- prior to ant 1.7.1 fileset always fails if dir doesn't exist
       so just point to bin directory and provide settings that exclude
       everything - user can change as appropriate -->
  <property name="additional.lib.dir" value="${zk.root}/bin" />
  <property name="additional.lib.dir.includes" value="**/*.jar" />
  <property name="additional.lib.dir.excludes" value="**/*.jar" />

  <fileset id="lib.jars" dir="${root}">
    <include name="${lib.jars.includes}" />
    <exclude name="${lib.jars.excludes}" />
  </fileset>

  <path id="classpath">
    <pathelement location="${build.classes}"/>
    <!-- allow the user to override (e.g. if there are local versions) -->
    <fileset dir="${additional.lib.dir}">
      <include name="${additional.lib.dir.includes}" />
      <exclude name="${additional.lib.dir.excludes}" />
    </fileset>
    <fileset refid="lib.jars"/>
    <pathelement location="${zk.root}/build/classes"/>
    <fileset dir="${ivy.lib}">
      <include name="**/*.jar" />
    </fileset>
    <fileset dir="${ivy.test.lib}">
      <include name="**/*.jar" />
    </fileset>
    <fileset dir="${zk.root}/zookeeper-server/src/main/resources/lib">
      <include name="**/*.jar" />
    </fileset>
    <fileset dir="${ant.home}/lib">
      <include name="ant.jar" />
    </fileset>
  </path>

  <!-- ====================================================== -->
  <!-- Stuff needed by all targets                            -->
  <!-- ====================================================== -->
  <target name="init" depends="check-contrib" unless="skip.contrib">
    <echo message="contrib: ${name}"/>
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${build.classes}"/>
    <mkdir dir="${build.test}"/>

    <mkdir dir="${ivy.lib}"/>
    <mkdir dir="${ivy.test.lib}"/>
    <condition property="ivy.jar.exists">
      <available file="${lib.dir}/ivy-${ivy.version}.jar"/>
    </condition>

    <antcall target="init-contrib"/>
  </target>

  <!-- ====================================================== -->
  <!-- Compile a contrib's files                              -->
  <!-- ====================================================== -->
  <target name="compile" depends="init"
          unless="skip.contrib">
    <echo message="contrib: ${name}"/>

    <javac
     encoding="${build.encoding}"
     srcdir="${src.dir}"
     includes="**/*.java"
     destdir="${build.classes}"
     debug="${javac.debug}"
     deprecation="${javac.deprecation}">
      <classpath refid="classpath"/>
    </javac>
  </target>

  <!-- ====================================================== -->
  <!-- Make a contrib's jar                                   -->
  <!-- ====================================================== -->
  <target name="jar" depends="compile" unless="skip.contrib">
    <echo message="contrib: ${name}"/>
    <jar
      jarfile="${build.dir}/zookeeper-${version}-${name}.jar"
      basedir="${build.classes}"      
    />
  </target>

  <!-- ====================================================== -->
  <!-- Package a contrib's files                              -->
  <!-- ====================================================== -->
  <target name="package" depends="jar" unless="skip.contrib"> 
    <echo message="contrib: ${name}"/>

    <mkdir dir="${dist.dir}${package.share}/zookeeper-contrib/zookeeper-contrib-${name}"/>
    <copy todir="${dist.dir}${package.share}/zookeeper-contrib/zookeeper-contrib-${name}" includeEmptyDirs="false"
          flatten="true">
      <fileset dir="${build.dir}">
        <include name="zookeeper-${version}-${name}.jar" />
      </fileset>
    </copy>
  </target>

  <!-- ====================================================== -->
  <!-- Package a contrib's files                              -->
  <!-- ====================================================== -->
  <target name="package-native" depends="jar" unless="skip.contrib">
    <echo message="contrib: ${name}"/>
  </target>

  <!-- ================================================================== -->
  <!-- Clean.  Delete the build files, and their directories              -->
  <!-- ================================================================== -->
  <target name="clean">
    <echo message="contrib: ${name}"/>
    <delete dir="${build.dir}"/>
  </target>


  <!-- ================================================================== -->
  <!-- Utility features                                                   -->
  <!-- ================================================================== -->

  <target name="checkMainIsAvailable">
    <available classname="org.apache.zookeeper.ZooKeeperMain"
               property="mainIsCompiled">
      <!-- we can't use id=classpath, because available fails if fileset directory
           doesn't exist -->
      <classpath>
        <pathelement location="${zk.root}/build/classes"/>
      </classpath>
    </available>
  </target>

  <target name="checkMainCompiled" unless="mainIsCompiled" depends="checkMainIsAvailable">
    <fail message="ZooKeeper main must first be compiled (toplevel build.xml)"/>
  </target>


  <target name="checkMainTestIsAvailable">
    <available file="${zk.root}/build/test/classes/org/apache/zookeeper/test/ClientBase.class"
               property="mainTestIsCompiled">
    </available>
  </target>

  <target name="checkMainTestCompiled" unless="mainTestIsCompiled" depends="checkMainTestIsAvailable">
    <fail message="ZooKeeper test must first be compiled (toplevel build.xml) using 'ant compile-test'"/>
  </target>

  <!-- ====================================================== -->
  <!-- Ivy                                                    -->
  <!-- ====================================================== -->
  <target name="ivy-download" unless="ivy.jar.exists" depends="init">
    <delete dir="${lib.dir}"
            includes="ivy-*.jar" excludes="ivy-${ivy.version}.jar"/>
    <get src="${ivy.url}/${ivy.version}/ivy-${ivy.version}.jar"
         dest="${lib.dir}/ivy-${ivy.version}.jar" usetimestamp="true"/>
  </target>

  <target name="ivy-init" depends="ivy-download" unless="ivy.initialized">
    <taskdef resource="org/apache/ivy/ant/antlib.xml"
             uri="antlib:org.apache.ivy.ant" classpathref="classpath"/>
    <!-- ensure that ivy taskdef is only run once, otw ant will error -->
    <property name="ivy.initialized" value="true"/>
    <ivy:settings id="${ant.project.name}" file="${ivysettings.xml}"/> 
  </target>

  <target name="ivy-retrieve" depends="init,ivy-init">
    <ivy:retrieve settingsRef="${ant.project.name}" type="jar" conf="default"
                  pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
    <ivy:retrieve settingsRef="${ant.project.name}" type="bundle" conf="default"
  				  pattern="${ivy.lib}/[artifact]-[revision].[ext]"/>
  </target>

  <target name="ivy-retrieve-test" depends="init,ivy-init">
    <ivy:retrieve settingsRef="${ant.project.name}" type="jar" conf="test"
                  pattern="${ivy.test.lib}/[artifact]-[revision].[ext]"/>
  </target>


</project>
