mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
289 lines
12 KiB
XML
Executable File
289 lines
12 KiB
XML
Executable File
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<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-libvirt-0.4.5.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}" />
|
|
</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">
|
|
<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-ui, build-war-oss, compile-testclient, compile-usage">
|
|
</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" />
|
|
</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}" />
|
|
</zipfileset>
|
|
<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="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>
|