configure to build against SDK 4.2RC3 plus extend the script to
more easily create these changes in the future.
diff --git a/features/org.eclipse.objectteams.otdt.core.patch/feature.xml b/features/org.eclipse.objectteams.otdt.core.patch/feature.xml
index c534d82..8510077 100644
--- a/features/org.eclipse.objectteams.otdt.core.patch/feature.xml
+++ b/features/org.eclipse.objectteams.otdt.core.patch/feature.xml
@@ -59,7 +59,7 @@
    </url>
 
    <requires>
-      <import feature="org.eclipse.jdt" version="3.8.0.v20120523-1245-8-8nFqlFNOfwKDREz0iYJiRsBC83" patch="true"/>
+      <import feature="org.eclipse.jdt" version="3.8.0.v20120525-1249-8-8nFqlFNOfwKDRF3dXMdHyBC834" patch="true"/>
    </requires>
 
    <plugin
diff --git a/releng/build-scripts/bin/extractVersions b/releng/build-scripts/bin/extractVersions
index d348abb..f676dc5 100755
--- a/releng/build-scripts/bin/extractVersions
+++ b/releng/build-scripts/bin/extractVersions
@@ -1,9 +1,102 @@
 #!/bin/sh
 
+if [ ! -d $1 ]
+then
+	echo "Not a directory: $1"
+	exit 1
+fi
+
+SDK=`ls $1/eclipse-SDK*linux-gtk.tar.gz`
+if [ ! -r $SDK ]
+then
+        echo "Can't read SDK from $SDK"
+        exit 1
+fi
+
 PDEBUILD=eclipse/plugins/org.eclipse.pde.build_.*/about.html
 LAUNCHER=eclipse/plugins/org.eclipse.equinox.launcher_
 JDTFEATURE=eclipse/features/org.eclipse.jdt_.*/feature.xml
-JDTCORE=eclipse/plugins/org.eclipse.jdt.core_
 
-tar tzvf $1 | egrep "${PDEBUILD}|${LAUNCHER}|${JDTCORE}|${JDTFEATURE}"
+for VERSION in `tar tzvf $SDK | egrep "${PDEBUILD}|${LAUNCHER}|${JDTFEATURE}" | sed -e "s#.*eclipse/[^/]*/\([^/]*\).*#\1#"`
+do
+	case $VERSION in
+		org.eclipse.pde.build*)
+			PDEBUILD_VERSION=$VERSION
+			;;
+		org.eclipse.jdt*)
+			JDT_VERSION_ALL=`echo $VERSION|grep jdt | sed -e 's/org.eclipse.jdt_\(.*\)/\1/'`
+			JDT_VERSIONA=`echo ${JDT_VERSION_ALL}| sed -e 's/\([0-9]\.[0-9]\.[0-9]\.[^-]*-\)[0-9]\{4\}.*/\1/'`
+			JDT_VERSIONB=`echo ${JDT_VERSION_ALL}| sed -e   's/[0-9]\.[0-9]\.[0-9]\.[^-]*-\([0-9]\{4\}\).*/\1/'`
+			JDT_VERSIONB_NEXT=`expr $JDT_VERSIONB + 1`
+			;;
+		org.eclipse.equinox.launcher*)
+			LAUNCHER_VERSION=$VERSION
+			;;
+	esac
+done
+
+echo "Versions for run.properties:"
+echo "============================"
+echo "# Details of the Eclipse SDK build 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:"
+echo "jdt.feature.version=${JDT_VERSIONA}${JDT_VERSIONB}"
+echo "jdt.feature.version.next=${JDT_VERSIONA}${JDT_VERSIONB_NEXT}"
+
+echo
+echo "Version for org.eclipse.objectteams.otdt.core.patch.feature:"
+echo "============================================================"
+echo "      <import feature=\"org.eclipse.jdt\" version=\"${JDT_VERSION_ALL}\" patch=\"true\"/>"
+
+MAP=$1/directory.txt
+if [ ! -r $MAP ]
+then
+        echo "Can't read map from $MAP"
+        exit 1
+fi
+
+echo
+echo "Snippet for otdt.map :"
+echo "======================"
+
+for p in org.eclipse.jdt.core.tests.builder \
+                 org.eclipse.jdt.debug.tests \
+                 org.eclipse.jdt.ui.tests \
+                 org.eclipse.jdt.ui.tests.refactoring \
+                 org.eclipse.jdt.text.tests \
+                 org.eclipse.jface.text.tests \
+                 org.eclipse.text.tests \
+                 org.eclipse.core.filebuffers.tests
+do
+        grep $p= $MAP
+done
+echo "======================"
+
+echo "Snippet for build/test.properties :"
+echo "==================================="
+
+#define x.y.z versions (but replace . with _ since bash can't handle . in variable names):
+org_eclipse_jdt_core_tests_builder=3.8.1
+org_eclipse_test_performance=3.7.0
+org_eclipse_jdt_debug_tests=3.8.0
+org_eclipse_jdt_ui_tests=3.8.0
+org_eclipse_jdt_ui_tests_refactoring=3.8.0
+# currently no version qualifier:
+#org_eclipse_jdt_core_tests_compiler
+#org_eclipse_jdt_core_tests_model
+
+for p in org.eclipse.jdt.core.tests.builder \
+                org.eclipse.jdt.debug.tests \
+                org.eclipse.jdt.ui.tests \
+                org.eclipse.jdt.ui.tests.refactoring \
+                org.eclipse.test.performance
+do
+        qual=`grep $p= $MAP | sed -e "s|^.*=GIT,tag=\(.*\),repo=git.*$|\1|"`
+        r=`echo $p | tr "." "_"`
+        echo $p=${p}_${!r}.${qual}
+done
+
+echo "==================================="
 
