mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			306 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			306 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
<?xml version="1.0" encoding="UTF-8"?>
 | 
						|
 | 
						|
<!-- Copyright 2008 Cloud.com, Inc. All Rights Reserved -->
 | 
						|
 | 
						|
<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-lib-jaxen-core.jar" />
 | 
						|
        <include name="vmware-lib-jdom.jar" />
 | 
						|
        <include name="vmware-lib-smtp.jar" />
 | 
						|
        <include name="vmware-lib-xerces.jar" />
 | 
						|
        <include name="vmware-vim.jar" />
 | 
						|
        <include name="vmware-credstore.jar" />
 | 
						|
        <include name="vmware-lib-jaxen-jdom.jar" />
 | 
						|
        <include name="vmware-lib-mailapi.jar" />
 | 
						|
        <include name="vmware-lib-wbem.jar" />
 | 
						|
        <include name="vmware-lib-xml-apis.jar" />
 | 
						|
        <include name="vmware-lib-activation.jar" />
 | 
						|
        <include name="vmware-lib-jaxrpc.jar" />
 | 
						|
        <include name="vmware-lib-saxpath.jar" />
 | 
						|
        <include name="vmware-lib-xalan.jar" />
 | 
						|
        <include name="vmware-vim25.jar" />
 | 
						|
        <include name="vmware-vim.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="${console-proxy.dist.dir}" filemode="555">
 | 
						|
      </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, compile-console-common, compile-console-proxy, build-console-viewer">
 | 
						|
    <copy todir="${waf.artifacts}">
 | 
						|
      <fileset dir="${target.dir}/jar"/>
 | 
						|
    </copy>
 | 
						|
  </target>
 | 
						|
 | 
						|
</project>
 |