1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-21 21:52:10 +02:00
Commit graph

1391 commits

Author SHA1 Message Date
Jonah Graham
f43b833f01
Make sure that if any of the piped commands fail, the cleanliness fails (#1083) 2025-02-12 15:46:03 -05:00
Jonah Graham
889a5f1db5
Add CDT-LSP to API Baseline (#1066)
See https://github.com/eclipse-cdt/cdt-lsp/pull/406#issuecomment-2622119241
2025-01-29 12:43:15 -05:00
Jonah Graham
c5cc700a2d
Check that all xml files in CDT are well formed (#1053) 2025-01-22 16:38:40 -05:00
Jonah Graham
1abb9900db
Restore the empty activity IDs (#1045)
In #974 I removed activities we were not using anymore, but it turns
out if LaunchUtils.enableActivity is called on a removed id, strange
things happen, such as other activities incorrectly being enabled.
This may be a bug in platform, or just undefined behavior. But because
extenders do have calls to LaunchUtils.enableActivity in their code,
leave the empty activity ids behind.

Fixes #1044
2025-01-17 12:09:21 -05:00
Jonah Graham
64ad743617 Update maven dependencies to latest versions, especially Hamcrest
Fixes #1037
2025-01-16 14:57:42 -05:00
Jonah Graham
89b8685886 Reorder file in the order that the category editor saves it 2025-01-16 14:57:42 -05:00
Jonah Graham
1c8edca92f Fix broken https link in setup
Fixes break introduced yesterday in 75ef178ffd
2025-01-15 11:40:22 -05:00
Jonah Graham
4d2ed9dacf
Remove generation of adoc files in code cleanliness (#1005)
This was supposed to be a check to ensure adoc generation was
working, but it interferes with the overall check code cleanliness
as it leads to jgit dirty errors.

The generation of the docs is done as part of the build too, so
it is redundant to do them here.
2025-01-14 21:19:22 -05:00
Jonah Graham
75ef178ffd
Move target platform from 2024-09 -> 2024-12 (#1007)
When we decided to delay CDT 12.0 by 3 months it also meant that
the desired target was 2024-12, this commit makes this change
across the target platform
2025-01-14 21:12:41 -05:00
Jonah Graham
9aa3144840 Generate more of the documentation with asciidoc and automate more
- Migrate all getting_started from html to adoc
- Document (in README.md) notes on migrating html to adoc
- Reorganize generation of adoc slightly so that
  - all directories can be generates at once
  - output suffix changed to htm so that migrated files
    exist at the same URL on help.eclipse.org
- Add generation to the cleanliness checks to ensure that the
  html matches adoc
- Manage the adoc headers with a script as that is a large section
  of copy-pasted code on each adoc file (see README + adoc-headers.txt)
- Move maven version info to pluginManagement (consistency with other
  maven plug-ins)
- New profile "asciidoc-auto-refresh" which will auto build the
  files as edited.

Prerequisite of #992
2025-01-14 13:05:53 -05:00
Jonah Graham
39ee2eded4
Update to latest versions of build tools (#986)
Beta versions of maven plugins are omitted from this
upgrade.

A new version of Tycho brings in an update ECJ which means some
of the class files are different, hence the need to bump versions
of bundles too.

A new calendar year brings an update to Copyrights
2025-01-06 20:37:10 -05:00
Jonah Graham
ae9f145856
Always show CDT Debug Preference Pages (#974)
The CDT Debug Activites was originally added when we had two
distinct debuggers in CDT, the DSF one and the CDI one. To
eliminate confusion the preferences for the respective
debug infrastructures were only displayed if users actually
ran such a debug session.

Now with just one debug infrastructure, we should always display
the preference pages. It also removes some confusion that some
preference pages weren't visible until after you started the
debug session. So for example, users couldn't turn on or off
a bunch of default settings until after creating and launching
a debug session.

I have left the enableActivity call in GdbLaunchDelegate in
case any extenders were hiding some of their UI behind that key.

The only exception in the above is the View Performance preference
page which was misplaced in the top level Run/Debug preference
tree, even though it is CDT specific. That preference page has
been re-parented to C/C++ -> Debug

Fixes https://github.com/eclipse-cdt/cdt/issues/972
2025-01-06 12:46:55 -05:00
Jonah Graham
87660ae05c Update CDT setup for new branch name of cdt-lsp
See https://github.com/eclipse-cdt/cdt-lsp/issues/384
2024-12-28 10:51:16 -05:00
Jonah Graham
dfdc174b6d Update and refactor Dockerfiles to newer Ubuntu
The docker images all have new, simpler names and use Ubuntu 20.04
(instead of 18.04) as their base.

A few new tools have been added, specifically what is needed for:

- Linux on RISC-V - see #980
- Winodows on ARM - see #969

Fixes #976
2024-12-28 10:48:30 -05:00
Tue Ton
83e52ef18c Add native support for Windows on Arm64 (#971)
- add a new fragment 'org.eclipse.cdt.core.win32.aarch64' containing
re-compiled Arm64 natives suitable for the Windows on Arm64 platform.

- add the 'serial.dll' binary re-compiled for Windows on Arm64.

- add the win32/win32/aarch64 environment triplet to various Maven
build scripts to support building CDT software for that environment.

The updated dlls/exes are not included in this commit and will be provided
in subsequent commits with the corresponding update to build infrastructure

Part of #969
2024-12-28 10:48:30 -05:00
Jonah Graham
e50f81b95b
Bump version to CDT 12.0.0 (#911) 2024-10-08 12:52:15 -04:00
Jonah Graham
cfe1db70b4
Use 2024-09 dependencies for CDT 12.0 development (#900) 2024-09-12 17:18:33 -04:00
Ed Merks
219f94c82f
Update to the latest direct-from-maven dependencies (#894) 2024-09-12 17:15:02 -04:00
Jonah Graham
abe036e1ea
Updates for CDT 11.6.1 (#858) 2024-07-02 21:11:07 -04:00
Jonah Graham
2fbb42119e
p2 composites for CDT 11.6 and CDT-LSP 2.0 (#823) 2024-06-12 13:47:10 -04:00
Jonah Graham
4e1a7bc297
Start building against Eclipse Platform 4.33 I-builds (#820) 2024-06-11 13:16:28 -04:00
Jonah Graham
7fcfbb0f96
Prepare repo for 11.7.0 development (#813) 2024-06-05 13:19:53 -04:00
Ed Merks
582ff60b14
Update org.assertj:assertj-core to 3.26.0 (#800) 2024-05-27 21:06:40 -04:00
Ed Merks
f12d4815d9
Update org.apache.commons:commons-compress to 1.26.2 (#799) 2024-05-24 12:28:28 -04:00
Ed Merks
eeb4f03481
Update gson to 2.11.0 (#798) 2024-05-21 20:45:22 -04:00
Jonah Graham
238d38b987
Improve error message when service segment bump is needed (#791) 2024-05-17 13:47:33 -04:00
Jonah Graham
237c326a58 Choose latest of commit date and author date for the end of copyright 2024-05-15 15:58:23 -04:00
Ed Merks
271041be36
Update org.apache.aries.spifly.dynamic.bundle to 1.3.7 (#785) 2024-05-14 11:26:16 -04:00
Ed Merks
c1fdc48156
Include cdt-lsp in the CDT.setup (#786)
- Configure the JRE for Java 21.
- Clone cdt-lsp
- Include its source locator in the targlet
- Configure both clones to rebase new branches by default.
- Add a working set for the CDT LSP projects.
2024-05-14 10:49:13 -04:00
Ed Merks
01a5438e55
Update direct-from-maven dependencies to latest available minor versions (#784)
Use orbit-aggregation/2024-06.
2024-05-13 20:01:48 -04:00
Ed Merks
a41bb33d67
Update CDT.setup's modular targlet to include a site for mylyn.wikitext (#783) 2024-05-13 11:35:57 -04:00
Jonah Graham
01d6b54f8e Update versions of dependencies 2024-05-12 16:12:17 -04:00
Jonah Graham
0568568c33 Change standalone debugger to no longer limit number of bundles
The maintenance of having a streamlined standalone debugger that
starts as fast as possible is no longer possible. See for
example #591 - therefore when using standalone debugger, use
the same sets of plug-ins/features as the product it is installed
in uses. The side effect is that the standalone debugger in this
use case will start slower and extra "stuff" will be present in
this UI.

For people just building the standalone debugger, provide a minimum
feature set. This will be many more bundles than before, but
should still provide a reasonably small set that starts well.

This simplification also includes removing the the duplicates set
of CDT docs (debug/org.eclipse.cdt.debug.application.doc). These
provided a simplified version of CDT's documentation targetted
at just standalone debugger. However there are a few problems related
to this duplication:

- The two sets of docs were not kept in sync
- The standalone docs appear in the online help, leading to
  duplicated entries
- With the config.ini changes above, there is no way to exclude
  the main docs in the standalone case, so remove the duplicate

A number of directly related clean-ups are included too:

- Remove the `ConfigGenerator.java` that stopped being referenced
  in PR #761
- Complete the removal of `build-standalone-debugger-rcp` profile
  that was started in #761. There is a small drawback to not having
  this profile, the standalone debugger is very slow to build
  compared to the rest of CDT. If this becomes a problem, restoring
  this profile along with the changes made in #761 is reasonable.
- bring debug.product's licenses up to date
- modernize command line args to eclipse when using debug.product

Fixes #781
2024-05-12 16:12:17 -04:00
Marc-Andre Laperle
5f2fcd0f19 Fix missing mylyn.wikitext dependency
lsp4e depends on mylyn.wikitext but it could not be found.
For example: https://github.com/eclipse-cdt/cdt/actions/runs/9026888723/job/24804874235?pr=778
2024-05-09 23:49:52 -04:00
Jonah Graham
cc66780e92 Cleanup CDT repo related to the docker + Java 21 updates
- Fix links for cdt-infra
- The cdt-infra git repo is now archived, so this commit updates
the links to the current values.
- Add new Docker related files to the gitattributes as text files
- Update DEFAULT_BUFFER_SIZE for Java 21's value when building JNI,
this also means the dll/exe need a rebuild
- add a toolchains.xml since we use Java 21 toolchain, but most bundles
are Java 17 still
2024-04-26 20:26:40 -04:00
Alexander Fedorov
88355ecc48 [#657] CDT cannot be built on Java 21 due to security manager changes
* Switch CI to Java 21
* Remove config generation for debug application
* Remove `org.eclipse.osgi.services` from `proxy.server` product
* Remove `org.eclipse.osgi.services` from
`org.eclipse.cdt.debug.application.product` product
* Move `org.eclipse.cdt.debug.application.product` from profile to
general part

Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2024-04-19 22:16:40 +03:00
Jonah Graham
98e86ff23a CDT 11.5.0 composites 2024-03-10 12:44:13 -04:00
Jonah Graham
7f5080a3d0
Update to Eclipse Platform 4.32 for CDT 11.6 development (#731)
Pulled out of https://github.com/eclipse-cdt/cdt/pull/729 due
to instability in tests caused by a platform change.
2024-03-08 16:29:22 -05:00
Jonah Graham
221d346f6d
Prep repo for 11.6.0 (#729) 2024-03-07 14:17:45 -05:00
Jonah Graham
207bddab5a
Build with Tycho 4.0.6 (#715)
Includes bundle version bumps for new version of ECJ and
target platform update.

Co-authored-by: Александър Куртаков <akurtakov@gmail.com>
2024-02-22 21:38:57 -05:00
G. Hentschke
424f3112a7
CDT LSP 1.1.0 download files (#714)
Part of https://github.com/eclipse-cdt/cdt-lsp/issues/210
2024-02-21 17:45:15 +01:00
kuch3n
8e3012c902
#461 Add support for freescale compiler (#462)
Parse command line arguments for chc08/12 and file based compiler build-ins
2023-12-28 18:08:20 -05:00
Michael Keppler
d4102ca82f
Clean up Maven build (#662)
* remove invalid tycho resolver config (not valid since many versions)
* fix PMD plugin configuration (config attribute was renamed in 3.18)
* remove duplicate versions already managed in pluginManagement section
* fix indentation
* move all not yet configured versions into pluginManagement of the
parent module to avoid further duplication
* consume the target platform as file, not as maven artifact (this
simplifies building a single module A LOT)
* remove invalid tycho-source-plugin configuration
* disable tycho consumer POM generation (not needed here, and avoids a
warning in each module)
* remove prerequisites. that's for maven plugins only, and this POM
already contains the better suited similar maven enforcer rule
* enforce UTF-8 for javadoc generation (the build fails on Windows
otherwise, trying to read some Japanese? characters with the Windows
default encoding)
2023-12-28 14:35:58 -05:00
Jonah Graham
37ff19400f
Quote eclipse in cleanup script (#661)
This is to support cases where eclipse is installed in path
with spaces
2023-12-27 20:58:12 -05:00
Michael Keppler
c1197e2504
Fix typo in build script output (#659) 2023-12-27 16:34:19 -05:00
Jonah Graham
f7a63377a6
Prepare repo for 11.5.0 (#633) 2023-12-06 18:48:15 -05:00
Jonah Graham
a9e1ddb81e CDT 11.4.0 composites
Part of #548
2023-12-06 10:25:26 -05:00
Jonah Graham
029e4bda78 Prepare repo for 11.4.0 RC2 2023-11-27 11:08:34 -05:00
Jonah Graham
4aa793a651
Use the bundle providing javax.activation package in simrel (#626)
Because javax.activation 1.2.2.v20221203-1659 is in SimRel (for now)
it gets picked by p2 over jakarta.activation-api 1.2.2 which provides
the same packages.

As and when we update to Jave EE 9 (IIUC) we should be able to solve this
in a cleaner way and not rely on the old orbit bundles. Also, if and
when all projects contributing to simrel remove 1.2.2.v20221203-1659 then
we can change too.

The other option is to try to force the jakarta.activation-api 1.2.2 into
simrel and the EPP packages, but if we accidentally end up with both in
a product then other things don't work, e.g. like this error:

<details>
<summary>frame work error details</summary>

```java
!ENTRY org.eclipse.cdt.debug.application 4 0 2023-11-20 15:06:47.456
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.cdt.debug.application [101]
  Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf; bundle-version="2.4.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.dsf; bundle-version="2.12.0.202211062329"; singleton:="true"
       org.eclipse.cdt.dsf [116]
         No resolution report for the bundle.  Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf.ui; bundle-version="2.4.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.dsf.ui; bundle-version="2.7.200.202311031553"; singleton:="true"
       org.eclipse.cdt.dsf.ui [119]
         Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf; bundle-version="2.0.0"
           -> Bundle-SymbolicName: org.eclipse.cdt.dsf; bundle-version="2.12.0.202211062329"; singleton:="true"
  Unresolved requirement: Require-Bundle: org.eclipse.cdt.gdb; bundle-version="7.0.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.gdb; bundle-version="7.2.100.202303140100"; singleton:="true"
       org.eclipse.cdt.gdb [121]
         No resolution report for the bundle.  Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf.gdb.ui; bundle-version="2.4.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb.ui; bundle-version="2.8.300.202309151124"; singleton:="true"
       org.eclipse.cdt.dsf.gdb.ui [118]
         Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf.ui
           -> Bundle-SymbolicName: org.eclipse.cdt.dsf.ui; bundle-version="2.7.200.202311031553"; singleton:="true"
         Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf.gdb; bundle-version="[7.0.0,8.0.0)"
           -> Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb; bundle-version="7.1.200.202309151124"; singleton:="true"
              org.eclipse.cdt.dsf.gdb [117]
                Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf
                  -> Bundle-SymbolicName: org.eclipse.cdt.dsf; bundle-version="2.12.0.202211062329"; singleton:="true"
                Unresolved requirement: Require-Bundle: org.eclipse.cdt.native.serial; bundle-version="1.1.100"
                  -> Bundle-SymbolicName: org.eclipse.cdt.native.serial; bundle-version="11.4.0.202311201859"
                     org.eclipse.cdt.native.serial [141]
                       No resolution report for the bundle.                Unresolved requirement: Require-Bundle: org.eclipse.cdt.gdb; bundle-version="7.0.0"
                  -> Bundle-SymbolicName: org.eclipse.cdt.gdb; bundle-version="7.2.100.202303140100"; singleton:="true"
         Unresolved requirement: Require-Bundle: org.eclipse.cdt.native.serial; bundle-version="1.1.100"
           -> Bundle-SymbolicName: org.eclipse.cdt.native.serial; bundle-version="11.4.0.202311201859"
         Unresolved requirement: Require-Bundle: org.eclipse.tm.terminal.control; bundle-version="4.0.0"
           -> Bundle-SymbolicName: org.eclipse.tm.terminal.control; bundle-version="5.5.100.202311142253"; singleton:="true"
              org.eclipse.tm.terminal.control [506]
                No resolution report for the bundle.         Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf
           -> Bundle-SymbolicName: org.eclipse.cdt.dsf; bundle-version="2.12.0.202211062329"; singleton:="true"
  Unresolved requirement: Require-Bundle: jakarta.activation-api; bundle-version="[1.2.2,2.0.0)"
    -> Bundle-SymbolicName: jakarta.activation-api; bundle-version="1.2.2"
       jakarta.activation-api [30]
         No resolution report for the bundle.  Unresolved requirement: Require-Bundle: org.eclipse.cdt.dsf.gdb; bundle-version="4.2.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.dsf.gdb; bundle-version="7.1.200.202309151124"; singleton:="true"
  Unresolved requirement: Require-Bundle: org.eclipse.cdt.gdb.ui; bundle-version="7.0.0"
    -> Bundle-SymbolicName: org.eclipse.cdt.gdb.ui; bundle-version="7.2.0.202211062329"; singleton:="true"
       org.eclipse.cdt.gdb.ui [122]
         No resolution report for the bundle.  Bundle was not resolved because of a uses constraint violation.
  org.apache.felix.resolver.reason.ReasonException: Uses constraint violation. Unable to resolve resource org.eclipse.cdt.debug.application [osgi.identity; osgi.identity="org.eclipse.cdt.debug.application"; type="osgi.bundle"; version:Version="11.4.0.202311201855"; singleton:="true"] because it is exposed to package 'javax.activation' from resources jakarta.activation-api [osgi.identity; osgi.identity="jakarta.activation-api"; type="osgi.bundle"; version:Version="1.2.2"] and javax.activation [osgi.identity; osgi.identity="javax.activation"; type="osgi.bundle"; version:Version="1.2.2.v20221203-1659"] via two dependency chains.

Chain 1:
  org.eclipse.cdt.debug.application [osgi.identity; osgi.identity="org.eclipse.cdt.debug.application"; type="osgi.bundle"; version:Version="11.4.0.202311201855"; singleton:="true"]
    require: (&(osgi.wiring.bundle=jakarta.activation-api)(&(bundle-version>=1.2.2)(!(bundle-version>=2.0.0))))
     |
    provide: osgi.wiring.bundle: jakarta.activation-api
  jakarta.activation-api [osgi.identity; osgi.identity="jakarta.activation-api"; type="osgi.bundle"; version:Version="1.2.2"]

Chain 2:
  org.eclipse.cdt.debug.application [osgi.identity; osgi.identity="org.eclipse.cdt.debug.application"; type="osgi.bundle"; version:Version="11.4.0.202311201855"; singleton:="true"]
    require: (&(osgi.wiring.bundle=jakarta.xml.bind-api)(&(bundle-version>=2.3.3)(!(bundle-version>=3.0.0))))
     |
    provide: osgi.wiring.bundle; bundle-version:Version="2.3.3"; osgi.wiring.bundle="jakarta.xml.bind-api"
  jakarta.xml.bind-api [osgi.identity; osgi.identity="jakarta.xml.bind-api"; type="osgi.bundle"; version:Version="2.3.3"]
    import: (osgi.wiring.package=javax.activation)
     |
    export: osgi.wiring.package: javax.activation
  javax.activation [osgi.identity; osgi.identity="javax.activation"; type="osgi.bundle"; version:Version="1.2.2.v20221203-1659"]
	at org.eclipse.osgi.container.Module.start(Module.java:463)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1852)
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1845)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1786)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1750)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1672)
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
```

</details>

The underlying problem here is that the debug application's "product" that
gets converted to a config.ini at CDT build time doesn't expose its
dependencies fully to p2, so we end up with a built product in EPP that
doesn't have everything listed in config.ini.

There is significant maintenance overhead and it is growing to keeping
standalone as it is now working. Other options should probably be considered,
such as using the config of the full product when launching.

Fixes #591
2023-11-21 13:57:24 -05:00
Jonah Graham
1c52b57b85 Prepare repo for 11.4.0 RC1 2023-11-20 16:19:38 -05:00