Skip to content

Commit

Permalink
Merge branch 'eclipse-cdt:main' into core_build_system
Browse files Browse the repository at this point in the history
  • Loading branch information
ewaterlander authored Jan 10, 2025
2 parents 89c7005 + 1a8b186 commit de2e64e
Show file tree
Hide file tree
Showing 189 changed files with 1,099 additions and 689 deletions.
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ Dockerfile text
*.yaml text
*.yml text
.dockerignore text
uid_entrypoint text

# Qt
*.pro text
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
timeout-minutes: 90

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: dorny/paths-filter@v2
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
Expand All @@ -22,15 +22,15 @@ jobs:
- 'debug/**'
- 'jtag/**'
- name: Set up JDK 21
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Set up Maven
uses: stCarolas/setup-maven@07fbbe97d97ef44336b7382563d66743297e442f # v4.5
uses: stCarolas/setup-maven@v5
with:
maven-version: 3.9.2
maven-version: 3.9.6
- name: Install GCC & GDB & other build essentials
run: |
sudo apt-get update
Expand All @@ -57,7 +57,7 @@ jobs:
name: Code Cleanliness Detailed Logs
path: '*.log'
- name: Upload Test Results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/code-cleanliness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ jobs:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Check Code Cleanliness with Docker
uses: addnab/docker-run-action@v3
with:
image: quay.io/eclipse-cdt/cdt-infra-plus-eclipse-install-github@sha256:6949adee26f78e9968e16d52bc3accfd7b51d0f16c473ad4b6f1caee849ab519
image: quay.io/eclipse-cdt/cdt-infra-github@sha256:3d745b7b84e3f9f9492cc1d280ea3b44028a92c7e9748d1ea8771fed211b5dc4
options: -v ${{ github.workspace }}:/work
run: |
set -x
Expand All @@ -22,7 +22,7 @@ jobs:
./releng/scripts/check_bundle_versions.sh
./releng/scripts/check_bundle_versions_report.sh
- name: Upload Logs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: Code Cleanliness Detailed Logs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

steps:
- name: Download Test Report
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v7
with:
name: test-results
path: test-results
Expand Down
2 changes: 1 addition & 1 deletion .mvn/extensions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
<extension>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-build</artifactId>
<version>4.0.6</version>
<version>4.0.10</version>
</extension>
</extensions>
4 changes: 2 additions & 2 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To build CDT plug-ins you need a standard Maven & Java development environment.
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
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:latest releng/scripts/check_code_cleanliness.sh
```

### Profiles
Expand Down Expand Up @@ -160,7 +160,7 @@ An additional tip is to set the following in `.gitconfig` to allow you to diff `

When the host is Windows, getting docker to behave as encoded in the pom.xml may be challenging, instead a command like this will probably work (replace your path to git root). Note that running this in git bash causes problems because of the /work in the command line arguments. (TODO integrate this command line way of running into the pom.xml so the original instructions work.)

`docker 'run' '--rm' '-t' '-v' 'D:\cdt\git\org.eclipse.cdt:/work' '-w' '/work/core/org.eclipse.cdt.core.native' 'quay.io/eclipse-cdt/cdt-infra-eclipse-full:latest' 'make' '-C' 'native_src' 'rebuild'`
`docker 'run' '--rm' '-t' '-v' 'D:\cdt\git\org.eclipse.cdt:/work' '-w' '/work/core/org.eclipse.cdt.core.native' 'quay.io/eclipse-cdt/cdt-infra:latest' 'make' '-C' 'native_src' 'rebuild'`

See also `jniheaders` profile above.

5 changes: 0 additions & 5 deletions Downloads.md
Original file line number Diff line number Diff line change
Expand Up @@ -437,11 +437,6 @@ Archived p2 repos:
There is limited information preserved about these old releases. Some of the download files are available on <https://archive.eclipse.org/tools/cdt/releases/> and <https://archive.eclipse.org/tools/cdt/updates/>
</details>

### Development Builds

