sysmodelmgr/com.symbian.smt.gui/build.xml
author terytkon
Thu, 11 Mar 2010 19:08:43 +0200
changeset 0 522a326673b6
permissions -rw-r--r--
Moved swconfigapps content under oss repository.

<?xml version="1.0" encoding="UTF-8"?>
<project name="com.symbian.smt.gui" default="build.jars" basedir=".">

	<property name="basews" value="${ws}"/>
	<property name="baseos" value="${os}"/>
	<property name="basearch" value="${arch}"/>
	<property name="basenl" value="${nl}"/>

	<!-- Compiler settings. -->
	<property name="javacFailOnError" value="false"/>
	<property name="javacDebugInfo" value="on"/>
	<property name="javacVerbose" value="false"/>
	<property name="logExtension" value=".log"/>
	<property name="compilerArg" value=""/>
	<property name="javacSource" value="1.5"/>
	<property name="javacTarget" value="1.5"/>
	<path id="path_bootclasspath">
		<fileset dir="${java.home}/lib">
			<include name="*.jar"/>
		</fileset>
	</path>
	<property name="bootclasspath" refid="path_bootclasspath"/>
	<property name="bundleJavacSource" value="${javacSource}"/>
	<property name="bundleJavacTarget" value="${javacTarget}"/>
	<property name="bundleBootClasspath" value="${bootclasspath}"/>

	<property name="reports.dir" value="${basedir}/report" />
	<property name="coverage.dir" value="${reports.dir}/coverage" />

	<!-- <property name="lib.dir" value="${basedir}/../shared/lib" /> -->
	
	<target name="init">
		<condition property="pluginTemp" value="${buildTempFolder}/plugins">
			<isset property="buildTempFolder"/>
		</condition>
		<property name="pluginTemp" value="${basedir}"/>
		<condition property="build.result.folder" value="${pluginTemp}/com.symbian.smt.gui">
			<isset property="buildTempFolder"/>
		</condition>
		<property name="build.result.folder" value="${basedir}"/>
		<property name="temp.folder" value="${basedir}/temp.folder"/>
		<property name="plugin.destination" value="${release.folder}"/>
		<property name="plugin.temp.destination" value="${basedir}/plugins.folder" />
		
		<mkdir dir="${plugin.temp.destination}"/>
		<mkdir dir="${plugin.destination}"/>
	</target>

	<target name="instrument.jars" depends="build.update.jar">
		<mkdir dir="${coverage.dir}" />
		<mkdir dir="${jars.instr.dir}" />
		<emma>
			<instr instrpath="${plugin.temp.destination}/com.symbian.smt.gui_${version}.jar" mode="overwrite" metadatafile="${coverage.dir}/smtgui_metadata.em"/>
		</emma>
		<copy file="${plugin.temp.destination}/com.symbian.smt.gui_${version}.jar" tofile="${jars.instr.dir}/com.symbian.smt.gui_${version}.jar"/>
	</target>


	<target name="build.update.jar" depends="init" description="Build the plug-in: com.symbian.smt.gui for an update site.">
		<delete dir="${temp.folder}"/>
		<mkdir dir="${temp.folder}"/>
		<antcall target="build.jars"/>
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		
		<zip destfile="${plugin.temp.destination}/com.symbian.smt.gui_${version}.jar" basedir="${temp.folder}/com.symbian.smt.gui" filesonly="false" whenempty="skip" update="false"/>
		
		<copy file="${plugin.temp.destination}/com.symbian.smt.gui_${version}.jar" tofile="${plugin.destination}/com.symbian.smt.gui_${version}.jar"/>
		
		<!-- <copy todir="${plugin.destination}/lib">
			<fileset dir="${basedir}/../shared/lib"/>
		</copy> -->

		<delete dir="${temp.folder}"/>
	</target>

	<target name="@dot" depends="init" unless="@dot" description="Create jar: com.symbian.smt.gui @dot.">
		<delete dir="${temp.folder}/@dot.bin"/>
		<mkdir dir="${temp.folder}/@dot.bin"/>
		<path id="@dot.classpath">
			<pathelement path="../shared/org.eclipse.ui_3.2.1.M20061108.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.osgi_3.2.2.R32x_v20070118.jar"/>
			<pathelement path="../shared/org.eclipse.equinox.common_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.jobs_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907/runtime_registry_compatibility.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907"/>
			<pathelement path="../shared/org.eclipse.equinox.registry_3.2.1.R32x_v20060814.jar"/>
			<pathelement path="../shared/org.apache.xerces_2.8.0.v200606131651/resolver.jar"/>
			<pathelement path="../shared/org.apache.xerces_2.8.0.v200606131651/xercesImpl.jar"/>
			<pathelement path="../shared/org.apache.xerces_2.8.0.v200606131651/xml-apis.jar"/>
			<pathelement path="../shared/org.eclipse.equinox.preferences_3.2.1.R32x_v20060717.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime.compatibility.registry_3.2.1.R32x_v20060907/@dot"/>
			<pathelement path="../shared/org.eclipse.core.contenttype_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime.compatibility.auth_3.2.0.v20060601.jar"/>
			<pathelement path="../shared/org.eclipse.swt_3.2.2.v3236b.jar"/>
			<pathelement path="../shared/org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar"/>
			<pathelement path="../shared/org.eclipse.jface_3.2.2.M20061214-1200.jar"/>
			<pathelement path="../shared/org.eclipse.core.commands_3.2.0.I20060605-1400.jar"/>
			<pathelement path="../shared/org.eclipse.ui.workbench_3.2.2.M20070119-0800.jar"/>
			<pathelement path="../shared/org.eclipse.ui.workbench.compatibility_3.2.0.I20060605-1400/@dot"/>
			<pathelement path="../shared/org.eclipse.ui.workbench.compatibility_3.2.0.I20060605-1400/compatibility.jar"/>
			<pathelement path="../shared/com.ibm.icu_3.4.5.20061213.jar"/>
			<pathelement path="../shared/org.eclipse.help_3.2.2.R322_v20061213.jar"/>
			<pathelement path="../shared/org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar"/>
			<pathelement path="../shared/org.eclipse.core.resources_3.2.2.R32x_v20061218.jar"/>
			<pathelement path="../shared/org.eclipse.core.resources.compatibility_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.resources.win32_3.2.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.runtime.compatibility_3.1.100.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.update.configurator_3.2.2.R32x_v20070111.jar"/>
			<pathelement path="../shared/org.eclipse.ant.core_3.1.100.v20060531.jar"/>
			<pathelement path="../shared/org.eclipse.core.variables_3.1.100.v20060605.jar"/>
			<pathelement path="../shared/org.eclipse.core.filesystem_1.0.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.core.filesystem.win32.x86_1.0.0.v20060603.jar"/>
			<pathelement path="../shared/org.eclipse.ui.console_3.1.100.v20060605.jar"/>
			<pathelement path="../shared/org.eclipse.jface.text_3.2.2.r322_v20070104.jar"/>
			<pathelement path="../shared/org.eclipse.text_3.2.0.v20060605-1400.jar"/>
			<pathelement path="../shared/org.eclipse.ui.workbench.texteditor_3.2.0.v20060605-1400.jar"/>
			<pathelement path="../shared/org.eclipse.ui.editors_3.2.1.r321_v20060721.jar"/>
			<pathelement path="../shared/org.eclipse.ui.ide_3.2.1.M20060915-1030.jar"/>
			<pathelement path="../shared/org.eclipse.ui.win32_3.2.0.I20060605-1400.jar"/>
			<pathelement path="../shared/org.eclipse.ui.views_3.2.1.M20060906-0800.jar"/>
			<pathelement path="../shared/org.eclipse.update.core_3.2.3.R32x_v20070118.jar"/>
			<pathelement path="../shared/org.eclipse.update.core.win32_3.2.2.R32x_v20061214.jar"/>
			<pathelement path="../shared/org.eclipse.update.ui_3.2.2.R32x_v20070111.jar"/>
			<pathelement path="../shared/org.eclipse.ui.forms_3.2.0.v20060602.jar"/>
			<pathelement path="../shared/org.eclipse.core.filebuffers_3.2.1.r321_v20060721.jar"/>
			<pathelement path="../shared/org.eclipse.ui.navigator_3.3.2.M20080207-0800.jar"/>
			<!-- <fileset dir="${lib.dir}">
				<include name="*.jar"/>
			</fileset> -->
		</path>
		<!-- compile the source code -->
		<javac destdir="${temp.folder}/@dot.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bundleBootClasspath}" source="${bundleJavacSource}" target="${bundleJavacTarget}"		>
			<compilerarg line="${compilerArg}" compiler="${build.compiler}"/>
			<classpath refid="@dot.classpath" />
			<src path="src/"			/>
		</javac>
		<!-- Copy necessary resources -->
		<copy todir="${temp.folder}/@dot.bin" failonerror="true" overwrite="false">
			<fileset dir="src/" excludes="**/*.java, **/package.htm*"			/>
		</copy>
		<mkdir dir="${build.result.folder}"/>
		<copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
			<fileset dir="${temp.folder}/@dot.bin"			/>
		</copy>
		<delete dir="${temp.folder}/@dot.bin"/>
	</target>

	<target name="src.zip" depends="init" unless="src.zip">
		<mkdir dir="${build.result.folder}"/>
		<zip destfile="${build.result.folder}/src.zip" filesonly="false" whenempty="skip" update="false">
			<fileset dir="src/" includes="**/*.java"			/>
		</zip>
	</target>

	<target name="build.jars" depends="init" description="Build all the jars for the plug-in: com.symbian.smt.gui.">
		<available property="@dot" file="${build.result.folder}/@dot"/>
		<antcall target="@dot"/>
	</target>

	<target name="build.sources" depends="init">
		<available property="src.zip" file="${build.result.folder}/src.zip"/>
		<antcall target="src.zip"/>
	</target>

	<target name="gather.bin.parts" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/com.symbian.smt.gui"/>
		<copy todir="${destination.temp.folder}/com.symbian.smt.gui" failonerror="true" overwrite="false">
			<fileset dir="${build.result.folder}/@dot" includes="**"			/>
		</copy>
		<copy todir="${destination.temp.folder}/com.symbian.smt.gui" failonerror="true" overwrite="false">
			<fileset dir="${basedir}" includes="META-INF/,plugin.xml,icons/"			/>
		</copy>
	</target>

	<target name="build.zips" depends="init">
	</target>

	<target name="gather.sources" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/com.symbian.smt.gui"/>
		<copy file="${build.result.folder}/src.zip" todir="${destination.temp.folder}/com.symbian.smt.gui" failonerror="false" overwrite="false"/>
	</target>

	<target name="gather.logs" depends="init" if="destination.temp.folder">
		<mkdir dir="${destination.temp.folder}/com.symbian.smt.gui_0.0.1"/>
		<copy file="${temp.folder}/@dot.bin${logExtension}" todir="${destination.temp.folder}/com.symbian.smt.gui" failonerror="false" overwrite="false"/>
	</target>

	<target name="clean" depends="init" description="Clean the plug-in: com.symbian.smt.gui of all the zips, jars and logs created.">
		<delete dir="${build.result.folder}/@dot"/>
		<delete file="${build.result.folder}/src.zip"/>
		<delete file="${plugin.destination}/com.symbian.smt.gui_${version}.jar"/>
		<delete file="${plugin.destination}/com.symbian.smt.gui_${version}.jar"/>
		<delete file="${plugin.temp.destination}/com.symbian.smt.gui_${version}.zip"/>
		<delete dir="${plugin.temp.destination}" />
		<delete dir="${temp.folder}"/>
	</target>

	<target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: com.symbian.smt.gui.">
		<delete dir="${temp.folder}"/>
		<mkdir dir="${temp.folder}"/>
		<antcall target="build.jars"/>
		<antcall target="build.sources"/>
		<antcall target="gather.bin.parts">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		<antcall target="gather.sources">
			<param name="destination.temp.folder" value="${temp.folder}/"/>
		</antcall>
		<delete>
			<fileset dir="${temp.folder}" includes="**/*.bin${logExtension}"			/>
		</delete>
		<zip destfile="${plugin.destination}/com.symbian.smt.gui_${version}.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false"/>
		<delete dir="${temp.folder}"/>
	</target>

	<target name="gather.results">
		<copy file="${coverage.dir}\smtgui_metadata.em" tofile="${destination.results.folder}\coverage\smtgui_metadata.em"/>
	</target>

</project>