mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			334 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			334 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
<?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" />
 | 
						|
  <property name="tools.jar.dir" location="${base.dir}/tools/tooljars" />
 | 
						|
 | 
						|
  <!-- 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="production.dir" location="${deploy.dir}/production" />
 | 
						|
  <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">
 | 
						|
      <fileset dir="${tools.jar.dir}" erroronmissingdir="true">
 | 
						|
          <include name="*.jar" />
 | 
						|
      </fileset>
 | 
						|
  </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, compile-file-systems "/>
 | 
						|
 | 
						|
  <target name="build-plugins" depends="build-hypervisors, build-network-elements, build-deployment-planners, build-host-allocators, build-storage-allocators, build-user-authenticators, build-file-systems" 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, compile-vmware" description="Compile all hypervisors"/>
 | 
						|
  <target name="build-hypervisors" depends="build-kvm, build-ovm, build-xen, build-vmware" 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-netscaler, compile-f5, compile-srx, compile-ovs, compile-elb, compile-nicira-nvp" description="Compile all network elements"/>
 | 
						|
  <target name="build-network-elements" depends="build-netscaler, build-f5, build-srx, 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>
 |