Development builds of the Eclipse C/C++ IDE can be found on the [Eclipse Downloads page](https://www.eclipse.org/downloads/packages/) by clicking on the Eclipse Developer Builds tab.

Bleeding edge continuous (aka nightly) builds are available from the [cdt/main Jenkins build page](https://ci.eclipse.org/cdt/job/cdt/job/main/) and the p2 software repository: <https://ci.eclipse.org/cdt/job/cdt/job/main/lastSuccessfulBuild/artifact/releng/org.eclipse.cdt.repo/target/repository/>

### Additional Distributions

Expand Down
4 changes: 2 additions & 2 deletions FAQ/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ update site.

2. You can take the bleeding edge updates from nightly builds (they are
usually quite stable). The update site for most recent nightly builds is
<http://download.eclipse.org/tools/cdt/builds/master/nightly>
<https://download.eclipse.org/tools/cdt/builds/cdt/main/>

#### I can't find the CDT download for the XXX operating system?

Expand Down Expand Up @@ -2413,7 +2413,7 @@ The path to windres.exe must be known to eclipse.
#### How do I get a more recent build than is on the downloads page?
<http://download.eclipse.org/tools/cdt/builds/>
<https://download.eclipse.org/tools/cdt/builds/cdt/main/>
These plugin builds can be installed for use in the usual way via
Software Updates -\> Find and Install... but are packed which the
Expand Down
34 changes: 34 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,40 @@ pipeline {
}
}
}
stage('Deploy Snapshot') {
steps {
container('jnlp') {
timeout(activity: true, time: 20) {
sshagent ( ['projects-storage.eclipse.org-bot-ssh']) {
sh '''
SSHUSER="genie.cdt@projects-storage.eclipse.org"
SSH="ssh ${SSHUSER}"
SCP="scp"
DOWNLOAD=download.eclipse.org/tools/cdt/builds/cdt/$BRANCH_NAME
DOWNLOAD_MOUNT=/home/data/httpd/$DOWNLOAD
# Deploying build to nightly location on download.eclipse.org
if $SSH test -e ${DOWNLOAD_MOUNT}-new; then
$SSH rm -r ${DOWNLOAD_MOUNT}-new
fi
if $SSH test -e ${DOWNLOAD_MOUNT}-last; then
$SSH rm -r ${DOWNLOAD_MOUNT}-last
fi
$SSH mkdir -p ${DOWNLOAD_MOUNT}-new
$SCP -rp releng/org.eclipse.cdt.repo/target/repository/* "${SSHUSER}:"${DOWNLOAD_MOUNT}-new
$SCP -rp releng/org.eclipse.cdt.repo/target/org.eclipse.cdt.repo.zip "${SSHUSER}:"${DOWNLOAD_MOUNT}-new
if $SSH test -e ${DOWNLOAD_MOUNT}; then
$SSH mv ${DOWNLOAD_MOUNT} ${DOWNLOAD_MOUNT}-last
fi
$SSH mv ${DOWNLOAD_MOUNT}-new ${DOWNLOAD_MOUNT}
'''
}
}
}
}
}
}
post {
always {
Expand Down
40 changes: 40 additions & 0 deletions NewAndNoteworthy/CDT-12.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,29 @@ This is the New & Noteworthy page for CDT 12.0 which is part of Eclipse 2025-03

# Release Notes

## Minimum version of GLIBC required

The minimum version of GLIBC required is now 2.31.
This version can be found in Ubuntu 20.04 and later, RHEL 9.0 and later and other distros as well.
CDT's native components will likely work with older versions of glibc too, assuming they provide the required APIs for Eclipse CDT.

# Managed Build

## New *C Project* and new *C++ Project* available via *New C/C++ Project* wizard

The separate new C and C++ project wizards are now exclusively available via the *New C/C++ Project* wizard.
From the second page of *New C/C++ Project* wizard select *C Managed Build* to access the *New C Project* wizard and select *C++ Managed Build* to access the *New C++ Project* wizard.

See [Issue #965](https://github.com/eclipse-cdt/cdt/issues/965) for additional details, including how to restore these menu entries if your Eclipse CDT product depends on it.

## New *Makefile Project with Existing Code* available via *Existing Code as Makefile Project* import wizard

The *Makefile Project with Existing Code* wizard is no longer available in the new project wizard.
For users who need it, it remains available in the *Existing Code as Makefile Project* import wizard.
Most users should be using the *Makefile project* type in the *New C/C++ Project* wizard.

See [Issue #965](https://github.com/eclipse-cdt/cdt/issues/965) for additional details, including how to restore these menu entries if your Eclipse CDT product depends on it.

## Other objects for GNU archive files

The managed build system now provides an option to specify other object files to be included when building GNU archive files:
Expand All @@ -16,6 +37,21 @@ The managed build system now provides an option to specify other object files to

The new option applies to static library projects using a _Cross GCC_, _Cygwin GCC_, _Linux GCC_ or _MinGW GCC_ toolchain.

# Debug

## DSF Preference Pages always visible

The DSF Preference pages (Preferences -> C/C++ -> Debug -> GDB and children) are not always shown to users.
Prior to CDT 12 these were not visible until after the first debug session was started.

At the first debug session CDT enables the [activity](https://help.eclipse.org/latest/topic/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_activities.html) for DSF (`org.eclipse.cdt.debug.dsfgdbActivity`), with this change nothing in CDT is bound to this activity key anymore.

## Preferences -> Run/Debug -> View Performance relocated

The View Performance preference page, which is CDT specific, has been relocated to the Preferences -> C/C++ -> Debug section of preferences.
This only affects where in the Preferences tree the page is located, the preferences and key names have not changed.
In addition, this page is always visible.

# API Changes, current and planned

## Breaking API changes
Expand All @@ -26,6 +62,10 @@ Please see [CHANGELOG-API](CHANGELOG-API.md) for details on the breaking API cha

See [Noteworthy issues and PRs](https://github.com/eclipse-cdt/cdt/issues?q=is%3Aclosed+label%3Anoteworthy+milestone%3A12.0.0) for this release in the issue/PR tracker.

## Improved launch configuration for CMake and other Core Build System projects

The CMake and CBS Makefile project launch configurations for local applications have an improved Main tab and new Arguments, Environment, Debugger, Source, and Common tabs.

# Bugs Fixed in this Release

See [GitHub milestones](https://github.com/eclipse-cdt/cdt/milestone/11?closed=1)
14 changes: 13 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,21 @@ See also https://projects.eclipse.org/projects/tools.cdt and https://eclipse.org

## Download

The recommended way to obtain Eclipse CDT is to download it as part of the complete *Eclipse IDE for C/C++ Developers* or *Eclipse IDE for Embedded C/C++ Developers* or *Eclipse IDE for Scientific Computing* from the main [Eclipse IDE download site](https://eclipseide.org/release/).
The recommended way to obtain Eclipse CDT is to download it as part of the complete *Eclipse IDE for C/C++ Developers* or *Eclipse IDE for Embedded C/C++ Developers* from the main [Eclipse IDE download site](https://eclipseide.org/release/).

Alternatively Eclipse CDT can be installed into an existing Eclipse installation using this p2 URL: `https://download.eclipse.org/tools/cdt/releases/latest/` ([see how](https://help.eclipse.org/topic/org.eclipse.platform.doc.user/tasks/tasks-127.htm))

### Download Development Builds

Milestone builds of the *Eclipse IDE for C/C++ Developers* or *Eclipse IDE for Embedded C/C++ Developers* can be found on the [Eclipse Downloads page](https://www.eclipse.org/downloads/packages/) by clicking on the Eclipse Developer Builds tab (only present when there is a milestone build newer than the latest release).

Alternatively, milestone builds of Eclipse CDT can be installed into an existing Eclipse installation using one of the p2 URLs in: <https://download.eclipse.org/tools/cdt/builds> ([see how](https://help.eclipse.org/topic/org.eclipse.platform.doc.user/tasks/tasks-127.htm)).
See [cdt.aggrcon](https://github.com/eclipse-simrel/simrel.build/blob/main/cdt.aggrcon#L3) for which milestone is currently contributed to Eclipse SimRel.

Bleeding edge continuous (aka nightly) builds are available for the main branch from the p2 software repository: `https://download.eclipse.org/tools/cdt/builds/cdt/main/`

### Download older versions

Downloads links for older versions are available in [Downloads](Downloads.md).

## Help & Support
Expand Down Expand Up @@ -58,6 +69,7 @@ There are many third-party addons for CDT to make it more productive.
* [CDT LSP](https://github.com/eclipse-cdt/cdt-lsp#readme): LSP based C/C++ Editor provided by the Eclipse CDT project
* [cmake4eclipse](https://github.com/15knots/cmake4eclipse#abstract): This Eclipse plug-in automatically generates build-scripts for the Eclipse CDT managed build system from CMake scripts.
* [Sloeber](http://eclipse.baeyens.it/): Eclipse Plugins based on Arduino toolchains or a enhanced Arduino IDE.
* [SonarQube for Eclipse](https://marketplace.eclipse.org/content/sonarqube-ide): Eclipse plug-in for static analysis for quality and security issues in your C/C++ code directly inside the IDE.
* [CUTE](https://cute-test.com/): C++ unit testing plug-in
* [Bracketeer](https://marketplace.eclipse.org/content/bracketeer-cc-cdt): Auto-comments on closing brackets and highlight of matching/mismatching brackets
* And many more in the [Eclipse Marketplace](https://marketplace.eclipse.org/), for example, try the [CDT tag](https://marketplace.eclipse.org/category/free-tagging/cdt)
Expand Down
2 changes: 1 addition & 1 deletion build/org.eclipse.cdt.autotools.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.cdt.autotools.core;singleton:=true
Bundle-Version: 2.2.300.qualifier
Bundle-Version: 2.2.400.qualifier
Bundle-Activator: org.eclipse.cdt.autotools.core.AutotoolsPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="3.4.0",
Expand Down
2 changes: 1 addition & 1 deletion build/org.eclipse.cdt.autotools.ui/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: org.eclipse.cdt.autotools.ui;singleton:=true
Bundle-Version: 2.2.400.qualifier
Bundle-Version: 2.2.500.qualifier
Bundle-Activator: org.eclipse.cdt.autotools.ui.AutotoolsUIPlugin
Bundle-Localization: plugin
Bundle-Vendor: %provider
Expand Down
4 changes: 2 additions & 2 deletions build/org.eclipse.cdt.autotools.ui/about.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
###############################################################################
# Copyright (c) 2012, 2024 Contributors to the Eclipse Foundation
# Copyright (c) 2012, 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand All @@ -24,7 +24,7 @@ blurb=C/C++ Autotools support\n\
Version: {featureVersion}\n\
Build id: {0}\n\
\n\
Copyright (c) 2012, 2024 Contributors to the Eclipse Foundation
Copyright (c) 2012, 2025 Contributors to the Eclipse Foundation
\n\
See the NOTICE file(s) distributed with this work for additional\n\
information regarding copyright ownership.\n\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.core.autotools.core;singleton:=true
Bundle-Version: 1.3.200.qualifier
Bundle-Version: 1.3.300.qualifier
Bundle-Activator: org.eclipse.cdt.core.autotools.core.internal.Activator
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.tools.templates.core;bundle-version="2.0.0",
Expand Down
2 changes: 1 addition & 1 deletion build/org.eclipse.cdt.make.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.make.core; singleton:=true
Bundle-Version: 7.6.500.qualifier
Bundle-Version: 7.6.600.qualifier
Bundle-Activator: org.eclipse.cdt.make.core.MakeCorePlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Expand Down
2 changes: 1 addition & 1 deletion build/org.eclipse.cdt.make.ui/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.cdt.make.ui; singleton:=true
Bundle-Version: 8.3.100.qualifier
Bundle-Version: 8.3.200.qualifier
Bundle-Activator: org.eclipse.cdt.make.internal.ui.MakeUIPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
# IBM Corporation
# John Dallaway - add library grouping option (#608)
# John Dallaway - extend optimization options (#828)
# John Dallaway - extend language standard options (#944)
###############################################################################

# plugin names
Expand Down Expand Up @@ -121,11 +122,15 @@ Option.Posix.Dialect.default=
Option.Posix.Dialect.c90=ISO C90 / ANSI C89 (-std=c90)
Option.Posix.Dialect.c99=ISO C99 (-std=c99)
Option.Posix.Dialect.c11=ISO C11 (-std=c11)
Option.Posix.Dialect.c17=ISO C17 (-std=c17)
Option.Posix.Dialect.c23=ISO C23 (-std=c23)
Option.Posix.Dialect.c++98=ISO C++98 (-std=c++98)
Option.Posix.Dialect.c++11=ISO C++11 (-std=c++11)
Option.Posix.Dialect.c++14=ISO C++14 (-std=c++14)
Option.Posix.Dialect.c++17=ISO C++17 (-std=c++17)
Option.Posix.Dialect.c++2a=ISO C++20 (-std=c++2a)
Option.Posix.Dialect.c++2a=ISO C++20 (-std=c++20)
Option.Posix.Dialect.c++23=ISO C++23 (-std=c++23)
Option.Posix.Dialect.c++26=ISO C++26 (-std=c++26)
Option.Posix.Dialect.Flags=Other dialect flags

Option.Posix.PreprocOnly=Preprocess only (-E)
Expand Down
Loading

0 comments on commit de2e64e

Please sign in to comment.