blob: d6070c1de231e908bd62fa42a9bdb4a0dec5d853 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<project name="mylyn" default="all" basedir=".">
<property file="local.properties" />
<property file="defaults.properties" />
<import file="scripts/buildHelper.xml" />
<target name="all" depends="clean,build,standalone-tests,tests,performance-tests">
</target>
<target name="build" depends="init-build,init">
<antcall target="for-each-target">
<param name="call" value="mylyn-build-helper"/>
</antcall>
</target>
<target name="mylyn-build-helper">
<condition property="versionPostfix" value="e33" else="e3x"><equals arg1="${build.target}" arg2="3.3"/></condition>
<antcall target="build-helper">
<param name="build.extraBuildArgs" value="-DmylynQualifier=${qualifier}"/>
<param name="build.forceContextQualifier" value="${qualifier}-${versionPostfix}"/>
</antcall>
</target>
<target name="standalone-tests" depends="init">
<antcall target="for-each-target">
<param name="call" value="standalone-tests-helper"/>
</antcall>
</target>
<target name="standalone-tests-helper">
<property name="install.dir" value="${build.home}/standalone-tests" />
<delete dir="${install.dir}"/>
<antcall target="install-tests-helper"/>
<property name="timeout" value="3600000" />
<property name="eclipse.home" value="${eclipse.base}/test-${eclipse.sdk.version}/eclipse" />
<property name="vmargs" value=" -Xms40m -Xmx256m"/>
<property name="log" value="${build.results}/test-standalone-${build.target}.log" />
<path id="tests.classpath">
<fileset dir="${install.dir}">
<include name="plugins/**/*.jar"/>
<exclude name="plugins/**/ui*.jar"/>
</fileset>
<dirset dir="${install.dir}/plugins">
<include name="*"/>
<exclude name="*ui*"/>
</dirset>
<fileset dir="${eclipse.home}/plugins">
<include name="org.junit_*/junit.jar"/>
<include name="org.eclipse.core.jobs_*.jar"/>
<include name="org.eclipse.core.net_*.jar"/>
<include name="org.eclipse.core.runtime_*.jar"/>
<include name="org.eclipse.equinox.common_*.jar"/>
<include name="org.eclipse.osgi_*.jar"/>
<!--
<include name="*.jar"/>
-->
</fileset>
</path>
<property name="output.dir" value="${build.results}/test-${build.target}"/>
<mkdir dir="${output.dir}"/>
<echo message="Testing standalone ${version}.${qualifier} on Eclipse ${eclipse.sdk.version}" />
<junit printsummary="yes" haltonfailure="no"
failureproperty="junit_test_failed" fork="true" forkmode="once" maxmemory="256m">
<classpath>
<path refid="tests.classpath"/>
</classpath>
<sysproperty key="mylyn.credentials" value="${build.credentials}"/>
<formatter type="xml" />
<test todir="${output.dir}" name="org.eclipse.mylyn.tests.AllHeadlessStandaloneTests"/>
</junit>
</target>
<target name="pack" depends="init">
<antcall target="for-each-target">
<param name="call" value="pack-sites"/>
</antcall>
</target>
<target name="pack-sites" depends="init">
<antcall target="pack-helper">
<param name="dir" value="${build.home}/${build.target}/standardUpdateSite"/>
</antcall>
<antcall target="pack-helper">
<param name="dir" value="${build.home}/${build.target}/extrasUpdateSite"/>
</antcall>
<antcall target="pack-helper">
<param name="dir" value="${build.home}/${build.target}/incubatorUpdateSite"/>
</antcall>
</target>
<target name="generate-metadata" depends="init">
<antcall target="for-each-target">
<param name="call" value="generate-metadata-sites"/>
</antcall>
</target>
<target name="generate-metadata-sites" depends="init">
<antcall target="generate-metadata-helper">
<param name="dir" value="${build.home}/${build.target}/standardUpdateSite"/>
<param name="name" value="Mylyn Weekly for Eclipse ${build.target}"/>
</antcall>
<antcall target="generate-metadata-helper">
<param name="dir" value="${build.home}/${build.target}/extrasUpdateSite"/>
<param name="name" value="Mylyn Weekly Extras"/>
</antcall>
<antcall target="generate-metadata-helper">
<param name="dir" value="${build.home}/${build.target}/incubatorUpdateSite"/>
<param name="name" value="Mylyn Weekly Incubator"/>
</antcall>
</target>
<target name="publish" depends="init">
<antcall target="for-each-target">
<param name="call" value="publish-helper"/>
<param name="skip3.3" value="true"/>
<param name="skip3.5" value="true"/>
</antcall>
<antcall target="for-each-target">
<param name="call" value="publish-helper-standalone"/>
</antcall>
</target>
<target name="publish-helper">
<antcall target="publish-helper-run">
<param name="file" value="org.eclipse.mylyn.tests.AllTests.xml"/>
<param name="tag" value="[e${build.target}]"/>
</antcall>
<antcall target="publish-helper-run">
<param name="file" value="org.eclipse.mylyn.tests.AllPerformanceTests.xml"/>
<param name="tag" value="[e${build.target}-perf]"/>
</antcall>
</target>
<target name="publish-helper-standalone">
<antcall target="publish-helper-run">
<param name="file" value="TEST-*.xml"/>
<param name="tag" value="[stdl]"/>
</antcall>
</target>
<target name="publish-helper-run">
<path id="file.id">
<fileset dir="${build.results}">
<include name="test-${build.target}/${file}"/>
</fileset>
</path>
<property name="file.path" refid="file.id"/>
<condition property="file.available"><not><equals arg1="${file.path}" arg2="" trim="true"/></not></condition>
<antcall target="publish-helper-report"/>
</target>
<target name="publish-helper-report" if="file.available">
<java jar="${build.reporter.jar}" failonerror="false" fork="true" jvm="${build.reporter.jvm}">
<arg value="-config" />
<arg value="${build.reporter.config}" />
<arg value="-build" />
<arg value="${qualifier}"/>
<arg value="-tag"/>
<arg value="${tag}"/>
<arg value="${file.path}" />
</java>
</target>
<target name="dist" depends="init,pack,generate-metadata,copy-to-archive">
</target>
<target name="copy-to-archive">
<property name="dist.dir" value="${dist.home}/update-archive/${version}/${qualifier}" />
<copy todir="${dist.dir}/e3.3">
<fileset dir="${build.home}/3.3/standardUpdateSite"/>
</copy>
<copy todir="${dist.dir}/e3.4">
<fileset dir="${build.home}/3.4/standardUpdateSite"/>
</copy>
<copy todir="${dist.dir}/extras">
<fileset dir="${build.home}/3.4/extrasUpdateSite"/>
</copy>
<copy todir="${dist.dir}/incubator">
<fileset dir="${build.home}/3.4/incubatorUpdateSite"/>
</copy>
<copy tofile="${dist.dir}/mylyn-${version}.${qualifier}-e3.3.zip" file="${build.home}/3.3/mylyn-${version}.${qualifier}-e33-standard.zip" />
<copy tofile="${dist.dir}/mylyn-${version}.${qualifier}-e3.4.zip" file="${build.home}/3.4/mylyn-${version}.${qualifier}-e3x-standard.zip" />
<copy tofile="${dist.dir}/mylyn-${version}.${qualifier}-extras.zip" file="${build.home}/3.4/mylyn-${version}.${qualifier}-e3x-extras.zip" />
<copy tofile="${dist.dir}/mylyn-${version}.${qualifier}-incubator.zip" file="${build.home}/3.4/mylyn-${version}.${qualifier}-e3x-incubator.zip" />
<copy tofile="${dist.dir}/mylyn-wikitext-standalone-${version}.${qualifier}.zip" file="${build.home}/3.4/mylyn-wikitext-standalone-${version}.${qualifier}.zip" />
<antcall target="fix-permissions">
<param name="dir" value="${dist.dir}"/>
</antcall>
</target>
<target name="weekly" depends="clean,build,dist">
<antcall target="promote">
<param name="todir" value="weekly"/>
</antcall>
</target>
<target name="dev" depends="clean,build,dist">
<antcall target="promote">
<param name="todir" value="dev"/>
</antcall>
</target>
<target name="sign" depends="init,init-scripts">
<exec executable="bin/sign-update-site.sh" failonerror="true">
<arg value="${version}"/>
<arg value="${qualifier}"/>
</exec>
</target>
<target name="galileo" depends="clean,build,copy-to-archive,sign">
<!-- re-promote signed build -->
<antcall target="promote">
<param name="todir" value="weekly"/>
</antcall>
<antcall target="promote-main">
<param name="todir" value="galileo"/>
</antcall>
</target>
<target name="promote" depends="init">
<fail message="Required property 'todir' not set" unless="todir"/>
<property name="dist.dir" value="${dist.home}/update-archive/${version}/${qualifier}" />
<property name="target.dir" value="${dist.home}/update/${todir}" />
<delete dir="${target.dir}.old" />
<move file="${target.dir}" todir="${target.dir}.old" failonerror="false"/>
<copy todir="${target.dir}">
<fileset dir="${dist.dir}"/>
</copy>
<!-- not supported on build.eclipse.org
<move todir="${target.dir}">
<fileset dir="${target.dir}">
<include name="*.zip"/>
</fileset>
<mapper type="regexp" from="(.*)${version}.${qualifier}(.*)" to="\1latest\2"/>
</move>
-->
<move tofile="${target.dir}/mylyn-latest-e3.3.zip" file="${target.dir}/mylyn-${version}.${qualifier}-e3.3.zip" />
<move tofile="${target.dir}/mylyn-latest-e3.4.zip" file="${target.dir}/mylyn-${version}.${qualifier}-e3.4.zip" />
<move tofile="${target.dir}/mylyn-latest-extras.zip" file="${target.dir}/mylyn-${version}.${qualifier}-extras.zip" />
<move tofile="${target.dir}/mylyn-latest-incubator.zip" file="${target.dir}/mylyn-${version}.${qualifier}-incubator.zip" />
<move tofile="${target.dir}/mylyn-wikitext-standalone-latest.zip" file="${target.dir}/mylyn-wikitext-standalone-${version}.${qualifier}.zip" />
<antcall target="fix-permissions">
<param name="dir" value="${target.dir}"/>
</antcall>
</target>
<target name="promote-main" depends="init">
<fail message="Required property 'todir' not set" unless="todir"/>
<property name="dist.dir" value="${dist.home}/update-archive/${version}/${qualifier}" />
<property name="target.dir" value="${dist.home}/update/${todir}" />
<copy todir="${target.dir}">
<fileset dir="${dist.dir}">
<include name="mylyn-${version}.${qualifier}-e3.4.zip"/>
</fileset>
<fileset dir="${dist.dir}/e3.4"/>
</copy>
<antcall target="fix-permissions">
<param name="dir" value="${target.dir}"/>
</antcall>
</target>
<target name="update-versions">
<fail message="Use -DoldVersion=x.y.z to set old version." unless="oldVersion"/>
<replace dir="..">
<replacefilter
token="${oldVersion}.qualifier"
value="${version}.qualifier"/>
<replacefilter
token="${oldVersion}.mylynQualifier"
value="${version}.mylynQualifier"/>
<include name="org.eclipse.mylyn*/**/MANIFEST.MF"/>
<include name="org.eclipse.mylyn*/**/feature.xml"/>
</replace>
</target>
</project>