1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 17:35:35 +02:00
Commit graph

5167 commits

Author SHA1 Message Date
Jonah Graham
1087dc5f22 [releng] Require target platform bundles as minimum version
Without setting dependent plug-ins to minimum version to match the
target platform we are aiming for we can imply (and therefore let install)
CDT into older versions of Eclipse where CDT does not actually work.

This can be exposed in very odd ways, such as IllegalAccessError, when
platform has allowed API changes.

However, rather than update every single bundle in CDT, only the
o.e.cdt.core/ui bundles are being updated as this should achieve the
desired result without every other bundle needing to be touched.

See Bug 536448
Part of #77
2022-11-29 16:20:31 -05:00
Jonah Graham
b8bd15844b Bug 571722: Add ALL_FLAGS for scanner discovery
This change adds the ALL_FLAGS that does not limit tool options to
those declared as IOption::isForScannerDiscovery when launching the
compiler to discover compiler built-ins.

This is needed as many other flags, either entered manually in "Other
flags" or some of the existing flags with checkboxes such as "-ansi",
"-fPIC", and "-fstack-protector-all" which all affect scanner discovery
as they can all change what macros are built-in to the compiler.

The current solution has as a drawback that some settings, like -I and -D
then appear twice. For example in the "Includes" node in the "Project
Explorer"

My only reservation about this change is if there is an option
that can be specified successfully at build time, but when used
at scanner discovery time causes the compiler to fail, or return
incorrect results. Therefore I have added a new field,
excludeFromScannerDiscovery to tool options (buildDefinitions
extension point) that allows tool integrators to always exclude
a command line option from ALL_FLAGS. I have also added
a new "Other flags (excluded from discovery)" to the
"Miscellaneous" tab to allow compiler options to be entered
by the user.
2022-11-21 10:46:49 -05:00
Jonah Graham
1893069eb5 Remove unmaintained LSP and DAP support from CDT
Fixes #139
2022-11-09 19:47:22 -05:00
Jonah Graham
14dfefddb5 Add extension point schema for BinaryParserPage
This extension has been in existence since very early days
of CDT, but it never(?) had a schema, so the improvements
done in #136 will now show errors in use of this extension.
2022-11-07 20:58:25 -05:00
Jonah Graham
6eaaf714cc Upgrade build.properties warnings to errors
Warning in build.properties will be errors when they run
in the tycho build, like this:

```
Error:  Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.7.5:package-plugin
(default-package-plugin) on project org.eclipse.cdt.core.tests:
/home/runner/work/cdt/cdt/core/org.eclipse.cdt.core.tests/build.properties:
bin.includes value(s) [test.xml] do not match any files. -> [Help 1]
```

So make them errors in the workspace so that the issue is
detected before push.

Some build.properties issues don't affect the build, but
are still indicative of a problem.
2022-11-06 18:29:28 -05:00
Jonah Graham
ac979bd9e1 Fix unhandled event loop exception when binary parser is not in plugin.xml
If a .cproject references a binary parser ID that is not in
the plug-in XML, or in the XML, but marked as private, the
UI cannot display the binary parsers and was raising an
ArrayIndexOutOfBoundsException as below.

This fix rewrites the array handling using collections.


```java
!ENTRY org.eclipse.ui 4 0 2022-11-04 09:44:27.409
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7
	at org.eclipse.cdt.ui.newui.BinaryParsTab.updateData(BinaryParsTab.java:253)
	at org.eclipse.cdt.ui.newui.AbstractCPropertyTab.setVisible(AbstractCPropertyTab.java:253)
	at org.eclipse.cdt.ui.newui.BinaryParsTab.setVisible(BinaryParsTab.java:221)
	at org.eclipse.cdt.ui.newui.AbstractCPropertyTab.handleTabEvent(AbstractCPropertyTab.java:630)
	at org.eclipse.cdt.ui.newui.AbstractPage.updateSelectedTab(AbstractPage.java:412)
	at org.eclipse.cdt.ui.newui.AbstractPage$4.widgetSelected(AbstractPage.java:382)
```
2022-11-04 12:02:15 -04:00
Jonah Graham
1f19cff227 Make missing identifiers and classes in plugin.xml errors
Subsequent commits fix the errors
2022-11-04 08:19:23 -04:00
Jonah Graham
30166dea86 Bump org.eclipse.cdt.core major version
Due to the removal of previous API done in:

