Bug 549429 - Clean up build hacks after bug 535509
diff --git a/releng/build-scripts/bin/extractVersions b/releng/build-scripts/bin/extractVersions
index d2857af..ff05d62 100755
--- a/releng/build-scripts/bin/extractVersions
+++ b/releng/build-scripts/bin/extractVersions
@@ -46,6 +46,7 @@
 echo "Versions for run.properties:"
 echo "============================"
 echo "# Details of the Eclipse SDK built upon:"
+echo "run.eclipseScriptDir=plugins/${PDEBUILD_VERSION}/scripts"
 echo "org.eclipse.equinox.launcher_jar=${LAUNCHER_VERSION}"
 echo
 echo "# for patching our patch feature to match this version with any suffix:"
diff --git a/releng/build-scripts/build/otdt_prerequisites-hipp.sh b/releng/build-scripts/build/otdt_prerequisites-hipp.sh
index 72c8e5a..32e7851 100644
--- a/releng/build-scripts/build/otdt_prerequisites-hipp.sh
+++ b/releng/build-scripts/build/otdt_prerequisites-hipp.sh
@@ -55,15 +55,6 @@
 ARCH=`arch`
 
 # VERSIONS:
-# -- Boot:
-# used only locally (components of the ECLIPSE_BOOT_TGZ path):
-EVERSION_BOOT="4.11"
-DROP_BOOT=${DROPS4}/"R-4.11-201903070500"
-
-# EXPORT: archive file of the boot eclipse SDK build:
-ECLIPSE_BOOT_TGZ=${DROP_BOOT}/eclipse-SDK-${EVERSION_BOOT}-linux-gtk-${ARCH}.tar.gz
-
-# -- Base for testing: --
 # Eclipse SDK build identifier (used for substitution in otdt.map.in etc.):
 SDK_QUALIFIER=${SDK_QUALIFIER:="I20190711-1805"}
 
diff --git a/releng/build-scripts/build/otdt_runtests-hipp.sh b/releng/build-scripts/build/otdt_runtests-hipp.sh
index 3622e13..8cf4760 100755
--- a/releng/build-scripts/build/otdt_runtests-hipp.sh
+++ b/releng/build-scripts/build/otdt_runtests-hipp.sh
@@ -19,7 +19,6 @@
 # OT_TESTSUITE_DIR      root directory for building and testing
 # METADATA				directory for metadata from previous builds
 # SDK_QUALIFIER			build qualifier of the base eclipse SDK
-# ECLIPSE_BOOT_TGZ      archive file of the boot eclipse SDK build (full path)
 # ECLIPSE_SDK_TGZ       archive file of the base eclipse SDK build (full path)
 # ECLIPSE_TESTLIB_ZIP   archive file of the eclipse test framework (full path)
 # PUBLISHED_UPDATES 	directory of previously published plugins&features
@@ -35,7 +34,6 @@
 ## As Ant Arguments (from ANT_PROFILE):
 ##      -verbose                configure Ant
 ## As Java Properties:
-##      -Declipse-bot.tgz       path of boot eclipse SDK
 ##      -Declipse-app.tgz       path of eclipse SDK
 ##      -Declipse.tests.zip     path of eclipse test framework
 ##		-Dpublished.updates		path to previously published things
@@ -124,7 +122,6 @@
 
 # Assemble the Ant call:
 ANT_OPTIONS="${ANT_PROFILE} \
-    -Declipse-boot.tgz=${ECLIPSE_BOOT_TGZ} \
     -Declipse-app.tgz=${ECLIPSE_SDK_TGZ} \
     -Declipse.tests.zip=${ECLIPSE_TESTLIB_ZIP} \
     -Declipse.sdk.qualifier=${SDK_QUALIFIER} \
diff --git a/releng/build-scripts/build/p2helper.xml b/releng/build-scripts/build/p2helper.xml
index c6eb453..edb8631 100644
--- a/releng/build-scripts/build/p2helper.xml
+++ b/releng/build-scripts/build/p2helper.xml
@@ -35,7 +35,7 @@
                 dir="${targetEclipseDir}"
                 fork="true"
                 classname="org.eclipse.equinox.launcher.Main"
-                classpath="${targetEclipseDir}/plugins/${org.eclipse.equinox.launcher_jar}">
+                classpath="${bootLocation}/plugins/${org.eclipse.equinox.launcher_jar}"> <!-- ??? -->
             <jvmarg value="-Declipse.p2.MD5Check=false" />
             <arg value="-consoleLog"/>
             <arg value="-application"/>
