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