- PR #103
- commit 4de9516e97
2022-10-25 22:28:51 -04:00
Mat Booth
7edb711c7c Fixes launchbar icons looking blurry on hidpi screens
The launchbar way of compositing images for the buttons was preventing
the use of higher quality icons on hidpi dislays, making the launchbar
buttons look blurry or pixelated compared to other toolbar buttons.

Instead we can get a nicer result with a custom widget on which we can
directly draw a button border plus the hidpi version of the icon.

Also included is an attempt at a 2x hammer build button icon, which
should look a bit nicer on hidpi screens.
2022-10-19 08:41:15 +01:00
Jonah Graham
e4e06008af Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -04:00
Jonah Graham
81785221b4 Bug 579666: Make fields private/non-API that were previously marked for removal 2022-09-09 20:18:47 -04:00
Torbjörn Svensson
3af7d50c4a Improve dark theme on Windows
Switch to CTabFolder/CTabItem for newui.
This changeset is a breaking change but on a review of existing
adopters/extenders of CDT no one is actually accessing these fields.

Change-Id: Ic1ef0f242c1d2932726f3a6d4c9df9558312764a
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Also-by: Jonah Graham <jonah@kichwacoders.com>
2022-09-09 20:18:47 -04:00
Jonah Graham
93fbce4f2c Bump cdt.ui major version for CDT 11.0 development 2022-09-09 20:18:47 -04:00
Torbjörn Svensson
5aee96dfb4 Fix widget is disposed error during shutdown
After building a project and shuting down eclipse, the build console
will have a propertyChange event fired that will attempt to modify the
stream and background color that will trigger a use-after-dispose error
from SWT. This changeset ensures that the action is only taken on
non-disposed widgets.

Contributed by STMicroelectronics

Change-Id: I872c28da1b2fca7ec39f5b12d9d1ec398e559814
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-08-16 16:04:11 +02:00
Torbjörn Svensson
a1794246d5 Bug 579876: Use same bgcolor for occurrence in editor as JDT
Contributed by STMicroelectronics

Change-Id: Ic1bfd9af7d308a8c9b14a9b2f40bbd278a0ceca0
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-05-13 10:07:53 -04:00
Torbjörn Svensson
b86404669a Bug 579876: Make background transparent on icons
Contributed by STMicroelectronics

Change-Id: I51432f72979b7f1d95543ea1f7fcb48c3543bac7
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-05-10 17:27:54 +02:00
Torbjörn Svensson
a2e6ef61c9 Bug 579666: Improve dark theme on Windows
On Windows, the TabFolder and TabItem classes does not follow the
themeing in Eclipse. As a result, the tab selectors will be drawn with
the light theme while the rest of the Eclipse UI is in dark theme.

Contributed by STMicroelectronics

Change-Id: I9169c9e01f8c9a3af7b6bb6d1c673a043735e7e9
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-05-06 04:38:00 -04:00
Jonah Graham
a1c02e2cce [releng] Apply auto-clean of save to all files with Eclipse 4.23
This mostly is using diamond operator, but includes
adding missing @Override and organizing imports and
applying formatting improvements in the JDT formatter.

Change-Id: Id91cbff33b0a039cc5121945ffbc407ecba45866
2022-04-19 20:13:15 -04:00
Jonah Graham
148ae40d0f [releng] Make CDT Clean-up profile match Editor on save actions
The CDT Cleanup profile had a bunch of extra cleanups applied to it, this
prevents running the CDT cleanup profile manually to simulate running the
save actions on all Java files

Change-Id: Iad491e1258a4ba90d81d1457ea0f6779e3663e38
2022-04-19 20:13:15 -04:00
Jonah Graham
ad1473feef Bug 579666: Mark parts of AbstractPage API for deletion
Change-Id: Iddade3b1a1fb848703d87ee9d1d3233bd6ab55ed
2022-04-18 19:27:48 -04:00
Torbjörn Svensson
96d8c32368 Prevent NPE in property change callback
Contributed by STMicroelectronics