@@ -46,73 +46,13 @@
             <arg value="file:${sourceUpdatesDir}" />
             <arg value="-installIU" />
             <arg value="${feature}" />
-        </java>
-    </target>
-
-    <target name="installFeatureFromUrl">
-        <echo message="Installing ${feature} from ${sourceUpdatesUrl} to ${targetEclipseDir}"/>
-        <java
-                inputstring=""
-                dir="${targetEclipseDir}"
-                fork="true"
-                classname="org.eclipse.equinox.launcher.Main"
-                classpath="${targetEclipseDir}/plugins/${org.eclipse.equinox.launcher_jar}">
-            <jvmarg value="-Declipse.p2.MD5Check=false" />
-            <arg value="-consoleLog"/>
-            <arg value="-application"/>
-            <arg value="org.eclipse.equinox.p2.director"/>
-            <arg value="-metadataRepository" />
-            <arg value="${sourceUpdatesUrl}" />
-            <arg value="-artifactRepository" />
-            <arg value="${sourceUpdatesUrl}" />
-            <arg value="-installIU" />
-            <arg value="${feature}" />
-        </java>
-    </target>
-
-    <target name="tagState">
-        <echo message="Tagging installation state as ${tagName}"/>
-        <java
-                inputstring=""
-                dir="${targetEclipseDir}"
-                fork="true"
-                classname="org.eclipse.equinox.launcher.Main"
-                classpath="${targetEclipseDir}/plugins/${org.eclipse.equinox.launcher_jar}">
-            <jvmarg value="-Declipse.p2.MD5Check=false" />
-            <arg value="-consoleLog"/>
-            <arg value="-application"/>
-            <arg value="org.eclipse.equinox.p2.director"/>
-            <arg value="-tag" />
-            <arg value="${tagName}" />
-        </java>
-    </target>
-
-    <target name="revert">
-        <echo message="Reverting installation to tag ${tagName}"/>
-        <java
-                inputstring=""
-                dir="${targetEclipseDir}"
-                fork="true"
-                classname="org.eclipse.equinox.launcher.Main"
-                classpath="${targetEclipseDir}/plugins/${org.eclipse.equinox.launcher_jar}">
-            <jvmarg value="-Declipse.p2.MD5Check=false" />
-            <arg value="-consoleLog"/>
-            <arg value="-application"/>
-            <arg value="org.eclipse.equinox.p2.director"/>
-            <arg value="-revert" />
-            <arg value="${tagName}" />
+        	<arg value="-destination" />
+        	<arg value="${targetEclipseDir}" />
         </java>
     </target>
 
     <target name="installOTDT">
     	<echo message="Installing the OTDT from ${otdtUpdatesDir} into ${test.eclipseDir}"/>
-        <!-- to simulate update -->
-    	<!--
-        <antcall target="revert">
-            <param name="tagName" value="beforePatch"/>
-            <param name="targetEclipseDir" value="${test.eclipseDir}"/>
-        </antcall>
-        -->
         <antcall target="installFeature">
             <param name="feature" value="org.eclipse.objectteams.otequinox.feature.group"/>
             <param name="sourceUpdatesDir" value="${otdtUpdatesDir}"/>
diff --git a/releng/build-scripts/build/run.properties b/releng/build-scripts/build/run.properties
index e569b7b..e2d4de3 100644
--- a/releng/build-scripts/build/run.properties
+++ b/releng/build-scripts/build/run.properties
@@ -18,10 +18,8 @@
 # Version dependent names:
 
 # ------------- insert current versions here ---------------
-# Details of the boot Eclipse SDK:
-run.eclipseScriptDir=plugins/org.eclipse.pde.build_3.10.300.v20190305-0856/scripts
-boot.org.eclipse.equinox.launcher_jar=org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar
 # Details of the Eclipse SDK built upon:
+run.eclipseScriptDir=plugins/org.eclipse.pde.build_3.10.500.v20190620-0530/scripts
 org.eclipse.equinox.launcher_jar=org.eclipse.equinox.launcher_1.5.500.v20190620-1700.jar
 
 # for patching our patch feature to match this version with any suffix:
diff --git a/releng/build-scripts/build/run.xml b/releng/build-scripts/build/run.xml
index 2caa563..3b83ed8 100644
--- a/releng/build-scripts/build/run.xml
+++ b/releng/build-scripts/build/run.xml
@@ -15,8 +15,6 @@
 			description="Show values of all properties that should be passed from our caller.">
 		<echo>Properties passed into this script:
 ------------------------------------------------------------------------------
