<?xml version="1.0" encoding="UTF-8"?>
<!--
  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="Cloud Stack Plugins" default="help" basedir=".">

  <target name="help">
    <echo level="info" message="Ant Build File for CloudStack Plugins" />
    <echo level="info" message="Type 'ant -projecthelp' to get a list of targets and their descriptions." />
  </target>

  <description>
		Cloud Stack ant build file for building all the plugins
  </description>

  <!--
  Test
 	Always use this variable to refer to the base directory because this
	variable is changeable
    -->
  <dirname property="base.dir" file="${ant.file.Cloud Stack Plugins}/.." />
  <property name="build.dir" location="${base.dir}/build" />

  <!-- Import anything that the user wants to set-->
  <!-- Import properties files and environment variables here -->

  <property environment="env" />

  <condition property="build-cloud.properties.file" value="${build.dir}/override/build-cloud.properties" else="${build.dir}/build-cloud.properties">
    <available file="${build.dir}/override/build-cloud.properties" />
  </condition>

  <condition property="cloud.properties.file" value="${build.dir}/override/cloud.properties" else="${build.dir}/cloud.properties">
    <available file="${build.dir}/override/cloud.properties" />
  </condition>

  <condition property="override.file" value="${build.dir}/override/replace.properties" else="${build.dir}/replace.properties">
    <available file="${build.dir}/override/replace.properties" />
  </condition>

  <echo message="Using build parameters from ${build-cloud.properties.file}" />
  <property file="${build-cloud.properties.file}" />

  <echo message="Using company info from ${cloud.properties.file}" />
  <property file="${cloud.properties.file}" />

  <echo message="Using override file from ${override.file}" />
  <property file="${override.file}" />

  <property file="${base.dir}/build/build.number" />

  <import file="${build.dir}/build-common.xml" />

  <!-- In case these didn't get defined in the build-cloud.properties -->
  <property name="branding.name" value="default" />
  <property name="tomcat.home" value="${env.CATALINA_HOME}" />
  <property name="deprecation" value="off" />
  <property name="target.compat.version" value="1.6" />
  <property name="source.compat.version" value="1.6" />
  <property name="debug" value="true" />
  <property name="debuglevel" value="lines,source"/>

  <!-- directories for build and distribution -->
  <property name="dist.dir" location="${base.dir}/dist/" />
  <property name="target.dir" location="${base.dir}/target" />
  <property name="classes.dir" location="${target.dir}/classes" />
  <property name="jar.dir" location="${target.dir}/jar" />
  <property name="dep.cache.dir" location="${target.dir}/dep-cache" />
  <property name="build.log" location="${target.dir}/ant_verbose.txt" />

  <property name="deps.dir" location="${base.dir}/deps" />

  <!-- directories for client compilation-->
  <property name="client.dir" location="${base.dir}/client" />
  <property name="client.test.dir" location="${client.dir}/test" />
  <property name="client.target.dir" location="${target.dir}/ui" />
  <property name="ui.user.dir" location="${base.dir}/ui" />
  <property name="setup.db.dir" location="${base.dir}/setup/db" />
  <property name="setup.apidoc.dir" location="${base.dir}/setup/apidoc" />

  <!-- directories for server compilation-->
  <property name="server.dir" location="${base.dir}/server" />
  <property name="server.test.dir" location="${server.dir}/test" />
  <property name="server.dist.dir" location="${dist.dir}/client" />
  <property name="db.scripts.dir" location="${target.dir}/db"/>
  <property name="apidoc.scripts.dir" location="${base.dir}/setup/apidoc/"/>

  <!-- directories for core code compilation-->
  <property name="core.dir" location="${base.dir}/core" />
  <property name="core.test.dir" location="${core.dir}/test/" />

  <!-- directories for agent code compilation-->
  <property name="agent.dir" location="${base.dir}/agent" />
  <property name="agent.test.dir" location="${utils.dir}/test/" />
  <property name="agent.dist.dir" location="${dist.dir}/agent" />

  <property name="scripts.dir" location="${base.dir}/scripts" />
  <property name="scripts.target.dir" location="${target.dir}/scripts"/>

  <!-- directories for console proxy compilation-->
  <property name="console-proxy.dir" location="${base.dir}/console-proxy" />
  <property name="console-proxy.dist.dir" location="${dist.dir}/console-proxy" />

  <property name="tools.dir" location="${base.dir}/tools" />
  <!--  <property name="antcontrib.dir" location="${tools.dir}/tools/ant/apache-ant-1.8.0/lib" />-->
  <property name="deploy.dir" location="${build.dir}/deploy" />
  <property name="meld.home" location="/usr/local/bin" />
  <property name="assertion" value="-da" />

  <!-- directory for vmware-base library -->
  <property name="vmware-base.dir" location="${base.dir}/vmware-base" />

  <!-- directories for branding -->
  <property name="branding.dir" location="${build.dir}/deploy/branding/${branding.name}" />

  <property name="core.jar" value="cloud-core.jar" />
  <property name="utils.jar" value="cloud-utils.jar" />
  <property name="server.jar" value="cloud-server.jar" />
  <property name="agent.jar" value="cloud-agent.jar" />
  <property name="console-proxy.jar" value="cloud-console-proxy.jar" />
  <property name="api.jar" value="cloud-api.jar"/>
  <property name="vmware-base.jar" value="cloud-vmware-base.jar" />

  <!--
		Import information about the build version and company information
	-->
  <property name="version" value="${company.major.version}.${company.minor.version}.${company.patch.version}" />

  <!-- Class paths -->
  <path id="prod.src.path">
    <pathelement location="${server.dir}/src" />
    <pathelement location="${utils.dir}/src" />
    <pathelement location="${core.dir}/src" />
    <pathelement location="${agent.dir}/src" />
  </path>

  <path id="src.classpath">
  </path>

  <path id="compile.deps.classpath">
  </path>

  <path id="deps.classpath">
    <!--filelist files="${deps.classpath}" /-->
    <fileset dir="${deps.dir}" erroronmissingdir="false">
      <include name="*.jar" />
    </fileset>
    <path refid="compile.deps.classpath" />
  </path>

  <path id="dist.classpath">
    <fileset dir="${target.dir}">
      <include name="**/*.jar" />
    </fileset>
    <fileset dir="${target.dir}/jar">
        <include name="**/*.jar" />
    </fileset>
  </path>

  <path id="test.classpath">
    <fileset dir="${dist.dir}">
      <include name="**/*.jar" />
    </fileset>
  </path>


  <target name="compile-plugins" description="Compile all of the jars corresponding to plugins" depends="compile-utils, compile-api, compile-core, compile-server, compile-hypervisors, compile-deployment-planners, compile-host-allocators, compile-network-elements, compile-user-authenticators, compile-storage-allocators"/>

  <target name="build-plugins" depends="build-hypervisors, build-network-elements, build-deployment-planners, build-host-allocators, build-storage-allocators, build-user-authenticators" description="Builds all jar's for the plug-in's"/>

  <target name="clean-plugins" description="Clean all of the generated files by the plugins">
      <delete file="${build.log}" />
      <delete dir="${classes.dir}" />
      <delete dir="${jar.dir}" />
      <delete dir="${dist.files.dir}" />
      <delete dir="${target.dir}" />
  </target>

  <!-- ===================== Hypervisors ========================= -->

  <target name="compile-hypervisors" depends="compile-kvm, compile-ovm, compile-xen" description="Compile all hypervisors"/>
  <target name="build-hypervisors" depends="build-kvm, build-ovm, build-xen " description="Builds all hypervisors"/>

  <target name="compile-kvm" depends="-init, compile-core, compile-agent" description="Compile KVM">
  	<ant antfile="${base.dir}/plugins/hypervisors/kvm/build.xml" target="build"/>
  </target>
  <target name="build-kvm" depends="compile-kvm" />
  
  <target name="compile-ovm" depends="-init, compile-server" description="Compile OVM">
  	<ant antfile="${base.dir}/plugins/hypervisors/ovm/build.xml" target="build"/>
  </target>
  <target name="build-ovm" depends="compile-ovm" />


  <target name="compile-xen" depends="-init, compile-server, compile-ovs" description="Compiles Xen ">
  	<ant antfile="${base.dir}/plugins/hypervisors/xen/build.xml" target="build"/>
  </target>
  <target name="build-xen" depends="compile-xen" />

  <target name="compile-vmware" depends="-init, compile-server" description="Compiles Vmware">
  	<ant antfile="${base.dir}/plugins/hypervisors/vmware/build.xml" target="build"/>
  </target>
  <target name="build-vmware" depends="compile-vmware" />


  <!-- ===================== Deployment Planners ================= -->

  <target name="compile-deployment-planners" depends="compile-dp-user-dispersing, compile-dp-user-concentrated-pod" description="Compile all dp's"/>
  <target name="build-deployment-planners" depends="build-dp-user-dispersing, build-dp-user-concentrated-pod" description="builds all dp's"/>
  
  <target name="compile-dp-user-dispersing" depends="-init, compile-server" description="Compile dp-user-dispersing">
  	<ant antfile="${base.dir}/plugins/deployment-planners/user-dispersing/build.xml" target="build"/>
  </target>
  <target name="build-dp-user-dispersing" depends="compile-dp-user-dispersing" />

  <target name="compile-dp-user-concentrated-pod" depends="-init, compile-server" description="Compile ">
  	<ant antfile="${base.dir}/plugins/deployment-planners/user-concentrated-pod/build.xml" target="build"/>
  </target>
  <target name="build-dp-user-concentrated-pod" depends="compile-dp-user-concentrated-pod" />


  <!-- ===================== Host Allocators ===================== -->

  <target name="compile-host-allocators" depends="compile-host-allocator-random" description="Compile all host allocators"/>
  <target name="build-host-allocators" depends="build-host-allocator-random" description="builds all host allocators"/>
 
  <target name="compile-host-allocator-random" depends="-init, compile-server" description="Compile ">
  	<ant antfile="${base.dir}/plugins/host-allocators/random/build.xml" target="build"/>
  </target>
  <target name="build-host-allocator-random" depends="compile-host-allocator-random" />


  <!-- ===================== Storage Allocators ===================== -->

  <target name="compile-storage-allocators" depends="compile-storage-allocator-random" description="Compile all storage allocators"/>
  <target name="build-storage-allocators" depends="build-storage-allocator-random" description="builds all storage allocators"/>
 
  <target name="compile-storage-allocator-random" depends="-init, compile-server" description="Compile ">
  	<ant antfile="${base.dir}/plugins/storage-allocators/random/build.xml" target="build"/>
  </target>
  <target name="build-storage-allocator-random" depends="compile-storage-allocator-random" />


  <!-- ===================== User Authenticators ================== -->

  <target name="compile-user-authenticators" depends="compile-user-authenticator-ldap, compile-user-authenticator-md5, compile-user-authenticator-plaintext" description="Compile all user authenicators"/>
  <target name="build-user-authenticators" depends="build-user-authenticator-ldap, build-user-authenticator-md5, build-user-authenticator-plaintext" description="builds all user authenticators"/>

  <target name="compile-user-authenticator-ldap" depends="-init, compile-server" description="Compiles LDAP user authenticator">
  	<ant antfile="${base.dir}/plugins/user-authenticators/ldap/build.xml" target="build"/>
  </target>
  <target name="build-user-authenticator-ldap" depends="compile-user-authenticator-ldap" />

  <target name="compile-user-authenticator-md5" depends="-init, compile-server" description="Compiles MD5 user authenticator">
  	<ant antfile="${base.dir}/plugins/user-authenticators/md5/build.xml" target="build"/>
  </target>
  <target name="build-user-authenticator-md5" depends="compile-user-authenticator-md5" />

  <target name="compile-user-authenticator-plaintext" depends="-init, compile-server" description="Compiles plaintext user authenticator">
  	<ant antfile="${base.dir}/plugins/user-authenticators/plain-text/build.xml" target="build"/>
  </target>
  <target name="build-user-authenticator-plaintext" depends="compile-user-authenticator-plaintext" />


  <!-- ===================== Network Elements ===================== -->

  <target name="compile-network-elements" depends="compile-ovs, compile-elb, compile-nicira-nvp" description="Compile all network elements"/>
  <target name="build-network-elements" depends="build-ovs, build-elb, build-nicira-nvp" description="build all network elements"/>
 
  <target name="compile-netscaler" depends="-init, compile-server" description="Compile NetScaler plugin">
  	<ant antfile="${base.dir}/plugins/network-elements/netscaler/build.xml" target="build"/>
  </target>
  <target name="build-netscaler" depends="compile-netscaler"/>

  <target name="compile-f5" depends="-init, compile-server" description="Compile F5 plugin">
  	<ant antfile="${base.dir}/plugins/network-elements/f5/build.xml" target="build"/>
  </target>
  <target name="build-f5" depends="compile-f5"/>

  <target name="compile-srx" depends="-init, compile-server" description="Compile SRX plugin">
  	<ant antfile="${base.dir}/plugins/network-elements/juniper-srx/build.xml" target="build"/>
  </target>
  <target name="build-srx" depends="compile-srx"/>

  <target name="compile-ovs" depends="-init, compile-server" description="Compile Ovs plugin">
  	<ant antfile="${base.dir}/plugins/network-elements/ovs/build.xml" target="build"/>
  </target>
  <target name="build-ovs" depends="compile-ovs"/>
    
  <target name="compile-nicira-nvp" depends="-init, compile-server" description="Compile Nicira NVP plugin">
      <ant antfile="${base.dir}/plugins/network-elements/nicira-nvp/build.xml" target="build"/>
  </target>
  <target name="build-nicira-nvp" depends="compile-nicira-nvp"/>
    

  <target name="compile-elb" depends="-init, compile-server" description="Compile ELB plugin">
  	<ant antfile="${base.dir}/plugins/network-elements/elastic-loadbalancer/build.xml" target="build"/>
  </target>
  <target name="build-elb" depends="compile-elb"/>


  <!-- ===================== File Systems ===================== -->

  <target name="compile-file-systems" depends="compile-netapp" description="Compils all supported file systems"/>
  <target name="build-file-systems" depends="build-netapp" description="Builds all supported file systems"/>
 
  <target name="compile-netapp" depends="-init, compile-server" description="Compile NetApp plugin">
  	<ant antfile="${base.dir}/plugins/file-systems/netapp/build.xml" target="build"/>
  </target>
  <target name="build-netapp" depends="compile-netapp"/>


</project>