Change-Id: I7be0660541bfe85cd0c371eddeb7ef14eb2fe75d
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-17 17:27:24 -04:00
Jonah Graham
5e5373982f Cosmetics.
Change-Id: I7b563198e5b0b5eb58d3d270b134afa62e9b0dc5
2022-04-17 15:05:08 -04:00
Torbjörn Svensson
f5446675ec Bug 579666: Mark fileds and internal class for removal
This is the first step towards fixing the dark theme on windows.
In order to fix the AbstractPage class, an API breakage is required and
this will pave the way to let any sub-classers know that things are
about to change. From my point of view, the marked fields and the
InternalTab class should never have been part of the API as they are
internal to the AbstractPage class that contains proper API methods.

Contributed by STMicroelectronics

Change-Id: Icfea8c963727718d4dc99e8df916674384dcb532
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-14 05:42:04 -04:00
Jonah Graham
7400e22b1f [releng] Update all legal files with update_legal_files.sh
The about.html was changed as per
https://gitlab.eclipse.org/eclipsefdn/it/websites/eclipse.org/-/issues/90

Change-Id: Ied879279460a8fc610630fc26794ab3df9eae39f
2022-04-13 13:42:35 -04:00
Torbjörn Svensson
c5f0f85be0 Avoid NPE and redrawing disposed widget
Contributed by STMicroelectronics

Change-Id: I753844ff035bc6b3511c1e283e80e37bd547b6e7
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-12 03:29:30 -04:00
Jonah Graham
5c4d54df1a [releng] Update comparator repo to 10.6.0
Change-Id: Ie4e5bc90a41bb6e47cd34afb42126e1934fcc042
2022-04-10 20:55:36 -04:00
Torbjörn Svensson
ca92f0243e Added dark theme colors for build console and editor
Editor supported dark theme except for inactive code blocks like
  #ifdef
  ...
  #endif

Contributed by STMicroelectronics

Change-Id: I192d76136946a6e4dceaba99a31eb42f7df4c584
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-06 12:23:55 +02:00
Jonah Graham
687503911b Dispose of icons in managed build settings pages
In Bug 531915 the code was rewritten to use imageDescriptorFromBundle,
which lead to url being null all the time. This meant only the last
loaded image was being disposed properly.

There fix to Bug 531915 had another side effect - it changed the caching
of icons from the Image to the ImageDescriptor.

As it has been ~4 years without the image being cached, I suppose it
is ok to leave it not cached and instead I store the images to be
disposed of in a list.

Change-Id: Id3427ebfc8720da52132bd8f11714bba1e2cd0bf
2022-02-25 11:39:22 -05:00
Jonah Graham
d4a17751d5 Bug 578220: Call the UI for saving log file "Save"
previously the button was called "Copy Build Log" because under the
hood the file was copied from the internal storage location. But users
see this as a "Save" so call it that.

Change-Id: I46fa18e87c47884d54ba8ca16d20ef68c5095663
2022-01-14 12:58:33 -05:00
Jonah Graham
a7746e4e9e Bug 578219: Make the FileDialog in Copy Build Log a Save dialog
Prior to this it was SWT.NONE which is now being interpreted as
an Open dialog which means an existing file must be selected.

In some conditions the SWT.NONE would allow a new file to be entered
that didn't exist already, so this did not affect everyone.

With this change a normal Save dialog is presented, and the OS confirm
overwrite is enabled.

Change-Id: Iea8c4211f8d9fe0c2f4d423780d91a62f6d3edab
2022-01-14 12:58:33 -05:00
Jonah Graham
51f7c4b4e4 [releng] Prepare for CDT 10.6.0
Change-Id: I78808c5292b75a3a4b651b8fda6a8f1814702571
2022-01-14 12:58:33 -05:00
Jonah Graham
fa8a6279d2 Bug 577074: Fix i18n on import/export language settings
Side effect is that the indentation in the transformer now
works properly, so the extra newlines inserted everywhere
can be removed.