-path of boot eclipse SDK:
-		eclipse-boot.tgz  = ${eclipse-boot.tgz}
 path of base eclipse SDK:
 		eclipse-app.tgz  = ${eclipse-app.tgz}
 eclipse SDK build qualifier:
@@ -67,8 +65,6 @@
 			<property name="baseLocation"   	value="${test.eclipseDir}" />
 
 		<!--	directories for update sites: -->
-		<!-- TODO: extract compilerUpdatesDir to prerequisistes? -->
-		<property name="compilerUpdatesDir"     value="http://download.eclipse.org/objectteams/updates/ot2.7/compiler"/>
 		<property name="otdtUpdatesDir" 		value="${user.dir}/updateSite"/>
 		<property name="testsUpdatesDirBase" 	value="${user.dir}/updateSiteTests"/>
 			<!-- will have sub directories "eclipse" and "otdt" -->
@@ -146,7 +142,6 @@
 	<target name="ot-junit-build" depends="setupProperties,checkOS" description="build everything without running tests">
 		<echo message="Starting BuildProcess in ${build.root.dir}"/>
 		<antcall target="verifyAntInstall"/>
-		<antcall target="createOTDTEclipse"/>
 		<antcall target="setupTests" />
 	</target>
 
@@ -215,11 +210,16 @@
 	</target>
 
 	<target name="UnzipEclipse">
-		<echo message="Extracting Boot Eclipse (${eclipse-boot.tgz}) in ${build.root.dir}..."/>
+		<echo message="Extracting Boot Eclipse (${eclipse-app.tgz}) in ${build.root.dir}..."/>
 		<mkdir dir="${build.root.dir}"/>
-		<untar compression="gzip" src="${eclipse-boot.tgz}" dest="${build.root.dir}"/>
+		<untar compression="gzip" src="${eclipse-app.tgz}" dest="${build.root.dir}"/>
+		<echo message="Extracting Base Eclipse (${eclipse-app.tgz}) in ${test.root.dir}..."/>
 		<mkdir dir="${test.root.dir}"/>
 		<untar compression="gzip" src="${eclipse-app.tgz}" dest="${test.root.dir}"/>
+		<!-- avoid conflict with OTDT-variant when resolving source plug-ins against baseLocation: -->
+		<delete>
+		    <fileset dir="${baseLocation}/plugins/" includes="org.eclipse.jdt.core_*.v* org.eclipse.jdt.core.source_*.v*" />
+		</delete>
 	</target>
 	
 	<target name="AddPluginsToEclipse" description="Add git.pde.build plugins to the boot Eclipse">
@@ -232,28 +232,13 @@
 	<!-- ==== BUILD STAGE 1: ==== -->
 	<!-- setting an empty inputstring is a workaround for http://issues.apache.org/bugzilla/show_bug.cgi?id=34461 -->
 	<target name="createOTCompilerEclipse" depends="setupForCompile" description="create the bootstrapping Eclipse with OT/J compiler">
-		<echo message="Install the previous compiler into boot eclipse"/>
-<!-- Re-use the compiler from the previous published build: -->
-        <ant antfile="${OTScriptDir}/p2helper.xml" target="installFeatureFromUrl" dir="${bootLocation}">
-            <property name="feature" value="org.eclipse.objectteams.otdt.core.patch.feature.group"/>
-            <property name="sourceUpdatesUrl" value="${compilerUpdatesDir}"/>
-            <property name="targetEclipseDir" value="${bootLocation}"/>
-        	<property name="org.eclipse.equinox.launcher_jar" value="${boot.org.eclipse.equinox.launcher_jar}"/>
-        </ant>
-		<delete>
-		    <fileset dir="${bootLocation}/plugins/" includes="org.eclipse.jdt.core_*.v* org.eclipse.jdt.core.source_*.v*" />
-		</delete>
-		<delete>
-		    <fileset dir="${baseLocation}/plugins/" includes="org.eclipse.jdt.core_*.v* org.eclipse.jdt.core.source_*.v*" />
-		</delete>
-
 		<echo message="Invoke pdebuild for creating the base new OT-Compiler"/>
         <java
 	        inputstring=""
 	        dir="${baseLocation}" 
 	        fork="true" 
 	        classname="org.eclipse.equinox.launcher.Main"
-	        classpath="${bootLocation}/plugins/${boot.org.eclipse.equinox.launcher_jar}">
+	        classpath="${bootLocation}/plugins/${org.eclipse.equinox.launcher_jar}">
 	            <arg value="-Dosgi.ws=${ws}"/>
 	            <arg value="-Dosgi.os=${os}"/>
 	            <arg value="-Dosgi.arch=${arch}"/>
