blob: 166262c3f10e5aab367d92b49d0f71d9b101d3ce [file] [log] [blame]
dacarver45ae9462009-12-30 00:51:36 +00001<project default="run" name="org.eclipse.wst.xml.xpath2.releng/build.xml - Run a PsychoPath build using the Athena CBI">
dacarvera2440ac2009-12-30 03:29:33 +00002 <!-- load properties and set timestamp for the build -->
dacarver60a270d2010-05-05 18:51:40 +00003
4 <property environment="env" />
5 <property name="WORKSPACE" location="${env.WORKSPACE}" />
6
7 <ant antfile="bootstrap.xml" target="init">
8 <property name="basebuilderTag" value="r35x_v20090811" />
9 <property name="commonrelengTag" value="HEAD" />
10 <property name="ANTCONTRIB_VERSION" value="1.0b2" />
11 <property name="ANT4ECLIPSE_VERSION" value="1.0.0.M3" />
12 <property name="build.properties" value="build.properties" />
13 </ant>
14
15 <!-- FIXME if required: Set a valid path to JAVA_HOME, if Eclipse's ${java.home}/../bin/javac cannot be found -->
16 <condition property="JAVA_HOME" value="${java.home}" else="${java.home}/..">
17 <available file="${java.home}/bin/javac" type="file" />
18 </condition>
19
20 <!-- FIXME if required: if not using this type of qualifier, comment next 4 lines -->
dacarvera2440ac2009-12-30 03:29:33 +000021 <tstamp>
22 <format property="buildTimestamp" pattern="yyyyMMddHHmm" />
23 </tstamp>
dacarver60a270d2010-05-05 18:51:40 +000024
25 <!-- 1. To build from sources using information in the ./maps/*.map files, comment these next two properties
26 2. Or, to build from sources in the workspace, use these properties. You can also use absolute paths if needed.
27 -->
28 <!-- <property name="localSourceCheckoutDir" value="${basedir}/.." />
29 <property name="relengBuilderDir" value="${basedir}" /> -->
30
31 <property name="build.properties" value="build.properties" />
32 <property file="${build.properties}" />
33
dacarvera2440ac2009-12-30 03:29:33 +000034 <property name="forceContextQualifier" value="v${buildTimestamp}" />
35 <property name="fetchTag" value="HEAD" />
dacarver60a270d2010-05-05 18:51:40 +000036
dacarvera2440ac2009-12-30 03:29:33 +000037 <!-- calculate workspaceDir as parent of this folder, the project's .releng folder (relengBuilderDir) -->
dacarver60a270d2010-05-05 18:51:40 +000038<!-- <property name="relengBuilderDir" value="${basedir}" /> -->
39 <import file="findbugs.xml" />
40 <import file="pmd.xml" />
dacarvera2440ac2009-12-30 03:29:33 +000041 <dirname file="${relengBuilderDir}" property="workspaceDir" />
dacarver45ae9462009-12-30 00:51:36 +000042
dacarvera2440ac2009-12-30 03:29:33 +000043 <!--
44 can build in /tmp, eg., in /tmp/build, or in workspace, eg.,
45 ${WORKSPACE}/build
46 -->
47 <property name="writableBuildRoot" value="/tmp/build" />
dacarver60a270d2010-05-05 18:51:40 +000048 <property name="sdkzipUrl" value="https://build.eclipse.org/hudson/job/cbi-wtp-inc.vex/ws/build/athena/" />
dacarver45ae9462009-12-30 00:51:36 +000049
dacarvera2440ac2009-12-30 03:29:33 +000050 <!--
51 can be simple path, eg.,
52 ${writableBuildRoot}/${buildType}${buildTimestamp} or longer, eg.,
53 ${writableBuildRoot}/${topprojectName}/${projectName}/downloads/drops/${version}/${buildType}${buildTimestamp} or
54 ${writableBuildRoot}/${topprojectName}/${projectName}/${subprojectName}/downloads/drops/${version}/${buildType}${buildTimestamp}
55 -->
56 <property name="buildDir" value="${writableBuildRoot}/athena" />
dacarver60a270d2010-05-05 18:51:40 +000057
dacarvera2440ac2009-12-30 03:29:33 +000058 <target name="init">
dacarver60a270d2010-05-05 18:51:40 +000059 <delete dir="${buildDir}" failonerror="false" />
dacarvera2440ac2009-12-30 03:29:33 +000060 </target>
dacarver45ae9462009-12-30 00:51:36 +000061
dacarvera2440ac2009-12-30 03:29:33 +000062 <target name="run" depends="init">
dacarver60a270d2010-05-05 18:51:40 +000063 <echo message="Workspace: ${WORKSPACE}" />
64 <echo message="Writable Build Root: ${writableBuildRoot}" />
65 <mkdir dir="${writableBuildRoot}" />
dacarver45ae9462009-12-30 00:51:36 +000066 <!-- invoke a new Eclipse process and launch the build from the common.releng folder -->
dacarver60a270d2010-05-05 18:51:40 +000067 <!--<property name="relengCommonBuilderDir" value="${workspaceDir}/org.eclipse.dash.common.releng" />-->
68
69 <condition property="JAVA_HOME" value="${java.home}" else="${java.home}/..">
70 <available file="${java.home}/bin/javac" type="file" />
71 </condition>
72
73 <!-- <ant antfile="${relengCommonBuilderDir}/buildAll.xml" target="runEclipse" dir="${relengCommonBuilderDir}" />-->
74 <ant antfile="${relengCommonBuilderDir}/build.xml" />
75
dacarver03759322010-05-09 13:31:58 +000076 <antcall target="findbugs" inheritall="true" />
dacarver60a270d2010-05-05 18:51:40 +000077 <cleanUpBuild />
dacarver03759322010-05-09 13:31:58 +000078 <antcall target="duplicateCode" inheritall="true" />
dacarver45ae9462009-12-30 00:51:36 +000079 </target>
dacarvera2440ac2009-12-30 03:29:33 +000080
dacarver60a270d2010-05-05 18:51:40 +000081 <macrodef name="cleanUpBuild">
82 <sequential>
83 <delete dir="${buildDir}/eclipse" failonerror="false" />
84 <delete dir="${buildDir}/testing" failonerror="false" />
85 <delete dir="${buildDir}/compilelogs" failonerror="false" />
86 <delete dir="${buildDir}/testResults/consolelogs" failonerror="false" />
87 <delete dir="${buildDir}/testResults/html" failonerror="false" />
88 <delete dir="${writableBuildRoot}/athena/findbugs" />
89 <delete dir="${writableBuildRoot}/athena/findbugsclasses" />
90 <delete>
91 <fileset dir="${buildDir}">
92 <include name="*AllFeatures*.zip*" />
93 <include name="*Master*.zip*" />
94 </fileset>
95 </delete>
96 </sequential>
97 </macrodef>
dacarvera2440ac2009-12-30 03:29:33 +000098
dacarver60a270d2010-05-05 18:51:40 +000099
100 <!-- =================================
dacarvera2440ac2009-12-30 03:29:33 +0000101 target: default
102 ================================= -->
dacarver60a270d2010-05-05 18:51:40 +0000103 <target name="findbugs" description="Run a find bugs analysis based on a ZIP file contents.">
dacarvere4d5b962009-12-30 03:38:49 +0000104 <patternset id="vex">
Florian Thienelea330512011-11-14 22:32:49 +0100105 <include name="eclipse/plugins/org.eclipse.vex.*.jar" />
dacarvera2440ac2009-12-30 03:29:33 +0000106 </patternset>
dacarver60a270d2010-05-05 18:51:40 +0000107 <getFindBugs downloadDir="${writableBuildRoot}/downloads" destDir="${writableBuildRoot}/3rdPartyJars/findbugs" />
108 <extractJarsForAnalysis src="${sdkzipUrl}${zipPrefix}-SDK${incubation}-${buildType}${buildTimestamp}.zip" refid="vex" />
109 <findBugs outputfile="${writableBuildRoot}/athena/fb-vex.xml" />
110 </target>
111
dacarvera2440ac2009-12-30 03:29:33 +0000112 <target name="duplicateCode" description="Run PMD duplicate code analysis">
dacarver60a270d2010-05-05 18:51:40 +0000113 <getPMD downloadDir="${writableBuildRoot}/downloads" destDir="${writableBuildRoot}/3rdPartyJars/pmd" />
114 <cpd outputfile="${writableBuildRoot}/athena/cpd-vex.xml" srcdir="${WORKSPACE}" />
dacarvera2440ac2009-12-30 03:29:33 +0000115 </target>
dacarver45ae9462009-12-30 00:51:36 +0000116</project>