This change was done by changing the output to an OutputStream
instead of a Writer so that the XML handler could set the
encoding to match what was in the settings, i.e.:
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

The non-translated language IDs are used in preference to the
translated names when importing. The export now puts that ID
(when available) in the output file. The ID is available on
normal user files (C, ASM, C++) and not on object files. The
object files probably don't have languages settings that are
exported, but this code does not exclude them from being exported.

Change-Id: I46de004bb8c6a0ca05210487a5d33390d397c720
2021-11-09 11:01:13 -05:00
Jonah Graham
c12f9e28c0 [releng] Require target platform bundles as minimum version
Without setting dependent plug-ins to minimum version to match the
target platform we are aiming for we can imply (and therefore let install)
CDT into older versions of Eclipse where CDT does not actually work.

This can be exposed in very odd ways, such as IllegalAccessError, when
platform has allowed API changes.

However, rather than update every single bundle in CDT, only the
o.e.cdt.core/ui bundles are being updated as this should achieve the
desired result without every other bundle needing to be touched.

See Bug 536448

Change-Id: I6f57e19044facd65a9214204efc9c8b2c2201590
2021-10-25 18:56:15 -04:00
GeraldMit
e8b257c645 Bug 576639 - [Accessibility][A11y] reduce JAWS table read while in table
correct previous fixes Bug 575946, Bug 575949, Bug 576090
to use only parent for accessibility add of table description.

Change-Id: Idbc39f13c06f27ed106839d922c328f3bce76d16
Signed-off-by: GeraldMit <Gerald.Mitchell@ibm.com>
2021-10-19 14:53:43 -04:00
Jonah Graham
ad4d444823 [releng] Prepare for CDT 10.5.0
Change-Id: I9b72edf4a0ff0771a147934dd7f1c92ba1ee799a
2021-09-26 20:23:17 -04:00
GeraldMit
174453ba91 Bug 576090: Fix Preference description for preference
The description for Advanced Content Assist Preference can not be read
out.

The description can  not be a stand-alone label when working with JAWS,
and titles on the page should have additional accessibility listener
values for Advanced Content Assist Preference can not be read out.

Change-Id: Ic7715676848ecefb8cf111800a2847fe6e3e30aa
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-20 00:10:01 -04:00
Gerald Mitchell
525f801293 Bug 575949: The section title cannot be read out
The section title "Elements" can not be read out from Syntax Coloring
Preferences page. "Preview" could also not be read out.

Change-Id: Ia8e8261739100808eda7bccb28b4c2fca5d59210
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-16 00:45:14 -04:00
GeraldMit
b7cc884e3d Bug 575946: Fix accessibility on C element Filter
The description for filter text on C element Filter
dialog could not be read out.

Change-Id: I7c4884cca2c1fff3d872f4775e8529e4428c86ac
Reported-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
Signed-off-by: Gerald Mitchell <Gerald.Mitchell@ibm.com>
2021-09-15 10:41:56 -04:00
Simeon Andreev
c410447f12 Bug 319668 - NPE in indexer CCorePlugin.getCProjectDescription
This change ensures code in SelectionListenerWithASTManager does not
attempt to compute an AST if the workbench is shutting down. This can
result in a NPE in the CDT core plug-in.

Change-Id: I3a0f921b3327bab9eab7169591f217c4f4766a70
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2021-08-26 17:35:17 -04:00
Marc-Andre Laperle
383211b9c7 Bug 574317 - Per-project Doxygen options are ignored
Pass along ICProject to edit strategies so that they can retrieve
per-project settings.

Change-Id: I87699917114a10439a820f9d6ec9d53f350ea50f
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-08-08 21:24:43 -04:00
Jonah Graham
b2c33dfb13 Bug 546981: Treat pragma region like pragma mark in outline view
Treats #pragma region and #pragma endregion similarly to how
#pragma mark is treated in outline view. With
region and endregion they are always surrounded by
divider lines if there is text after region/endregion, else just
a divider line is inserted.

