| <project |
| default="main" |
| basedir="."> |
| |
| <!-- |
| Required inputs: |
| |
| build.home |
| buildType |
| buildId |
| timestamp |
| env.BASEOS |
| env.BASEWS |
| env.BASEARCH |
| build.stream [optional] |
| build.committers [optional] |
| wtp.dir [optional] |
| --> |
| |
| <!-- Note to be cross-platform, "environment variables" are only appropriate for |
| some variables, e.g. ones we set, since properties are case sensitive, even if |
| the environment variables on your operating system are not, e.g. it will |
| be ${env.Path} not ${env.PATH} on Windows --> |
| <property environment="env" /> |
| |
| <target name="main"> |
| <property |
| file="${build.home}/${env.RELENG_BUILDER}/build.properties" /> |
| <property |
| name="apiRoot" |
| value="${build.home}/adopterScanRoot" /> |
| <delete |
| dir="${apiRoot}" |
| failonerror="false" /> |
| <mkdir dir="${apiRoot}" /> |
| <antcall target="getReleng" /> |
| <property |
| file="${apiRoot}/${env.RELENG}/maps/dependencies.properties" /> |
| <property |
| name="local.cache.dir" |
| value="${env.LOCAL_PREREQS_CACHE}" /> |
| <property |
| name="wtp.dir" |
| value="${local.cache.dir}" /> |
| <property |
| name="install.destination" |
| value="${apiRoot}" /> |
| <antcall target="getDependencies" /> |
| <condition |
| property="wtp-sdk" |
| value="wtp-sdk-${buildId}.zip" |
| else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip"> |
| <available file="${wtp.dir}/wtp-sdk-${buildId}.zip" /> |
| </condition> |
| <antcall target="run" /> |
| <antcall target="upload" /> |
| <antcall target="clean" /> |
| </target> |
| |
| <target name="getReleng"> |
| <property |
| name="releng.tag" |
| value="v${buildType}${timestamp}" /> |
| <cvs |
| cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools" |
| package="${env.RELENG}" |
| dest="${apiRoot}" |
| command="export" |
| tag="${releng.tag}" |
| quiet="${env.CVS_QUIET}" |
| reallyquiet="${env.CVS_REALLY_QUIET}" /> |
| </target> |
| |
| <target name="getDependencies"> |
| <condition property="isLinux"> |
| <equals |
| arg1="${baseos}" |
| arg2="linux" /> |
| </condition> |
| <antcall target="getAndInstall"> |
| <param |
| name="groupId" |
| value="eclipse" /> |
| </antcall> |
| <antcall target="getAndInstall"> |
| <param |
| name="groupId" |
| value="emf" /> |
| </antcall> |
| <antcall target="getAndInstall"> |
| <param |
| name="groupId" |
| value="gef" /> |
| </antcall> |
| <antcall target="getAndInstall"> |
| <param |
| name="groupId" |
| value="dtp" /> |
| </antcall> |
| <!-- this appears to be pretty explict hard coding for windows machines. |
| I wonder why the usual "get dependencies" methods would not work? |
| --> |
| <antcall target="get"> |
| <param |
| name="groupId" |
| value="eclipse" /> |
| <param |
| name="baseos" |
| value="win32" /> |
| <param |
| name="basews" |
| value="win32" /> |
| <param |
| name="basearch" |
| value="x86" /> |
| </antcall> |
| <antcall target="getAndInstallWTP"> |
| <param |
| name="file" |
| value="wtp-sdk-${buildId}.zip" /> |
| </antcall> |
| <antcall target="getAndInstallWTP"> |
| <param |
| name="file" |
| value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip" /> |
| </antcall> |
| <delete file="${local.cache.dir}/wtp-apiscanner.zip" /> |
| <get |
| src="http://download.eclipse.org/webtools/downloads/wtp-apiscanner.zip" |
| dest="${local.cache.dir}/wtp-apiscanner.zip" /> |
| <unzip |
| src="${local.cache.dir}/wtp-apiscanner.zip" |
| dest="${apiRoot}" /> |
| |
| <!-- get path to equinox jar inside ${eclipse.home} folder (copy/rename actual jar) --> |
| <copy |
| failonerror="false" |
| tofile="${apiRoot}/eclipse/startup.jar"> |
| <fileset |
| dir="${apiRoot}/eclipse/plugins" |
| includes="**/org.eclipse.equinox.launcher_*.jar" /> |
| </copy> |
| </target> |
| |
| <target name="getAndInstall"> |
| <property |
| name="dependencyTargets" |
| value="${build.home}/${env.RELENG_BUILDER}/scripts/dependency/build.xml" /> |
| <ant |
| antfile="${dependencyTargets}" |
| target="checkDependency"> |
| <property |
| name="groupId" |
| value="${groupId}" /> |
| </ant> |
| <ant |
| antfile="${dependencyTargets}" |
| target="installDependency"> |
| <property |
| name="groupId" |
| value="${groupId}" /> |
| </ant> |
| </target> |
| |
| <target name="get"> |
| <property |
| name="dependencyTargets" |
| value="${build.home}/${env.RELENG_BUILDER}/scripts/dependency/build.xml" /> |
| <ant |
| antfile="${dependencyTargets}" |
| target="checkDependency"> |
| <property |
| name="groupId" |
| value="${groupId}" /> |
| </ant> |
| </target> |
| |
| <target name="getAndInstallWTP"> |
| <available |
| file="${wtp.dir}/${file}" |
| property="file.exists" /> |
| <antcall target="getWTP" /> |
| <available |
| file="${wtp.dir}/${file}" |
| property="file.exists" /> |
| <antcall target="installWTP" /> |
| </target> |
| |
| <target name="getWTP"> |
| <condition |
| property="file.url.1" |
| value="http://download.eclipse.org/webtools/committers" |
| else="http://download.eclipse.org/webtools/downloads"> |
| <isset property="build.committers" /> |
| </condition> |
| <condition |
| property="file.url" |
| value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}" |
| else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}"> |
| <isset property="build.stream" /> |
| </condition> |
| <antcall target="getWTP2" /> |
| </target> |
| |
| <target |
| name="getWTP2" |
| unless="file.exists"> |
| <property |
| name="file.url" |
| value="http://download.eclipse.org/webtools/downloads/drops/${build.stream}/${buildType}-${buildId}-${timestamp}" /> |
| <mkdir dir="${wtp.dir}" /> |
| <get |
| dest="${wtp.dir}/${file}" |
| src="${file.url}/${file}" |
| ignoreerrors="true" /> |
| </target> |
| |
| <target |
| name="installWTP" |
| if="file.exists"> |
| <unzip |
| src="${wtp.dir}/${file}" |
| dest="${install.destination}" |
| overwrite="true" /> |
| </target> |
| |
| <target name="run"> |
| <cvs |
| cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools" |
| package="releng.wtptools/api/adopter_usages" |
| dest="${apiRoot}" |
| command="export" |
| tag="HEAD" |
| quiet="${env.CVS_QUIET}" |
| reallyquiet="${env.CVS_REALLY_QUIET}" /> |
| <mkdir dir="${apiRoot}/adopters" /> |
| <antcall target="runEclipseApp"> |
| <param |
| name="application" |
| value="org.eclipse.wtp.releng.tools.component.core.APIRefCompatibilityScanner" /> |
| <param |
| name="vmargs" |
| value="-Dsrc=${local.cache.dir}/${wtp-sdk},${local.cache.dir}/${eclipse.file.win32-win32-x86},${local.cache.dir}/${emf.file},${local.cache.dir}/${gef.file},${local.cache.dir}/${dtp.file} -Duse=${apiRoot}/releng.wtptools/api/adopter_usages -DoutputDir=${apiRoot}/adopters -Xmx512M" /> |
| </antcall> |
| <copy |
| tofile="${apiRoot}/apiresults/api-ref-compatibility.html" |
| file="${apiRoot}/adopters/api-ref-compatibility.html" /> |
| <copy |
| tofile="${apiRoot}/apiresults/api-ref-compatibility.xml" |
| file="${apiRoot}/adopters/api-ref-compatibility.xml" /> |
| </target> |
| |
| <target name="runEclipseApp"> |
| <property |
| name="vmargs" |
| value="" /> |
| <java |
| jar="${apiRoot}/eclipse/startup.jar" |
| fork="true" |
| failonerror="true" |
| timeout="3600000" |
| dir="${apiRoot}"> |
| <jvmarg value="-Dosgi.ws=${env.BASEWS}" /> |
| <jvmarg value="-Dosgi.os=${env.BASEOS}" /> |
| <jvmarg value="-Dosgi.arch=${env.BASEARCH}" /> |
| <jvmarg value="-Xmx512M" /> |
| <jvmarg line="${vmargs}" /> |
| <arg value="-application" /> |
| <arg value="${application}" /> |
| </java> |
| </target> |
| |
| <target |
| name="upload" |
| if="login"> |
| <mkdir dir="${build.home}/archives" /> |
| <zip |
| destfile="${build.home}/archives/${buildType}-${buildId}-${timestamp}.zip" |
| basedir="${apiRoot}/apiresults" /> |
| <condition |
| property="upload.path.1" |
| else="${login}@build.eclipse.org:~/downloads/webtools/downloads" |
| value="${login}@build.eclipse.org:~/downloads/webtools/committers"> |
| <isset property="build.committers" /> |
| </condition> |
| <condition |
| property="upload.path" |
| else="${upload.path.1}/drops/${buildType}-${buildId}-${timestamp}" |
| value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"> |
| <isset property="build.stream" /> |
| </condition> |
| <exec |
| executable="scp" |
| dir="${build.home}"> |
| <arg line="-r ./adopterScanRoot/apiresults ${upload.path}" /> |
| </exec> |
| </target> |
| |
| <target |
| name="clean" |
| if="clean"> |
| <delete failonerror="false"> |
| <fileset |
| dir="${env.LOCAL_PREREQS_CACHE}" |
| includes="wtp-*" /> |
| </delete> |
| </target> |
| |
| </project> |