diff --git a/releng/build-scripts/build/otdt_prerequisites.sh b/releng/build-scripts/build/otdt_prerequisites.sh
index d3497b5..6355999 100644
--- a/releng/build-scripts/build/otdt_prerequisites.sh
+++ b/releng/build-scripts/build/otdt_prerequisites.sh
@@ -48,11 +48,11 @@
 
 # VERSIONS:
 # Eclipse SKD build identifier:
-EVERSION=4.2RC2
+EVERSION=4.2RC3
 # Architecture (as used by OSGi):
 ARCH=`arch`
 # used only locally:
-DROP=${BASEDIR}/drops4/S-4.2RC2-201205242100
+DROP=${BASEDIR}/drops4/S-4.2RC3-201205311500
 
 
 # EXPORT: archive file of the base eclipse SDK build:
diff --git a/releng/build-scripts/build/run.properties b/releng/build-scripts/build/run.properties
index a7c58d0..f35d0e7 100644
--- a/releng/build-scripts/build/run.properties
+++ b/releng/build-scripts/build/run.properties
@@ -20,13 +20,15 @@
 
 # Version dependent names:
 
+# ------------- insert current versions here ---------------
 # Details of the Eclipse SDK build upon:
 run.eclipseScriptDir=plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/scripts
 org.eclipse.equinox.launcher_jar=org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
 
 # for patching our patch feature to match this version with any suffix:
-jdt.feature.version=3.8.0.v20120523-1245
-jdt.feature.version.next=3.8.0.v20120523-1246
+jdt.feature.version=3.8.0.v20120525-1249
+jdt.feature.version.next=3.8.0.v20120525-1250
+# -----------------------------------------------------------
 
 #Git Support for PDE BUILD:
 # (Note: this file must be provided in ${OTScriptDir}/lib)
diff --git a/releng/build-scripts/build/test.properties b/releng/build-scripts/build/test.properties
index f3fcc6d..5a5ac1d 100644
--- a/releng/build-scripts/build/test.properties
+++ b/releng/build-scripts/build/test.properties
@@ -3,10 +3,10 @@
 # pasted output from processSDKmap.sh:
 # ----
 org.eclipse.jdt.core.tests.builder=org.eclipse.jdt.core.tests.builder_3.8.1.v20120523-1238
-org.eclipse.jdt.debug.tests=org.eclipse.jdt.debug.tests_3.8.0.v20120523-1953
-org.eclipse.jdt.ui.tests=org.eclipse.jdt.ui.tests_3.8.0.v20120523-1257
+org.eclipse.jdt.debug.tests=org.eclipse.jdt.debug.tests_3.8.0.v20120531-0709
+org.eclipse.jdt.ui.tests=org.eclipse.jdt.ui.tests_3.8.0.v20120529-1035
 org.eclipse.jdt.ui.tests.refactoring=org.eclipse.jdt.ui.tests.refactoring_3.8.0.v20120523-1257
-org.eclipse.test.performance=org.eclipse.test.performance_3.7.0.v20120301-1420
+org.eclipse.test.performance=org.eclipse.test.performance_3.7.0.v20120528-1648
 # ----
 
 # tests referenced without version qualifier:
diff --git a/releng/map/otdt.map b/releng/map/otdt.map
index 789b8e0..5a1d77f 100644
--- a/releng/map/otdt.map
+++ b/releng/map/otdt.map
@@ -62,10 +62,10 @@
 !-- Tests fetched from original CVS (some are required indirectly by jdt.ui.tests): --

 !   (these lines are generated from SDK map file using processSDKmap.sh)

 plugin@org.eclipse.jdt.core.tests.builder=GIT,tag=v20120523-1238,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git,path=org.eclipse.jdt.core.tests.builder

-plugin@org.eclipse.jdt.debug.tests=GIT,tag=v20120523-1953,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.debug.git,path=org.eclipse.jdt.debug.tests

-plugin@org.eclipse.jdt.ui.tests=GIT,tag=v20120523-1257,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git,path=org.eclipse.jdt.ui.tests

+plugin@org.eclipse.jdt.debug.tests=GIT,tag=v20120531-0709,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.debug.git,path=org.eclipse.jdt.debug.tests

+plugin@org.eclipse.jdt.ui.tests=GIT,tag=v20120529-1035,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git,path=org.eclipse.jdt.ui.tests

 plugin@org.eclipse.jdt.ui.tests.refactoring=GIT,tag=v20120523-1257,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git,path=org.eclipse.jdt.ui.tests.refactoring

 plugin@org.eclipse.jdt.text.tests=GIT,tag=v20120523-1257,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git,path=org.eclipse.jdt.text.tests

 plugin@org.eclipse.jface.text.tests=GIT,tag=v20120523-1310,repo=git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git,path=org.eclipse.jface.text.tests

-plugin@org.eclipse.text.tests=GIT,tag=v20120523-1310,repo=git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git,path=org.eclipse.text.tests

-plugin@org.eclipse.core.filebuffers.tests=GIT,tag=v20120523-1310,repo=git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git,path=org.eclipse.core.filebuffers.tests

+plugin@org.eclipse.text.tests=GIT,tag=v20120530-1528,repo=git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git,path=org.eclipse.text.tests

+plugin@org.eclipse.core.filebuffers.tests=GIT,tag=v20120530-1528,repo=git://git.eclipse.org/gitroot/platform/eclipse.platform.text.git,path=org.eclipse.core.filebuffers.tests