<?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="ISO-8859-1"/>

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

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

  </target>

  <!-- ====================================================== -->
  <!-- deb a contrib's files                                  -->
  <!-- ====================================================== -->
  <target name="deb" 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>