@@ -285,18 +270,16 @@
 	            <!--arg value="-verbose" /-->
 	            <jvmarg value="${vm.args}"/>
         </java>
-		<!-- Now we should have an update site with the patch feature, time to install it into base: -->
-<!--
-        <ant antfile="${OTScriptDir}/p2helper.xml" target="tagState" dir="${baseLocation}">
-            <property name="tagName" value="beforePatch"/>
-            <property name="targetEclipseDir" value="${baseLocation}"/>
-        </ant>
-        <ant antfile="${OTScriptDir}/p2helper.xml" target="installFeature" dir="${baseLocation}">
+		<!-- Now we should have an update site with the patch feature, time to install it into the boot eclipse: -->
+        <ant antfile="${OTScriptDir}/p2helper.xml" target="installFeature" dir="${bootLocation}">
             <property name="feature" value="org.eclipse.objectteams.otdt.core.patch.feature.group"/>
             <property name="sourceUpdatesDir" value="${otdtUpdatesDir}"/>
-            <property name="targetEclipseDir" value="${baseLocation}"/>
+            <property name="targetEclipseDir" value="${bootLocation}"/>
         </ant>
--->
+		<!-- make space for next stage of building, avoid duplicate jdt.core plugins from stages 1 & 2 -->
+		<delete includeemptydirs="true">
+		    <fileset dir="${otdtUpdatesDir}" includes="**"/>
+		</delete>
     </target>
 
 	<!-- ==== BUILD STAGE 2: ==== -->
@@ -304,7 +287,7 @@
 	<target name="createOTDTEclipse" depends="createOTCompilerEclipse" unless="_hasCreatedOTDTEclipse">
 		
         <!-- Make org.eclipse.test.performance available while compiling test projects: -->
-        <echo message="Pre-installing Eclipse Test Framework into OTCompilerEclipse..."/>
+        <echo message="Pre-installing Eclipse Test Framework into base Eclipse..."/>
         <mkdir dir="${testsUpdatesDirBase}/eclipse"/>
         <unzip dest="${testsUpdatesDirBase}/eclipse" src="${eclipse.tests.zip}"/> 
         <ant antfile="${OTScriptDir}/p2helper.xml" target="installFeature" dir="${baseLocation}">
@@ -314,9 +297,9 @@
         </ant>
 		
 		<!-- pre-load updateSite with published releases: -->
+<!-- don't use previous artifacts during the transition to OTDRE:
         <mkdir dir="${otdtUpdatesDir}/plugins"/>
         <mkdir dir="${otdtUpdatesDir}/features"/>
-<!-- don't use previous artifacts during the transition to OTDRE:
         <exec executable="/bin/sh">
                 <arg value="-c"/>
                 <arg value="ln -s ${published.updates}/features/* ${otdtUpdatesDir}/features/"/>
@@ -341,7 +324,7 @@
 			dir="${bootLocation}" 
 			fork="true" 
 			classname="org.eclipse.equinox.launcher.Main"
-			classpath="${bootLocation}/plugins/${boot.org.eclipse.equinox.launcher_jar}">
+			classpath="${bootLocation}/plugins/${org.eclipse.equinox.launcher_jar}">
 				<arg value="-clean"/>
 				<arg value="-Dosgi.ws=${ws}"/>
 				<arg value="-Dosgi.os=${os}"/>
diff --git a/releng/build-scripts/build/test.xml b/releng/build-scripts/build/test.xml
index 64b3c2b..ebf4083 100644
--- a/releng/build-scripts/build/test.xml
+++ b/releng/build-scripts/build/test.xml
@@ -32,11 +32,9 @@
 	</target>

 

 	<target name="setupOTDTEclipse" depends="checkFlags" unless="otdt-eclipse.is.setup"

-		description="Creates the SUT by extracting a fresh Eclipse SDK and installing the OTDT into it"

+		description="Creates the SUT by and installing the OTDT into a pre-installed base Eclipse"

 	>

-		<echo message="### Build Test Eclipse ###"/>

-

-		<echo message="Installing OTDT..."/>

+		<echo message="Installing OTDT into Test Eclipse..."/>

 		<ant antfile="${OTScriptDir}/p2helper.xml" target="installOTDT" dir="${test.eclipseDir}"/>

 		

 		<property name="otdt-eclipse.is.setup" value="true"/>