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

  <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="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-google-gson-1.7.1.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.5.jar" />
        <include name="cloud-commons-pool-1.5.6.jar" />
        <include name="cloud-cglib.jar" />
        <include name="cloud-axis.jar" />
        <include name="cloud-commons-discovery.jar" />
        <include name="cloud-wsdl4j.jar" />
        <include name="vmware-apputils.jar" />
        <include name="vmware-vim.jar" />
        <include name="vmware-lib-jaxrpc.jar" />
        <include name="vmware-vim25.jar" />
        <include name="cloud-ejb-api-3.0.jar" />
      </zipfileset>
      <zipfileset dir="${jar.dir}">
        <include name="${agent.jar}" />
        <include name="${utils.jar}" />
        <include name="${core.jar}" />
        <include name="${api.jar}" />
        <include name="${vmware-base.jar}" />
          <include name="${vmware.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="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>
    <zip destfile="${publish.dir}/cloud-${company.major.version}.${company.minor.version}.${company.patch.version}.${build.number}-${package.date}.zip" duplicate="preserve">
      <zipfileset dir="${dist.dir}" prefix="cloud-${company.major.version}.${company.minor.version}.${company.patch.version}.${build.number}-${package.date}" filemode="777">
        <include name="deploy-agent.sh" />
        <include name="deploy-server.sh" />
      </zipfileset>
      <zipfileset dir="${db.dist.dir}" prefix="cloud-${company.major.version}.${company.minor.version}.${company.patch.version}.${build.number}-${package.date}/db" filemode="777">
        <include name="deploy-db.sh" />
      </zipfileset>
      <zipfileset dir="${db.dist.dir}" prefix="cloud-${company.major.version}.${company.minor.version}.${company.patch.version}.${build.number}-${package.date}/db">
        <include name="log4j.properties" />
        <include name="create-schema.sql" />
        <include name="init-data.sql" />
        <include name="create-index-fk.sql" />
        <include name="server-setup.xml" />
        <include name="create-database.sql" />
        <include name="templates.sql" />
      </zipfileset>
      <zipfileset dir="${dist.dir}" prefix="cloud-${company.major.version}.${company.minor.version}.${company.patch.version}.${build.number}-${package.date}">
        <include name="agent.zip" />
        <include name="client.zip" />
        <include name="docs.zip" />
      </zipfileset>
    </zip>
  </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>
