diff --git a/.gitattributes b/.gitattributes
index e74d65df3a8..b876713fea0 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -44,8 +44,11 @@ Makefile text
# Build files
*.Jenkinsfile text
Jenkinsfile text
+Dockerfile text
*.yaml text
*.yml text
+.dockerignore text
+uid_entrypoint text
# Qt
*.pro text
diff --git a/BUILDING.md b/BUILDING.md
index 339bffc54c8..9a9a8f01703 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -16,9 +16,17 @@ mvn package
and the resulting p2 repository will be in `releng/org.eclipse.cdt.repo/target/repository`
-The current set of options to Maven used for building on the CI can be seen in the Jenkinsfiles on [cdt-infra](https://github.com/eclipse-cdt/cdt-infra/tree/master/jenkins/pipelines/cdt)
+The current set of options to Maven used for building on the CI can be seen in the [Jenkinsfile](https://github.com/eclipse-cdt/cdt/blob/main/Jenkinsfile) and GitHub actions [workflows](https://github.com/eclipse-cdt/cdt/tree/main/.github/workflows)
-To build CDT plug-ins you need a standard Maven & Java developement environment. The Dockerfiles used for CDT's images are published in [cdt-infra](https://github.com/eclipse-cdt/cdt-infra/tree/master/docker). The requirements for running all tests successfully and for rebuilding non-Java parts of CDT are much more extensive than standard Maven & Java and include items such as GCC, GDB, yarn, Node, etc. Refer to the Dockerfiles for the current versions of those dependencies.
+To build CDT plug-ins you need a standard Maven & Java development environment. The Dockerfiles used for CDT's images are published in [docker](https://github.com/eclipse-cdt/cdt/tree/main/docker). The requirements for running all tests successfully and for rebuilding non-Java parts of CDT are much more extensive than standard Maven & Java and include items such as GCC, GDB, yarn, Node, etc. Refer to the Dockerfiles for the current versions of those dependencies.
+
+### Checking code cleanliness
+
+The CI build automatically run code cleanliness checks. To run them on your computer it is recommended to use the Docker image, for example like this from the root of the checked out CDT repo:
+
+```sh
+docker run --rm -it -v $(git rev-parse --show-toplevel):/work -w /work/$(git rev-parse --show-prefix) --cap-add=SYS_PTRACE --security-opt seccomp=unconfined quay.io/eclipse-cdt/cdt-infra-plus-eclipse-install:latest releng/scripts/check_code_cleanliness.sh
+```
### Profiles
@@ -123,7 +131,7 @@ There are a few special values that can be specified (see BaseParametrizedTestCa
The default, defined in the root pom.xml, it is blank, which uses `gdb` and `gdbserver`.
See BaseParametrizedTestCase for more info.
-To build all gdb versions for testing CDT see [download-build-gdb.sh](https://github.com/eclipse-cdt/cdt-infra/blob/master/docker/scripts/download-build-gdb.sh)
+To build all gdb versions for testing CDT see [download-build-gdb.sh](https://github.com/eclipse-cdt/cdt/blob/main/docker/scripts/download-build-gdb.sh)
#### native
diff --git a/NOTICE.md b/NOTICE.md
index 60f95d1c79f..5a4ca9e4260 100644
--- a/NOTICE.md
+++ b/NOTICE.md
@@ -27,10 +27,10 @@ SPDX-License-Identifier: EPL-2.0
The project maintains the following source code repositories:
-* https://github.com/eclipse-cdt/.github
* https://github.com/eclipse-cdt/cdt
-* https://github.com/eclipse-cdt/cdt-infra
* https://github.com/eclipse-cdt/cdt-lsp
+* https://github.com/eclipse-cdt/.eclipsefdn
+* https://github.com/eclipse-cdt/.github
## Cryptography
diff --git a/POLICY.md b/POLICY.md
index bc850c077b4..de6b144bdc2 100644
--- a/POLICY.md
+++ b/POLICY.md
@@ -1,6 +1,6 @@
## Code Formatting
-These are the coding style recommendations that are in place with project setting. They are enforced by the [build process](https://github.com/eclipse-cdt/cdt-infra/tree/master/jenkins/pipelines/cdt/verify#cdt-verify-code-cleanliness) and auto-save actions in Eclipse.
+These are the coding style recommendations that are in place with project setting. They are enforced by the build process (as defined in [Jenkinsfile](https://github.com/eclipse-cdt/cdt/blob/main/Jenkinsfile) and GitHub actions [workflows](https://github.com/eclipse-cdt/cdt/tree/main/.github/workflows)) and auto-save actions in Eclipse.
* Preserve formatting and style of old code when making patches
* Use default "Eclipse" code formatting for Java for new code
@@ -13,7 +13,7 @@ Externalize strings (excluding exception arguments, tests and special identifier
## Eclipse Java Errors/Warnings
-All CDT plugins override default compiler error/warning and use project specific errors/warnings. This enforced by the [build process](https://github.com/eclipse-cdt/cdt-infra/tree/master/jenkins/pipelines/cdt/verify#cdt-verify-code-cleanliness).
+All CDT plugins override default compiler error/warning and use project specific errors/warnings. This enforced by the build process (as defined in [Jenkinsfile](https://github.com/eclipse-cdt/cdt/blob/main/Jenkinsfile) and GitHub actions [workflows](https://github.com/eclipse-cdt/cdt/tree/main/.github/workflows)).
All committers and contributors submitting patches should enable [API tooling](http://wiki.eclipse.org/PDE/API_Tools/User_Guide#API_Tooling_Setup) by setting target baseline platform. Do not commit code with API errors.
diff --git a/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
index 43490ae6ee4..d70deadd948 100644
--- a/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
+++ b/core/org.eclipse.cdt.core.native/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.core.native;singleton:=true
-Bundle-Version: 6.3.300.qualifier
+Bundle-Version: 6.3.400.qualifier
Bundle-Activator: org.eclipse.cdt.internal.core.natives.CNativePlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_pty_PTYInputStream.h b/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_pty_PTYInputStream.h
index 29fae6fd63e..86c299fc918 100644
--- a/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_pty_PTYInputStream.h
+++ b/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_pty_PTYInputStream.h
@@ -10,7 +10,7 @@ extern "C" {
#undef org_eclipse_cdt_utils_pty_PTYInputStream_MAX_SKIP_BUFFER_SIZE
#define org_eclipse_cdt_utils_pty_PTYInputStream_MAX_SKIP_BUFFER_SIZE 2048L
#undef org_eclipse_cdt_utils_pty_PTYInputStream_DEFAULT_BUFFER_SIZE
-#define org_eclipse_cdt_utils_pty_PTYInputStream_DEFAULT_BUFFER_SIZE 8192L
+#define org_eclipse_cdt_utils_pty_PTYInputStream_DEFAULT_BUFFER_SIZE 16384L
#undef org_eclipse_cdt_utils_pty_PTYInputStream_MAX_BUFFER_SIZE
#define org_eclipse_cdt_utils_pty_PTYInputStream_MAX_BUFFER_SIZE 2147483639L
/*
diff --git a/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_spawner_SpawnerInputStream.h b/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_spawner_SpawnerInputStream.h
index 76662bb4d63..b8f1633560d 100644
--- a/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_spawner_SpawnerInputStream.h
+++ b/core/org.eclipse.cdt.core.native/native_src/include/org_eclipse_cdt_utils_spawner_SpawnerInputStream.h
@@ -10,7 +10,7 @@ extern "C" {
#undef org_eclipse_cdt_utils_spawner_SpawnerInputStream_MAX_SKIP_BUFFER_SIZE
#define org_eclipse_cdt_utils_spawner_SpawnerInputStream_MAX_SKIP_BUFFER_SIZE 2048L
#undef org_eclipse_cdt_utils_spawner_SpawnerInputStream_DEFAULT_BUFFER_SIZE
-#define org_eclipse_cdt_utils_spawner_SpawnerInputStream_DEFAULT_BUFFER_SIZE 8192L
+#define org_eclipse_cdt_utils_spawner_SpawnerInputStream_DEFAULT_BUFFER_SIZE 16384L
#undef org_eclipse_cdt_utils_spawner_SpawnerInputStream_MAX_BUFFER_SIZE
#define org_eclipse_cdt_utils_spawner_SpawnerInputStream_MAX_BUFFER_SIZE 2147483639L
/*
diff --git a/core/org.eclipse.cdt.core.native/pom.xml b/core/org.eclipse.cdt.core.native/pom.xml
index 246d6e79a94..28c765691f8 100644
--- a/core/org.eclipse.cdt.core.native/pom.xml
+++ b/core/org.eclipse.cdt.core.native/pom.xml
@@ -23,7 +23,7 @@
../../pom.xml
- 6.3.300-SNAPSHOT
+ 6.3.400-SNAPSHOT
org.eclipse.cdt.core.native
eclipse-plugin
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/pty.dll b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/pty.dll
index db374f73310..a3a9e575f26 100755
Binary files a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/pty.dll and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/pty.dll differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll
index 00b9a5c003d..4e903369fab 100755
Binary files a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/spawner.dll differ
diff --git a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe
index f66b4210461..1ab1cc62b92 100755
Binary files a/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe and b/core/org.eclipse.cdt.core.win32.x86_64/os/win32/x86_64/starter.exe differ
diff --git a/docker/cdt-infra-base/ubuntu-18.04/Dockerfile b/docker/cdt-infra-base/ubuntu-18.04/Dockerfile
index 6dae47f5dfc..1640b73db25 100644
--- a/docker/cdt-infra-base/ubuntu-18.04/Dockerfile
+++ b/docker/cdt-infra-base/ubuntu-18.04/Dockerfile
@@ -117,7 +117,6 @@ RUN export JVERSION=${JDK17_VERSION} \
&& find $JHOME/include \
&& rm -rf /tmp/x
-
# Default to JAVA21 being in use
ENV PATH="${JAVA21_HOME}/bin:${PATH}"
ENV JAVA_HOME ${JAVA21_HOME}
@@ -129,6 +128,8 @@ RUN curl -fsSL https://archive.apache.org/dist/maven/maven-3/$MAVEN_VERSION/bina
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
ENV MAVEN_HOME /usr/share/maven
+RUN mkdir -p ${HOME}/.m2
+COPY toolchains.xml ${HOME}/.m2
#Fix permissions for OpenShift & standard k8s
RUN chown -R 1000:0 ${HOME} \
diff --git a/docker/cdt-infra-eclipse-full/ubuntu-18.04/Dockerfile b/docker/cdt-infra-eclipse-full/ubuntu-18.04/Dockerfile
index 57518e517cf..b2bf5ff6886 100644
--- a/docker/cdt-infra-eclipse-full/ubuntu-18.04/Dockerfile
+++ b/docker/cdt-infra-eclipse-full/ubuntu-18.04/Dockerfile
@@ -37,7 +37,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
RUN pip3 install meson
# GDB pre-built in a different image
-COPY --from=cdt-infra-all-gdbs:ubuntu-18.04 /shared/common/gdb/gdb-all /shared/common/gdb/gdb-all
+COPY --from=cdt-infra-all-gdbs:ubuntu-18.04 /shared/common/gdb/gdb-all/bin /shared/common/gdb/gdb-all/bin
+COPY --from=cdt-infra-all-gdbs:ubuntu-18.04 /shared/common/gdb/gdb-all/install /shared/common/gdb/gdb-all/install
ENV PATH="/shared/common/gdb/gdb-all/bin:${PATH}"
# Get pre-built MacOSX toolchain from other image (this also
diff --git a/docker/scripts/xstartup_icewm.sh b/docker/scripts/xstartup_icewm.sh
old mode 100644
new mode 100755
diff --git a/docker/scripts/xstartup_metacity.sh b/docker/scripts/xstartup_metacity.sh
old mode 100644
new mode 100755
diff --git a/docker/scripts/xstartup_mutter.sh b/docker/scripts/xstartup_mutter.sh
old mode 100644
new mode 100755
diff --git a/docker/toolchains.xml b/docker/toolchains.xml
new file mode 100644
index 00000000000..9b29cf6a50a
--- /dev/null
+++ b/docker/toolchains.xml
@@ -0,0 +1,25 @@
+
+
+
+ jdk
+
+ JavaSE-21
+ 21
+ default
+
+
+ /usr/lib/jvm/jdk-21.0.3+9
+
+
+
+ jdk
+
+ JavaSE-17
+ 17
+ default
+
+
+ /usr/lib/jvm/jdk-17.0.11+9
+
+
+
diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/scripts/download-build-gdb.sh b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/scripts/download-build-gdb.sh
index 9c2cd8dc191..411b1338862 100755
--- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/scripts/download-build-gdb.sh
+++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/scripts/download-build-gdb.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-echo "This script, part of CDT's infrastructure, has been moved to https://github.com/eclipse-cdt/cdt-infra/blob/master/docker/scripts/download-build-gdb.sh"
+echo "This script, part of CDT's infrastructure, has been moved to https://github.com/eclipse-cdt/cdt/blob/main/docker/scripts/download-build-gdb.sh"
diff --git a/dsf/org.eclipse.cdt.examples.dsf/META-INF/MANIFEST.MF b/dsf/org.eclipse.cdt.examples.dsf/META-INF/MANIFEST.MF
index 93ed59cfc83..b49a48c96b4 100644
--- a/dsf/org.eclipse.cdt.examples.dsf/META-INF/MANIFEST.MF
+++ b/dsf/org.eclipse.cdt.examples.dsf/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-SymbolicName: org.eclipse.cdt.examples.dsf;singleton:=true
-Bundle-Version: 2.4.200.qualifier
+Bundle-Version: 2.4.300.qualifier
Bundle-Activator: org.eclipse.cdt.examples.dsf.DsfExamplesPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
diff --git a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll
index 94b335c339a..aa62b26d9ad 100755
Binary files a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll and b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll differ
diff --git a/releng/scripts/do_format_code.sh b/releng/scripts/do_format_code.sh
index e20a2c4890a..d020da67d45 100755
--- a/releng/scripts/do_format_code.sh
+++ b/releng/scripts/do_format_code.sh
@@ -23,12 +23,12 @@ CDTDIR=${DIR}/../..
##
# Format code
##
-: ${ECLIPSE:=~/buildtools/eclipse-SDK-4.23/eclipse}
+: ${ECLIPSE:=~/buildtools/eclipse-SDK-4.31/eclipse}
if test ! -e "$ECLIPSE" ; then
echo "The Eclipse binary was not found at \"$ECLIPSE\"!"
echo "You can download it to and pass it via environment variable:"
- echo " curl -L http://download.eclipse.org/eclipse/downloads/drops4/R-4.23-202203080310/eclipse-SDK-4.23-linux-gtk-x86_64.tar.gz | tar xzC /tmp"
+ echo " curl -L https://download.eclipse.org/eclipse/downloads/drops4/R-4.31-202402290520/eclipse-SDK-4.31-linux-gtk-x86_64.tar.gz | tar xzC /tmp"
echo " ECLIPSE=/tmp/eclipse/eclipse ./releng/scripts/check_code_cleanliness.sh"
exit 1
fi