mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			432 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			XML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			432 lines
		
	
	
		
			18 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="CloudStack Developer Targets" basedir=".">
 | 
						|
  <description>
 | 
						|
        This is a developer.xml with tools to start and stop tomcat and 
 | 
						|
        generally developer targets that has nothing to do with compiling.
 | 
						|
    </description>
 | 
						|
 | 
						|
  <dirname property="base.dir" file="${ant.file.CloudStack Developer Targets}/.."/>
 | 
						|
  <property name="build.dir" location="${base.dir}/build"/>
 | 
						|
  
 | 
						|
  <property name="tomcat.home" location="${env.CATALINA_HOME}"/>
 | 
						|
  <property name="assertion" value="-ea"/>
 | 
						|
 | 
						|
  <property name="dist.dir" location="${base.dir}/dist"/>
 | 
						|
  <property name="deploy.work.dir" location="${dist.dir}"/>
 | 
						|
  <property name="server.deploy.to.dir" location="${tomcat.home}"/>
 | 
						|
  <property name="unittest.dir" location="${base.dir}/unittest"/>
 | 
						|
  <property name="unittest.target.dir" location="${unittest.dir}/classes"/>
 | 
						|
  <property name="unittest.jar.dir" location="${unittest.dir}/jar"/>
 | 
						|
  <property name="unittest.formatter" value="plain" />
 | 
						|
  <property name="ovm.dir" location="${base.dir}/ovm" />
 | 
						|
  <property name="usage.dir" location="${base.dir}/usage" />	
 | 
						|
  
 | 
						|
  <!-- directories for api doc -->
 | 
						|
  <property name="api.docs.dir" location="${dist.dir}/apidocs" />
 | 
						|
	
 | 
						|
  <condition property="jmxport" value="${jmxport.override}" else="45219">
 | 
						|
    <isset property="jmxport.override" />
 | 
						|
  </condition>
 | 
						|
  
 | 
						|
  <macrodef name="compile-test">
 | 
						|
    <attribute name="top.dir" description="Top Directory of the source.  We will add src to this to get the source code."/>
 | 
						|
    <attribute name="jar.name" description="Name of the jar file"/>
 | 
						|
    <attribute name="classpath" description="class path to use"/>
 | 
						|
    <element name="include-files" optional="true"/>
 | 
						|
    <element name="exclude-files" optional="true"/>
 | 
						|
    
 | 
						|
    <sequential>
 | 
						|
      <mkdir dir="${unittest.target.dir}/@{jar.name}"/>
 | 
						|
        
 | 
						|
      <depend srcdir="@{top.dir}/test" destdir="${unittest.target.dir}/@{jar.name}" cache="${dep.cache.dir}" />
 | 
						|
        
 | 
						|
      <echo message="Compiling @{top.dir}/test"/>
 | 
						|
      <javac srcdir="@{top.dir}/test" debug="${debug}" debuglevel="${debuglevel}" deprecation="${deprecation}" destdir="${unittest.target.dir}/@{jar.name}" source="${source.compat.version}" target="${target.compat.version}" includeantruntime="false" compiler="javac1.6">
 | 
						|
        <compilerarg line="-Xlint:-path"/>
 | 
						|
        <classpath refid="@{classpath}" />
 | 
						|
        <exclude-files/>
 | 
						|
      </javac>
 | 
						|
      <jar jarfile="${unittest.jar.dir}/@{jar.name}" basedir="${unittest.target.dir}/@{jar.name}" update="true"/>
 | 
						|
    </sequential>
 | 
						|
  </macrodef>
 | 
						|
  
 | 
						|
 | 
						|
  <target name="clean-edits" description="Delete all the editor backup files in the source tree.">
 | 
						|
    <delete>
 | 
						|
      <fileset dir="${base.dir}" includes="**/*~" />
 | 
						|
    </delete>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="run" depends="start-tomcat"/>
 | 
						|
  <target name="stop" depends="stop-tomcat"/>
 | 
						|
  <target name="debug" depends="debug-tomcat"/>
 | 
						|
 | 
						|
  <target name="setup">
 | 
						|
	<mkdir dir="${build.dir}/override"/>   
 | 
						|
    <copy todir="${build.dir}/override">
 | 
						|
	  <fileset dir="${build.dir}">
 | 
						|
	    <include name="build-cloud.properties"/>
 | 
						|
	    <include name="replace.properties"/>
 | 
						|
	  </fileset>
 | 
						|
	</copy>  
 | 
						|
    <loadproperties srcfile="${build.dir}/override/replace.properties" resource="propertyresource"/>
 | 
						|
    <!-- propertyfile file="${build.dir}/override/replace.properties"/ -->
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="debug-suspend">
 | 
						|
    <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
 | 
						|
      <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.port=${jmxport}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.authenticate=false"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.ssl=false"/>
 | 
						|
	  <jvmarg value="-Xdebug"/>
 | 
						|
      <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"/>
 | 
						|
      <jvmarg value="-ea"/>
 | 
						|
      <jvmarg value="-Xms256m"/>
 | 
						|
      <jvmarg value="-Xmx384m"/>
 | 
						|
    </java>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="stop-tomcat">
 | 
						|
    <java dir="${tomcat.home}/bin/" jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
 | 
						|
      <arg value="stop"/>
 | 
						|
    </java>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="start-tomcat" depends="stop-tomcat">
 | 
						|
    <echo message="Start Tomcat" />
 | 
						|
    <java dir="${tomcat.home}/bin/" jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
 | 
						|
      <jvmarg value="${assertion}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.port=${jmxport}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.authenticate=false"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.ssl=false"/>
 | 
						|
      <jvmarg value="-Xms256m"/>
 | 
						|
      <jvmarg value="-Xmx512m"/>
 | 
						|
      <jvmarg value="-XX:MaxPermSize=128m"/>
 | 
						|
      <jvmarg value="-ea"/>
 | 
						|
      <arg value="start"/>
 | 
						|
    </java>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="debug-tomcat">
 | 
						|
    <java jar="${tomcat.home}/bin/bootstrap.jar" fork="true">
 | 
						|
      <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.port=${jmxport}"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.authenticate=false"/>
 | 
						|
      <jvmarg value="-Dcom.sun.management.jmxremote.ssl=false"/>
 | 
						|
	  <jvmarg value="-Xdebug"/>
 | 
						|
      <jvmarg value="${debug.jvmarg}"/>
 | 
						|
      <jvmarg value="-ea"/>
 | 
						|
      <jvmarg value="-Xms256m"/>
 | 
						|
      <jvmarg value="-Xmx512m"/>
 | 
						|
      <jvmarg value="-XX:MaxPermSize=128m"/>
 | 
						|
    </java>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="clean-tomcat" depends="stop-tomcat,clean-awsapi-tomcat">
 | 
						|
    <delete dir="${tomcat.home}/webapps/client"/>
 | 
						|
    <delete dir="${tomcat.home}/webapps/awsapi" />
 | 
						|
	<delete dir="${tomcat.home}/webapps7080/awsapi" />
 | 
						|
    <delete dir="${tomcat.home}/work/Catalina"/>
 | 
						|
    <delete dir="${tomcat.home}/temp" />
 | 
						|
    <delete dir="${tomcat.home}/logs" />
 | 
						|
    <delete quiet="false" >
 | 
						|
      <fileset dir="${tomcat.home}/conf" >
 | 
						|
      	<include name="**/*component*.xml" />
 | 
						|
      </fileset>
 | 
						|
    </delete>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="unzip" if="zip.uptodate">
 | 
						|
    <unzip src="${deploy.work.dir}/client.zip" dest="${deploy.work.dir}/client"/>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="unzip-usage" if="usagezip.uptodate">
 | 
						|
    <unzip src="${deploy.work.dir}/usage.zip" dest="${deploy.work.dir}/usage"/>
 | 
						|
  </target>
 | 
						|
    
 | 
						|
  <target name="deploy-ovm" >
 | 
						|
  	<ant antfile="${base.dir}/plugins/hypervisors/ovm/build.xml" target="deploy-ovm"/>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="deploy-server" depends="deploy-common, deploy-ovm, deploy-awsapi" >
 | 
						|
      <copy todir="${server.deploy.to.dir}/webapps/client/WEB-INF/lib/vms" file="${dist.dir}/systemvm.iso" />
 | 
						|
  </target>
 | 
						|
	
 | 
						|
  <target name="deploy-server-encrypt" depends="deploy-server" >
 | 
						|
  	<move file="${server.deploy.to.dir}/conf/db-enc.properties" tofile="${server.deploy.to.dir}/conf/db.properties" overwrite="true"/>
 | 
						|
  	<echo file="/etc/cloud/management/key" append="false">password</echo>
 | 
						|
  </target>
 | 
						|
	
 | 
						|
  <target name="deploy-common" > 
 | 
						|
    <condition property="zip.uptodate">
 | 
						|
      <available file="${deploy.work.dir}/client.zip" type="file"/>
 | 
						|
    </condition>
 | 
						|
    <antcall target="unzip" inheritAll="true"/>
 | 
						|
    <unwar overwrite="true" src="${deploy.work.dir}/client/client.war" dest="${server.deploy.to.dir}/webapps/client"/>
 | 
						|
    <copy todir="${server.deploy.to.dir}/lib">
 | 
						|
      <fileset dir="${deps.dir}/">
 | 
						|
        <include name="*.jar"/>
 | 
						|
        <exclude name="servlet*.jar"/>
 | 
						|
        <exclude name="axis2*.jar"/>
 | 
						|
        <exclude name="*slf4j*.jar"/>
 | 
						|
      </fileset>
 | 
						|
    </copy>
 | 
						|
    <touch file="${server.deploy.to.dir}/webapps/client/WEB-INF/lib/scripts/vm/hypervisor/xenserver/version"/>
 | 
						|
    <echo file="${server.deploy.to.dir}/webapps/client/WEB-INF/lib/scripts/vm/hypervisor/xenserver/version" append="false" message="${version}.${build.number}"/>
 | 
						|
    <copy overwrite="true" todir="${server.deploy.to.dir}/conf">
 | 
						|
      <fileset dir="${deploy.work.dir}/client/conf/">
 | 
						|
        <include name="**/*"/>
 | 
						|
      </fileset>
 | 
						|
    </copy>
 | 
						|
    <chmod perm="755">
 | 
						|
      <fileset dir="${server.deploy.to.dir}/webapps/client/WEB-INF/lib">
 | 
						|
        <include name="**/*"/>
 | 
						|
      </fileset>
 | 
						|
    </chmod>
 | 
						|
  	
 | 
						|
  	
 | 
						|
