mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +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>
|