Change-Id: Idb8bebe94363731e59412a7f31af3b54d53a2c8e
2021-07-11 20:13:46 -04:00
Jonah Graham
b6a8f778f9 Bug 546981: Add #pragma mark to Outline view
Adds #pragma mark support to outline view. With mark, dashes
(-) cause divider lines before/after the mark label.

When outline is sorted, the divider lines are omitted (lest they appear
all grouped at the bottom of the view).

The system property org.eclipse.cdt.core.model_include_pragmas can
be set to false in case there are side effects of introducing IPragma
elements to the CModel.

This change applies to the Outline view and the Quick Outline (Ctrl-o)
information popup.

Icons contributed by Greg Willits.

Also-by: Greg Willits <gwillits@marway.com>
Change-Id: I072ef26fb14e21b5453f909bade391a3f0521823
2021-07-11 20:13:33 -04:00
Marc-Andre Laperle
987d11ef42 Bug 574333 - Per-project Doxygen options are not flushed until saved a second time
When the options are applied in performApply, the call
DocCommentOwnerManager.setCommentOwner causes to set the
CProjectDescription, which causes UserDefinedEnvironmentSupplier to
flush cdt.core preferences. Then DocCommentOwnerArea.apply populates the
preference storage, but the preferences are not flushed after that
therefore the new options values only exist in memory.

Swapping the calls of DocCommentOwnerManager.setCommentOwner and
DocCommentOwnerArea.apply works but it makes no sense for the flushing
of Documentation options to depend on UserDefinedEnvironmentSupplier
flushing the preferences - it would work by a lucky accident.

A clean option would be to go through the preference's page
IWorkingCopyManager but this would involve a lot of more risky changes
in the DocOwner/Doxygen code and a vast majority of CDT code does not do
that.

Instead, this change explicitly calls CCoreInternals.savePreferences
which flushes the preferences, just like Indexer options does.

Change-Id: Id9a57cde47794f57f26ae295ec01eeb1df9aa120
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2021-06-20 00:38:08 -04:00
Jonah Graham
1610ed7b29 Cosmetics.
Remove trailing whitespace.

Change-Id: I6395b447f427b75c851d8cce2676fb14b3e1402b
2021-06-14 22:22:58 -04:00
Jonah Graham
ffc4272acb Fix NPE on projects which aren't full CDT projects
Change-Id: I4b611fe032eca9c5657d493fc60d6451bd6ddf7d
2021-06-14 22:20:28 -04:00
Jonah Graham
087e0e4a3e Typo. s/Java Element/C Element/
Change-Id: Ida00d0fe8884ebf3beb4afc9b7fb44e084a028a5
2021-06-04 21:27:49 -04:00
Jonah Graham
78b9b1e16c Bug 573498: Fix bg color when hovering over annotations in dark mode
SWT.COLOR_GRAY is gray in dark or light mode, but COLOR_TEXT_DISABLED_BACKGROUND
changes with the theme so always leaves the text legible.

Change-Id: I3d0c2d1a19baa618ef08c5c40e35fbdda11691e2
2021-05-15 16:21:33 -04:00
Jonah Graham
2c63592dd6 Bug 573546: Clear old selection in hover on annotation ruler
The select can be called twice when the expansion first opens,
so clear out the old selection before processing the new one.

If this isn't done, the oldStyles gets set to the highlighted
version on the second call, which prevents deselect from
removing the highlight.

Change-Id: Ibc8ae45d4164d380b7946cd492c29f33c9fac981
2021-05-15 16:21:13 -04:00
Lidia Popescu
41de69b06c Bug 572755: Update copyright header from previous work
Signed-off-by: Lidia Popescu <lidia.popescu@windriver.com>
Change-Id: I0286ada79fc7fc7df140475538d52dcb571a1e58
2021-05-12 10:19:07 -04:00
Lidia Popescu
60cb825cb2 Bug 573204: Persisted selection for create new file from template
Each source file could have few custom templates. If user selects a
specific template from the combo box for a specific file type, this
selection will be persistent for next file creation, but only for same
file extension.

Change-Id: I7dde198d6fefdfbbc124b8c52517dfe751009fca
Signed-off-by: Lidia Popescu <lidia.popescu@windriver.com>
2021-05-12 10:16:28 -04:00