<!--    <copy overwrite="true" todir="${server.deploy.to.dir}/lib" file="${server.deploy.to.dir}/webapps/client/WEB-INF/lib/cloud-mysql-connector-java-5.1.7-bin.jar" />
 | 
						|
    <delete file="${server.deploy.to.dir}/webapps/client/WEB-INF/lib/cloud-mysql-connector-java-5.1.7-bin.jar" />
 | 
						|
  -->	
 | 
						|
    <replace file="${server.deploy.to.dir}/conf/catalina.properties" summary="true">
 | 
						|
      <replacetoken><![CDATA[shared.loader=
 | 
						|
]]></replacetoken>
 | 
						|
      <replacevalue><![CDATA[shared.loader=${catalina.home},${catalina.home}/conf
 | 
						|
          ]]></replacevalue>    </replace>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <target name="deploy-usage">
 | 
						|
    <condition property="usagezip.uptodate">
 | 
						|
      <available file="${deploy.work.dir}/usage.zip" type="file" />
 | 
						|
    </condition>
 | 
						|
    <antcall target="unzip-usage" inheritAll="true" />
 | 
						|
    <copy overwrite="true" todir="${server.deploy.to.dir}/conf">
 | 
						|
      <fileset dir="${usage.dir}/conf/">
 | 
						|
        <include name="*.in" />
 | 
						|
      </fileset>
 | 
						|
      <globmapper from="*.in" to="*" />
 | 
						|
    </copy>  	
 | 
						|
    <copy overwrite="true" todir="${server.deploy.to.dir}/webapps/client/WEB-INF/lib">
 | 
						|
      <fileset dir="${deploy.work.dir}/usage/lib/">
 | 
						|
        <include name="**/*.jar"/>
 | 
						|
      </fileset>
 | 
						|
    </copy>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="deploy-cloudstack-db">
 | 
						|
    <condition property="server-setup.file" value="override/server-setup.xml" else="server-setup.xml">
 | 
						|
      <available file="${setup.db.dir}/override/server-setup.xml" />
 | 
						|
    </condition>
 | 
						|
 | 
						|
    <condition property="templates.file" value="override/templates.sql" else="templates.sql" >
 | 
						|
    	<available file="${setup.db.dir}/override/templates.sql" />
 | 
						|
    </condition>
 | 
						|
  	
 | 
						|
    <echo message="${db.scripts.dir}\\deploy-db-dev.sh ${server-setup.file} ${templates.file} ${DBROOTPW}" />
 | 
						|
    <exec dir="${db.scripts.dir}" executable="bash" failonerror="true">
 | 
						|
      <arg value="deploy-db-dev.sh" />
 | 
						|
      <arg value="${server-setup.file}" />
 | 
						|
      <arg value="${templates.file}" />
 | 
						|
      <arg value="${DBROOTPW}" />
 | 
						|
      <env key="CATALINA_HOME" value="${tomcat.home}"/>
 | 
						|
    </exec>
 | 
						|
    
 | 
						|
    <chmod perm="666">
 | 
						|
      <fileset dir="${db.scripts.dir}">
 | 
						|
        <include name="**/*"/>
 | 
						|
      </fileset>
 | 
						|
    </chmod>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="deploydb" depends="deploy-cloudstack-db, deploy-awsapi-db">
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="deploydb-simulator">
 | 
						|
      <condition property="server-setup.file" value="${setup.db.dir}/override/server-setup.xml" else="server-setup.xml">
 | 
						|
      <available file="${setup.db.dir}/override/server-setup.xml" />
 | 
						|
    </condition>
 | 
						|
 | 
						|
    <condition property="templates.file" value="${setup.db.dir}/override/templates.sql" else="templates.sql" >
 | 
						|
    	<available file="${setup.db.dir}/override/templates.sql" />
 | 
						|
    </condition>
 | 
						|
  	
 | 
						|
    <echo message="deploydb ${server-setup.file} ${templates.file} ${DBROOTPW}" />
 | 
						|
    <exec dir="${db.scripts.dir}" executable="bash" failonerror="true">
 | 
						|
      <arg value="deploy-db-simulator.sh" />
 | 
						|
      <arg value="${server-setup.file}" />
 | 
						|
      <arg value="${templates.file}" />
 | 
						|
      <arg value="${DBROOTPW}" />
 | 
						|
      <env key="CATALINA_HOME" value="${tomcat.home}"/>
 | 
						|
    </exec>
 | 
						|
    
 | 
						|
    <chmod perm="666">
 | 
						|
      <fileset dir="${db.scripts.dir}">
 | 
						|
        <include name="**/*"/>
 | 
						|
      </fileset>
 | 
						|
    </chmod>
 | 
						|
  </target>
 | 
						|
 | 
						|
  <path id="test.classpath">
 | 
						|
    <path refid="deps.classpath" />
 | 
						|
    <path refid="dist.classpath"/>
 | 
						|
    <!-- external deps, added for jenkins
 | 
						|
         depends on mysql-connector-java rpm 
 | 
						|
    -->
 | 
						|
    <fileset dir="/usr/share/java/" erroronmissingdir="true">
 | 
						|
      <include name="mysql-connector-java.jar" />
 | 
						|
    </fileset>
 | 
						|
    <fileset dir="${unittest.jar.dir}">
 | 
						|
      <include name="*.jar"/>
 | 
						|
    </fileset>
 | 
						|
    <fileset dir="${deps.dir}">
 | 
						|
      <include name="junit-*.jar"/>
 | 
						|
    </fileset>
 | 
						|
    <dirset dir="${utils.test.dir}/resources"/>
 | 
						|
    <dirset dir="${server.test.dir}/resources"/>
 | 
						|
    <dirset dir="${base.dir}/setup/db"/>
 | 
						|
  </path>
 | 
						|
  
 | 
						|
  <target name="compile-tests" depends="compile-all">
 | 
						|
    <mkdir dir="${unittest.dir}"/>
 | 
						|
    <mkdir dir="${unittest.target.dir}"/>
 | 
						|
    <mkdir dir="${unittest.jar.dir}"/>
 | 
						|
 | 
						|
    <compile-test jar.name="utils-test.jar" top.dir="${utils.dir}" classpath="test.classpath"/>
 | 
						|
    <compile-test jar.name="server-test.jar" top.dir="${server.dir}" classpath="test.classpath"/>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="unittest" description="Execute unit tests" depends="compile-tests">
 | 
						|
    <junit fork="true" printsummary="true" showoutput="true" failureproperty="junit.failure">
 | 
						|
      <!-- N.b. use failureproperty instead of haltonfailure, because if we use
 | 
						|
           the former, we will get no detailed report about the failure.
 | 
						|
           If the test fails, the fail element below will still assure that
 | 
						|
           the Ant run will exit with error status.
 | 
						|
      -->
 | 
						|
      <!--bootclasspath refid="test.classpath"/-->
 | 
						|
      <classpath refid="test.classpath"/>
 | 
						|
      <jvmarg value="${debug.jvmarg}"/>
 | 
						|
      <batchtest todir="${unittest.dir}">
 | 
						|
        <formatter type="${unittest.formatter}"/>
 | 
						|
        <fileset dir="${utils.test.dir}">
 | 
						|
          <include name="**/*Test.java"/>
 | 
						|
        </fileset>
 | 
						|
        <fileset dir="${server.test.dir}">
 | 
						|
          <include name="**/*Test.java"/>
 | 
						|
          <exclude name="**/upgrade/*.java"/>
 | 
						|
        </fileset>
 | 
						|
      </batchtest>
 | 
						|
    </junit>
 | 
						|
    <junitreport todir="${unittest.dir}">
 | 
						|
      <fileset dir="${unittest.dir}"/>
 | 
						|
      <report todir="${unittest.dir}/test-reports"/>
 | 
						|
    </junitreport>
 | 
						|
    <fail if="junit.failure" message="Unit test(s) failed.  See reports!"/>
 | 
						|
  </target>
 | 
						|
    
 | 
						|
  <target name="test" description="Execute one unit test" depends="compile-tests">
 | 
						|
    <junit fork="true" printsummary="true" showoutput="true" failureproperty="junit.failure">
 | 
						|
      <!-- N.b. use failureproperty instead of haltonfailure, because if we use
 | 
						|
           the former, we will get no detailed report about the failure.
 | 
						|
           If the test fails, the fail element below will still assure that
 | 
						|
           the Ant run will exit with error status.
 | 
						|
      -->
 | 
						|
      <classpath refid="test.classpath"/>
 | 
						|
      <jvmarg value="${debug.jvmarg}"/>
 | 
						|
      <jvmarg value="-ea"/>
 | 
						|
      <jvmarg value="-Xms1024m"/>
 | 
						|
      <jvmarg value="-Xmx1024m"/>
 | 
						|
      <batchtest todir="${unittest.dir}">
 | 
						|
        <formatter type="${unittest.formatter}"/>
 | 
						|
        <fileset dir="${utils.test.dir}">
 | 
						|
          <include name="**/${test}.java"/>
 | 
						|
        </fileset>
 | 
						|
        <fileset dir="${server.test.dir}">
 | 
						|
          <include name="**/${test}.java"/>
 | 
						|
          <exclude name="**/upgrade/*.java"/>
 | 
						|
        </fileset>
 | 
						|
      </batchtest>
 | 
						|
    </junit>
 | 
						|
    <junitreport todir="${unittest.dir}">
 | 
						|
      <fileset dir="${unittest.dir}"/>
 | 
						|
      <report todir="${unittest.dir}/test-reports"/>
 | 
						|
    </junitreport>
 | 
						|
    <fail if="junit.failure" message="Unit test(s) failed.  See reports!"/>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="test-suspend" description="Execute one unit test" depends="compile-tests">
 | 
						|
    <junit fork="true" printsummary="true" showoutput="true" failureproperty="junit.failure">
 | 
						|
      <!-- N.b. use failureproperty instead of haltonfailure, because if we use
 | 
						|
           the former, we will get no detailed report about the failure.
 | 
						|
           If the test fails, the fail element below will still assure that
 | 
						|
           the Ant run will exit with error status.
 | 
						|
      -->
 | 
						|
      <classpath refid="test.classpath"/>
 | 
						|
      <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"/>
 | 
						|
      <jvmarg value="${assertion}"/>
 | 
						|
      <batchtest todir="${unittest.dir}">
 | 
						|
        <formatter type="${unittest.formatter}"/>
 | 
						|
        <fileset dir="${utils.test.dir}">
 | 
						|
          <include name="**/${test}.java"/>
 | 
						|
        </fileset>
 | 
						|
        <fileset dir="${server.test.dir}">
 | 
						|
          <include name="**/${test}.java"/>
 | 
						|
        </fileset>
 | 
						|
      </batchtest>
 | 
						|
    </junit>
 | 
						|
    <junitreport todir="${unittest.dir}">
 | 
						|
      <fileset dir="${unittest.dir}"/>
 | 
						|
      <report todir="${unittest.dir}/test-reports"/>
 | 
						|
    </junitreport>
 | 
						|
    <fail if="junit.failure" message="Unit test(s) failed.  See reports!"/>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  
 | 
						|
  <target name="build-apidocs" description="Generate api documentation" depends="build-all">
 | 
						|
    <property name="commands.file" location="${dist.dir}/client/conf/commands.properties" /> 
 | 
						|
    <property name="commands.ext.file" location="${dist.dir}/client/conf/commands-ext.properties" />
 | 
						|
    <property name="commands.vr.file" location="${dist.dir}/client/conf/virtualrouter_commands.properties" />
 | 
						|
    <property name="commands.niciranvp.file" location="${dist.dir}/client/conf/nicira-nvp_commands.properties" />
 | 
						|
  
 | 
						|
  <echo message="build-apidocs" />
 | 
						|
    <exec dir="${apidoc.scripts.dir}" executable="bash" failonerror="true">
 | 
						|
      <arg value="build-apidoc.sh" />
 | 
						|
      <arg value="${target.dir}/jar" />
 | 
						|
      <arg value="${deps.dir}" />
 | 
						|
      <arg value="${dist.dir}" />
 | 
						|
      <arg value="-f ${commands.file},${commands.ext.file},${commands.vr.file},${commands.niciranvp.file}" />
 | 
						|
    </exec>
 | 
						|
    <echo message="Result locates at ${dist.dir}/commands.xml" />
 | 
						|
    
 | 
						|
    <chmod perm="666">
 | 
						|
      <fileset dir="${apidoc.scripts.dir}">
 | 
						|
        <include name="**/*"/>
 | 
						|
      </fileset>
 | 
						|
    </chmod>
 | 
						|
  </target>
 | 
						|
  
 | 
						|
  <target name="build-apidocs-zip" depends="build-apidocs">
 | 
						|
    <delete file="${dist.dir}/apidocs-${version}.zip" />
 | 
						|
    <zip destfile="${dist.dir}/apidocs-${version}.zip" basedir="${dist.dir}/xmldoc/html" />
 | 
						|
  </target>
 | 
						|
 | 
						|
</project>
 |