<?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 Package" basedir=".">
  <description>
        This is a package.xml with tools to package the cloud stack distribution
    </description>

  <dirname property="base.dir" file="${ant.file.Cloud Stack Package}/.." />
  <property name="build.dir" location="${base.dir}/build" />

  <import file="${build.dir}/build-cloud.xml" optional="false"/>
  
  <property name="target.dir" location="${base.dir}/target"/>
  <property name="scripts.target.dir" location="${target.dir}/scripts"/>
  
  <property name="dist.dir" location="${base.dir}/dist" />
  <property name="publish.dir" location="${dist.dir}" />
  <property name="client.dist.dir" location="${dist.dir}/client" />
  <property name="server.dist.dir" location="${dist.dir}/client" />
  <property name="agent.dist.dir" location="${dist.dir}/agent" />
  <property name="docs.dist.dir" location="${dist.dir}/docs" />
  <property name="db.dist.dir" location="${dist.dir}/db" />
  <property name="usage.dist.dir" location="${dist.dir}/usage" />
  
  <condition property="mkisofs" value="${mkisofs.override}" else="mkisofs">
    <isset property="mkisofs.override" />
  </condition>
  
  <target name="-init-package">
    <mkdir dir="${dist.dir}" />
    <mkdir dir="${publish.dir}" />
  </target>

  <target name="package-server" depends="-init-package">
    <delete file="${dist.dir}/client.zip" />
    <zip destfile="${dist.dir}/client.zip" basedir="${server.dist.dir}" />
  </target>

  <target name="package-client" depends="-init-package">
    <zip destfile="${dist.dir}/client.zip" basedir="${client.dist.dir}">
      <zipfileset dir="${client.dist.dir}">
        <exclude name="**/*.sh" />
      </zipfileset>
      <zipfileset dir="${client.dist.dir}" filemode="555">
        <include name="**/*.sh" />
      </zipfileset>
    </zip>
  </target>

  <target name="package-usage" depends="-init-package">
    <zip destfile="${dist.dir}/usage.zip" basedir="${usage.dist.dir}" />
  </target>

  <target name="package-agent-common" depends="-init-package">
    <zip destfile="${dist.dir}/agent.zip" duplicate="preserve">
      <zipfileset dir="${deps.dir}">
        <include name="cloud-xmlrpc-client-3.1.3.jar" />
        <include name="cloud-xmlrpc-common-3.1.3.jar" />
        <include name="cloud-ws-commons-util-1.0.2.jar" />
        <include name="cloud-log4j.jar" />
        <include name="cloud-apache-log4j-extras-1.0.jar" />
        <include name="cloud-gson.jar" />
        <include name="cloud-commons-httpclient-3.1.jar" />
        <include name="cloud-commons-logging-1.1.1.jar" />
        <include name="cloud-commons-collections-3.2.1.jar" />
        <include name="cloud-commons-codec-1.4.jar" />
        <include name="cloud-commons-pool-1.4.jar" />
        <include name="cloud-jna.jar" />
        <include name="cloud-cglib.jar" />
        <include name="jetty-6.1.26.jar" />
        <include name="jetty-util-6.1.26.jar"/>
      </zipfileset>
      <zipfileset dir="${jar.dir}">
        <include name="${agent.jar}" />
        <include name="${utils.jar}" />
        <include name="${core.jar}" />
        <include name="${api.jar}" />
        <include name="${kvm.jar}" />
      </zipfileset>

      <zipfileset dir="${agent.dist.dir}" filemode="770">
        <include name="run.sh" />
        <include name="agent.sh" />
      </zipfileset>
      <zipfileset dir="${agent.dist.dir}">
        <exclude name="run.sh/" />
        <exclude name="agent.sh" />
        <include name="**/*" />
      </zipfileset>
      <zipfileset dir="${scripts.dir}" prefix="scripts" filemode="555">
        <exclude name="**/.project" />
        <exclude name="**/.classpath" />
      </zipfileset>
    </zip>
  </target>


  <target name="package-agent" depends="-init-package, package-oss-systemvm,  build-systemvm-patch, package-agent-common, build-kvm">
    <zip destfile="${dist.dir}/agent.zip" duplicate="preserve" update="true">
      <zipfileset dir="${dist.dir}" prefix="vms">
        <include name="patch.tgz" />
      </zipfileset>
      <zipfileset dir="${dist.dir}" prefix="vms" filemode="555">
        <include name="systemvm.zip" />
      </zipfileset>
    </zip>
  </target>

  <target name="package-oss-systemvm-iso" depends="-init-package, package-oss-systemvm, update-oss-systemvm-with-vmware, build-systemvm-patch">
    <exec executable="${mkisofs}" dir="${dist.dir}">
      <arg value="-quiet"/>
      <arg value="-r"/>
      <arg value="-o"/>
      <arg value="systemvm.iso"/>
      <arg value="systemvm.zip"/>
      <arg value="cloud-scripts.tgz"/>
      <arg value="authorized_keys"/>
    </exec>
  </target>


  <target name="package-agent-simulator" depends="-init-package">
    <delete file="${dist.dir}/agent-simulator.zip" />
    <zip destfile="${dist.dir}/agent-simulator.zip" duplicate="preserve">
      <zipfileset dir="${agent-simulator.dist.dir}">
        <exclude name="**/*.sh" />
        <exclude name="**/vnetd" />
        <exclude name="**/send_arp" />
        <exclude name="**/vn" />
        <exclude name="**/*.exp" />
      </zipfileset>
      <zipfileset dir="${agent-simulator.dist.dir}" filemode="555">
        <include name="**/*.sh" />
        <include name="**/vnetd" />
        <include name="**/send_arp" />
        <include name="**/vn" />
        <include name="**/*.exp" />
      </zipfileset>
    </zip>
  </target>

  <!-- <target name="build-all" depends="build-opensource, build-plugins, build-ui, build-war-oss, compile-testclient, compile-usage, build-awsapi"> -->
  <target name="build-all" depends="build-opensource, build-plugins, build-ui, build-war-oss, compile-usage, build-awsapi">
  </target>

  <target name="build-all-with-simulator" depends="build-all, compile-agent-simulator">
      <war destfile="${client.dist.dir}/client.war" webxml="${client.dir}/WEB-INF/web.xml" update="true">
      <lib dir="${jar.dir}">
        <include name="cloud-*.jar" />
        <include name="vmware-*.jar" />
        <exclude name="cloud-servlet-api.jar"/>
      </lib>
    </war>
  </target>

  <target name="build-war-oss" depends="-init-package" description="Compile the GWT client UI and builds WAR file.">
    <mkdir dir="${client.dist.dir}" />

    <war destfile="${client.dist.dir}/client.war" webxml="${client.dir}/WEB-INF/web.xml" update="true">
      <fileset dir="${client.target.dir}">
        <include name="**/*" />
      	<exclude name="**/*.properties" />
      </fileset>
      <classes dir="${client.target.dir}">
    	  <include name="**/resources/*.properties" />
      </classes>
      <lib dir="${jar.dir}">
        <include name="cloud-*.jar" />
        <include name="vmware-*.jar" />
        <exclude name="cloud-servlet-api.jar"/>
      </lib>
      <zipfileset dir="${scripts.target.dir}" prefix="WEB-INF/lib/scripts" filemode="555">
        <include name="**/*" />
      </zipfileset>
      <zipfileset dir="${db.scripts.dir}" prefix="WEB-INF/lib/db" filemode="555">
        <include name="**/*"/>
      </zipfileset>
    </war>
  </target>


  <target name="package-oss-systemvm" depends="-init-package">
    <zip destfile="${dist.dir}/systemvm.zip" duplicate="preserve" update="true">
      <!-- Console proxy now includes an agent shell, therefore we need to package agent related distribution -->
      <zipfileset dir="${deps.dir}">
        <include name="xmlrpc-client-3.1.3.jar" />
        <include name="xmlrpc-common-3.1.3.jar" />
        <include name="ws-commons-util-1.0.2.jar" />
        <include name="log4j*.jar" />
        <include name="asm-3.1.jar" />
        <include name="apache-log4j-extras-1.1.jar" />
        <include name="gson-1.7.1.jar" />
        <include name="commons-httpclient-3.1.jar" />
        <include name="commons-logging-1.1.1.jar" />
        <include name="commons-collections-3.1.jar" />
        <include name="commons-codec-1.6.jar" />
        <include name="commons-pool-1.6.jar" />
        <include name="cglib-*.jar" />
        <include name="axis-*.jar" />
        <include name="discovery-*.jar" />
        <include name="wsdl4j-*.jar" />
        <include name="ejb-api-3.0.jar" />
        <include name="aws-java-sdk-1.3.21.1.jar" />
        <include name="httpclient-4.1.jar" />
        <include name="httpcore-4.1.jar" />
        <include name="commons-lang-2.1.jar" />
      </zipfileset>
      <zipfileset dir="${jar.dir}">
        <include name="${agent.jar}" />
        <include name="${utils.jar}" />
        <include name="${core.jar}" />
        <include name="${api.jar}" />
      </zipfileset>
      <zipfileset dir="${console-proxy.dist.dir}" filemode="555"/>
      <zipfileset dir="${scripts.dir}/storage/secondary" prefix="scripts/storage/secondary" filemode="555">
        <exclude name="**/.project" />
        <exclude name="**/.classpath" />
      </zipfileset>
    </zip>
  </target>

  <target name="update-oss-systemvm-with-vmware" depends="-init-package" if="ssvm.include.vmware.jar">
    <zip destfile="${dist.dir}/systemvm.zip" duplicate="preserve" update="true">
      <zipfileset dir="${jar.dir}" >
        <include name="${vmware.jar}" />
        <include name="${vmware-base.jar}" />
      </zipfileset>
    </zip>
  </target>	

  <target name="package-docs" depends="-init-package">
    <delete file="${dist.dir}/docs.zip" />
    <zip destfile="${dist.dir}/docs.zip" compress="false">
      <fileset dir="${docs.dist.dir}" />
    </zip>
  </target>

  <target name="package-test" depends="-init-package">
    <delete file="${publish.dir}/test.zip" />
    <zip destfile="${publish.dir}/test.zip" compress="false">
      <zipfileset dir="${testclient.dist.dir}" filemode="555" />
    </zip>
  </target>

  <target name="package-tools" depends="-init-package">
    <delete file="${publish.dir}/cloudapitools.zip" />
    <zip destfile="${publish.dir}/cloudapitools.zip" compress="false">
      <zipfileset dir="${tools.dist.dir}" filemode="555" />
    </zip>
  </target>

  <target name="clean-packages">
    <delete>
      <fileset dir="${dist.dir}" includes="*.zip" />
    </delete>
  </target>

  <target name="package-all" depends="package-client, package-agent, package-agent-simulator, package-usage, package-docs">
    <tstamp>
      <format property="package.date" pattern="yyyy-MM-dd" />
    </tstamp>
  </target>

  <target name="package-kvm" depends="package-agent">
    <zip destfile="${dist.dir}/agent.zip" update="true">
    	<zipfileset dir="${jar.dir}">
    	   <include name="cloud-plugin-hypervisor-kvm.jar"/>
    	</zipfileset>
    	<zipfileset dir="${deps.dir}">
    	   <include name="libvirt-0.4.8.jar"/>
    	</zipfileset>
    </zip>
  </target>
	
  <target name="clean-zip">
    <delete dir="${dist.dir}">
      <include name="*.zip" />
    </delete>
  </target>

<!-- The following target is OBSOLETE.  If you need to add a jar file / target, go to the function def runant(target): in wscrpit_build, and list the jar file and the target in the appropriate places -->
<target name="sendjarfiles" depends="compile-utils, compile-core, compile-server, compile-agent">
    <copy todir="${waf.artifacts}">
      <fileset dir="${target.dir}/jar"/>
    </copy>
  </target>

</project>
