diff --git a/features/org.eclipse.objectteams.otdt.core.patch/feature.xml b/features/org.eclipse.objectteams.otdt.core.patch/feature.xml
index 01e31a6..29b2cc5 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.19.0.v20221205-0948" patch="true"/>
+      <import feature="org.eclipse.jdt" version="3.19.0.v20221206-1820" patch="true"/>
    </requires>
 
    <plugin
diff --git a/releng/build-scripts/bin/extractVersions b/releng/build-scripts/bin/extractVersions
index 5c2dda6..63ef16a 100755
--- a/releng/build-scripts/bin/extractVersions
+++ b/releng/build-scripts/bin/extractVersions
@@ -19,32 +19,32 @@
 
 if [ ! -r $SDK ]
 then
-		echo "Can't read SDK from $SDK"
-		exit 1
+        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
 
-for VERSION in `tar tzvf $SDK | egrep "${PDEBUILD}|${LAUNCHER}|${JDTFEATURE}|${JDT_COMPILER_APT}|${JDT_COMPILER_TOOL}" | sed -e "s#.*eclipse/[^/]*/\([^/]*\).*#\1#"`
+for VERSION in `tar tzvf $SDK --warning=no-unknown-keyword | 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`
-			JDT_VERSIONB_NEXT=`printf "%04d" ${JDT_VERSIONB_NEXT}`
-			;;
-		org.eclipse.equinox.launcher*)
-			LAUNCHER_VERSION=$VERSION
-			;;
-	esac
+        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`
+                        JDT_VERSIONB_NEXT=`printf "%04d" ${JDT_VERSIONB_NEXT}`
+                        ;;
+                org.eclipse.equinox.launcher_*)
+                        LAUNCHER_VERSION=$VERSION
+                        ;;
+        esac
 done
 echo
 echo "Variables for otdt_prerequisites_hipp.sh:"
@@ -66,7 +66,7 @@
 echo
 echo "Version for org.eclipse.objectteams.otdt.core.patch.feature:"
 echo "============================================================"
-echo "      <import feature=\"org.eclipse.jdt\" version=\"${JDT_VERSION_ALL}\" patch=\"true\"/>"
+echo "      &lt;import feature=\"org.eclipse.jdt\" version=\"${JDT_VERSION_ALL}\" patch=\"true\"/&gt;"
 
 
 echo "==================================="
diff --git a/releng/build-scripts/build/otdt_prerequisites-hipp.sh b/releng/build-scripts/build/otdt_prerequisites-hipp.sh
index a6a2b7f..5244a05 100644
--- a/releng/build-scripts/build/otdt_prerequisites-hipp.sh
+++ b/releng/build-scripts/build/otdt_prerequisites-hipp.sh
@@ -58,11 +58,11 @@
 
 # VERSIONS:
 # Eclipse SDK build identifier (used for substitution in otdt.map.in etc.):
-SDK_QUALIFIER=${SDK_QUALIFIER:="I20221205-0710"}
+SDK_QUALIFIER=${SDK_QUALIFIER:="I20221206-1800"}
 
 # used only locally (components of the ECLIPSE_SDK_TGZ path):
-EVERSION=${EVERSION:="I20221205-0710"}
-DROP=${DROPS4}/${DROP:="I20221205-0710"}
+EVERSION=${EVERSION:="I20221206-1800"}
+DROP=${DROPS4}/${DROP:="I20221206-1800"}
 
 # EXPORT: archive file of the base eclipse SDK build:
 ECLIPSE_SDK_TGZ=${DROP}/eclipse-SDK-${EVERSION}-linux-gtk-${ARCH}.tar.gz
diff --git a/releng/build-scripts/build/run.properties b/releng/build-scripts/build/run.properties
index 7361cec..26addad 100644
--- a/releng/build-scripts/build/run.properties
+++ b/releng/build-scripts/build/run.properties
@@ -25,8 +25,8 @@
 org.eclipse.equinox.launcher_jar=org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
 
 # for patching our patch feature to match this version with any suffix:
-jdt.feature.version=3.19.0.v20221205-0948
-jdt.feature.version.next=3.19.0.v20221205-0949
+jdt.feature.version=3.19.0.v20221206-1820
+jdt.feature.version.next=3.19.0.v20221206-1821
 # -----------------------------------------------------------
 
 #Git Support for PDE BUILD:
