1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00
Commit graph

3227 commits

Author SHA1 Message Date
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
75c779fc1d Remove non-functioning Qt plug-ins
Fixes #123
2022-10-29 18:56:47 -04:00
Jonah Graham
ad478cecc1 Provide a way to wait on background build settings update job
Part of #117
2022-10-25 22:56:02 -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
Martin Weber
88021dc82a Do not overwrite custom build system ID with MBS ID
Signed-off-by: Martin Weber <11367029+15knots@users.noreply.github.com>
2022-10-21 22:04:54 +02:00
Jonah Graham
e4e06008af Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -04:00
Jonah Graham
110ac149c2 [releng] Bump versions for CDT 11.0.0 2022-10-03 12:42:37 -04:00
Jonah Graham
efaadf4209 [releng] Update help docs for 2022-12 M1 2022-10-03 12:42:37 -04:00
Jonah Graham
93fbce4f2c Bump cdt.ui major version for CDT 11.0 development 2022-09-09 20:18:47 -04:00
Christian Walther
ef195dbb73 Fix flaky tests in BuiltinSpecsDetectorTest
testAbstractBuiltinSpecsDetector_EnvChangesGlobal did not properly clean
up after itself, which caused
testAbstractBuiltinSpecsDetector_EnvChangesConfiguration_1,
testAbstractBuiltinSpecsDetector_EnvChangesConfiguration_2, and
testAbstractBuiltinSpecsDetector_EnvChangesGlobal to fail when run for
the second time in the same session.

Running tests twice is not useful, but happens in Eclipse with a launch
configuration set to run all tests in
org.eclipse.cdt.managedbuilder.core.tests/tests - once directly and once
through AllLanguageSettingsProvidersMBSTestSuite. I have not found any
way of running every test exactly once in the GUI.
2022-08-22 12:17:50 -04:00
Christian Walther
5f3cd7ac20 Fix flaky test testPersistentProperties
Don't sleep for a hardcoded time but wait for the actual condition.
1000 ms was often insufficient on my system.
2022-08-22 12:17:50 -04:00
Torbjörn Svensson
054e494e10 Bug 580113: Do not reuse ICommandLauncher
Each command should have it's own command launcher. The alternative is
to ensure that the previous command has finished prior to launching the
next one, but that's harder to acchieve as it's up to the consumer of
Builder to fullfill.

Contributed by STMicroelectronics

Change-Id: I17038220ccd7c1767328ecfce92f28d8205c1d56
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-08-16 16:03:27 +02:00
John Dallaway
a9c3819565
Bug 580286: Accommodate extra flags with internal builder (#31) 2022-08-15 18:56:10 +01:00
John Dallaway
7c6bd5bdcb Bug 580441: Accommodate deleted folder of source files
Eliminate ResourceException by avoiding processing a deleted source
folder resource as a modified resource.

Change-Id: Icfa10040d4d3c6c06b2a4c040e7b632e94dff324
2022-07-26 08:22:58 +01:00
Mat Booth
5e4a66b0af Bug 580178 - Unable to stop build process from launchbar
Switch from the standard Java ProcessBuilder to the CDT CommandLauncher
for new style core build projects.

The CommandLauncher uses a more sophiscated mechanism for watching the
spawned process allowing us to interrupt the process when the user hits
the stop button on the launchbar by properly listening to a monitor.

The change adds new API to CBuildCongifuration that takes a progress
monitor, and changes all the affected build configuration types to use
this new API.

Change-Id: I0c4225616ad8331c2cea28bcb502028455a8ea71
2022-06-30 12:34:16 -04:00
William Riley
c678c76a40 Bug 580009 - Avoid rare NPE due to folder info not being loaded
Guard against NPE. Full cause needs to be investigated but with this
check the behaviour is no worse than before in these cases

Change-Id: I27ed2cd915e21fca2ef07335820d9e2496c1c51d
2022-05-31 15:34:50 +01:00
William Riley
133c81e979 Bug 580009 - Resolve superclass for tc level options in rc configs
Change-Id: I03093b687bc36610ab7cf83d7e75401ac7a4fdfe
2022-05-27 11:34:06 +01: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
John Dallaway
7357cfd9eb Bug 577263: Eliminate unnecessary command line pattern attributes
We eliminate unnecessary command line pattern attributes that were
overriding the default pattern provided by
org.eclipse.cdt.managedbuilder.internal.core.Tool which now includes
${EXTRA_FLAGS}.

Change-Id: I8c4e8e613599e71e31e390f56319bacfd0329ab2
2022-05-05 11:13:28 +01:00
Torbjörn Svensson
2a669100f0 Bug 577263: CommandGenerator not respected for option value type libs
Contributed by STMicroelectronics

Change-Id: I2c332eb40b6b69aff405c2c7c86cdcd4acaf5d19
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Also-By: Erik Hentschke <erik.hentschke@bachmann.info>
Also-By: John Dallaway <john@dallaway.org.uk>
2022-05-04 12:45:27 -04:00
Torbjörn Svensson
a58a1bdd2e Bug 579756: Add support for prefixed toolchain binaries in parser
The GCCBuildCOmmandParser expects the compiler tool to be exactly what's
included in the pattern, i.e. a prefixed toolchain (for example
"arm-none-eabi-" would not match.

Contributed by STMicroelectronics

Change-Id: I9e6b83509ecac9c382f565e5c7b737d12398a196
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-25 15:34:13 -04:00
Torbjörn Svensson
5c15ff72a2 Ensure project is removed after test
Contributed by STMicroelectronics

Change-Id: I2d944bb2d2e2704bcc248d6058475d247318f327
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-04-24 12:08:17 -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
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
Jonah Graham
1f0451c163 [releng] Prepare for 10.7.0 with version bumps
All the about.html files are updated, so every bundle that hasn't
already had a bump in 10.7 needs one now

Change-Id: I6143d2fbe77a58a3a6d2f4a226d96087117f9ac1
2022-04-13 13:15:06 -04:00
Jonah Graham
5c4d54df1a [releng] Update comparator repo to 10.6.0
Change-Id: Ie4e5bc90a41bb6e47cd34afb42126e1934fcc042
2022-04-10 20:55:36 -04:00
Jonah Graham
e8d924bb9a [releng] Bump versions for 10.7.0
Change-Id: Ibada1ef26f47f4238ae64f53fb67a73125534347
2022-04-10 20:55:36 -04:00
Jonah Graham
acfd3c5179 [releng] Bump doc generator to new version
Change-Id: I505e3a059053d6a40951f0a365aebbbe49f24032
2022-04-10 20:55:36 -04:00
Torbjörn Svensson
c4920f78f9 Bug 578367: Include the .css files in the built jar file
Contributed by STMicroelectronics

Change-Id: Ia7381071d1e8b806434ab4633549eb1a5177a584
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2022-03-31 14:41:22 +02:00
Jonah Graham
96f928152f Bug 579138 - Project dependencies are not built in the correct order
Fixing the issue where circular dependencies cause stack overflow.

Change-Id: I4ca87eb4e8ccb82b25f85d1cea04fc0d4ddd60c0
Signed-off-by: Umair Sair <umair_sair@hotmail.com>
2022-03-08 17:05:13 -05:00
Jonah Graham
cb1228180c Bug 578367: Add missing dark color definitions for autotools and makefiles
The colors chosen were based where possible on the colors of the CDT
main editor (org.eclipse.cdt.ui/css/e4-dark_cdt.css) for similar
syntax/semnatic elements.

Change-Id: Iea6ccb481b8d1b16aa2d6dda16e44b2512662fa0
2022-01-25 15:25:27 -05:00
Jonah Graham
e9025adc2d Bug 578367: Prepare for CDT 10.6.0 dev
Change-Id: Ibcdfb5e3aa1bbd47cd4c53e1a7be6d69dbe92c81
2022-01-25 15:25:27 -05:00
Jonah Graham
cf00e4b27e Bug 578187: Don't discard make arguments
If a user set the make arguments manually to what the automatic
arguments would have been if enabled, they would be discarded. This
change does not do that bit of magic anymore because the user
now (since Bug 568397) edits the build command and arguments
separately so less magic needs to happen in the code.

This is a follow-up to Bug 568397.

Change-Id: Ie8f51cbb86133fc4a9506913743613712e93d881
2022-01-12 18:57:12 -05:00
Jonah Graham
640dc53892 [releng] Bump version numbers for all modified projects
Change-Id: I0d78c550512d8e63374bf1bc3a53f80e5d387e31
2022-01-12 18:57:12 -05:00
Jonah Graham
431e5ffd23 [releng] Bump end year on copyright on all modified features
Change-Id: I0d35eb6514d87fb6dcba0a284f58963b80861d51
2022-01-12 18:57:12 -05:00
Jonah Graham
dbd7558f17 [releng] Bump to CDT version 10.6.0
Change-Id: I28629cdfb0906ce7f1b33a88cbbd55521afc8f6b
2022-01-12 14:07:45 -05:00
Jonah Graham
d3ad918c14 [releng] Update help-docs-eclipserun-repo in root pom.xml
and:
- bump versions of all the docs plug-ins.
- improve comment so that next person can do it more easily
- change to using https in the URL

Change-Id: I62bd970f03e1ce081d4655ddbf6c742be2623acd
2021-12-14 11:17:55 -05:00
Christian Walther
f138ad10e8 Bug 575490: "No rule" after removing last source file from root
Include the top-level subdir.mk only when one was actually generated
(i.e. when there are source files there), just like for all other
subdir.mk, otherwise a stale one from earlier when there were source
files that have since been removed may be picked up, causing "No rule to
make target" errors.

In some cases (from bug 303953), the removal would be noticed and the
stale subdir.mk be overwritten by a correct empty one, avoiding the
error, but not in the following cases:
- When CommonBuilder.performCleanning() decides that a full rebuild is
needed, regenerateMakefiles() is called instead of generateMakefiles(),
which doesn't get the delta.
- When the refresh in which Eclipse notices the removed source file
happens as part of a build (one that probably failed because the
makefiles weren't updated yet), the next build after that apparently
does not get the delta containing the removal anymore.

Change-Id: Id15b424f02dd5c513d2124620c0c8699d61874fd
Signed-off-by: Christian Walther <walther@indel.ch>
2021-11-02 12:45:10 +01:00
Christian Walther
3afae27158 Bug 575702: Nondeterministic makefile ordering
Several parts of makefile output were generated by iterating over
HashMaps, which do not have a deterministic iteration order. Use
TreeMaps instead to output in sorted order. This is possible now that
the API function with return type HashMap is no longer public API and
can be changed to return Map instead.

Benchmark files for affected tests are updated to the new ordering.
This would not be strictly necessary: the tests would also succeed
without, since org.eclipse.cdt.managedbuilder.testplugin.
ManagedBuildTestHelper.compareMakefiles() uses a reordering-tolerant
comparison. However, recording the new (now hopefully stable) order
makes future development on makefile generation easier by avoiding
spurious diff output when tests fail due to changes to other parts of
makefiles.

Change-Id: I20f2e51bd5b9e3bcc5da245d781ca5b4a34fc0b2
Signed-off-by: Christian Walther <walther@indel.ch>
2021-11-02 10:47:17 +01:00
Christian Walther
32a6ad1f4d Bug 575702: Nondeterministic makefile ordering (prelude)
This fixes a small and rarely hit in practice regression regarding
nondeterministic ordering in makefile output introduced in 15c29eb (bug
505882).

Multiple values for a build output variable were previously output in
definition order. Now they are generated by iterating over a HashSet,
which does not have a deterministic iteration order. Use a TreeSet for
output in a consistently sorted order instead.

Output variables with multiple values are rare (most tools generate one
output file of a particular type) and this case was not exercised in the
existing unit tests. Modify one such that it does (even if in a somewhat
contrived situation). Of note, ${OUTPUT} cannot be used in the
commandLinePattern for such a tool because it squashes the multiple
values into a single quoted file name - misuse ${FLAGS} instead.

Change-Id: Iaa28525c21d74c87dd4d72a03e334ed0e5576727
Signed-off-by: Christian Walther <walther@indel.ch>
2021-11-02 10:40:32 +01:00
Mat Booth
a957e8121d Bug 575145 - Importing CMake/Meson Projects
Add API to o.e.tools.templates.ui that hooks into the smart import
feature and allows easy implementation of configurators for various
CDT project types.

Project types that have a IGenerator may use this API to offer smart
import functionality by registering their implementation using the
org.eclipse.ui.ide.projectConfigurator extension point.

This change includes project import implementations for Meson and
CMake project types.

For these project types users can use the normal project import
workflow for their existing non-Eclipse CMake projects instead of
using the New Project Wizard. As an additional benefit, users
can now also import more than one project at a time, even nested
projects.

Change also includes SWTBot tests to exercise the feature.

Signed-off-by: Mat Booth <mat.booth@gmail.com>
Change-Id: I96589e86bee561aa200a4a4487549305765d6409
2021-10-31 11:21:35 +00:00
Torbjörn Svensson
126cf32803 [test] Remove projects from workspace even on failures
If these tests fail, they cause a series of metadata corruption that
will render most/all test executed after as unreliable. Usually, there
is about ~150 test cases that fail without reason when one of these
fails.

Contributed by STMicroelectronics

Change-Id: Ic71ace8b6a55c49dd729d40385b245f12dbd6d85
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-28 21:20:14 +02:00
Torbjörn Svensson
38d45364cf Bug 505882: Drop internal IManagedBuildGnuToolInfo interface
The interface has no use as it's hardcoded to be an instance of
ManagedBuildGnuToolInfo in the GnuMakefileGenerator anyway.

Contributed by STMicroelectronics

Change-Id: I0e9130ef485d103e7114e0d122015c062253b4bb
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-24 13:16:52 -04:00
Torbjörn Svensson
81a85f8ae9 Bug 505882: Remove deprecated functions
Contributed by STMicroelectronics

Change-Id: Ib811a02cc97ee8afd2343b82b1c7e2e76f9ed0e6
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-24 13:16:52 -04:00
Torbjörn Svensson
15c29ebf2c Bug 505882: Generate clean target per subdir.mk
To avoid errors like "Command line too long" when removing build
artifacts, split the clean command on multiple lines. In order to
properly handle whitespace etc, generate a new clean target in each
subdir.mk with the explicit list of files to remove in that directory.
The command should be splited on a sane length, 6000 is used in the
internal builder, so reuse that limit here.

Contributed by STMicroelectronics

Change-Id: I843e1ac896076d279173c421210b72f4a325296f
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-20 13:56:36 -04:00
Torbjörn Svensson
c831994958 Bug 505882: Fork the GnuMakefileGenerator into non-API
One more place where the GnuMakefileGenerator is instanciated that
should have been changed in previous commit.

Contributed by STMicroelectronics

Change-Id: Ib89d5e77cbdd2148723b9b1a80cafb72d35390a4
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2021-10-20 13:53:17 -04:00
Jonah Graham
8d173637f7 Bug 505882: Fork the GnuMakefileGenerator into non-API
The GnuMakefileGenerator is a huge file that needs lots of fixes.
However most of the time to implement the fixes are taken up trying
to not break API. Most extenders of CDT provide their own
implementation of GnuMakefileGenerator by copying the CDT one
and modifying it. Therefore CDT is going to take that same
approach internally and leave the existing GnuMakefileGenerator
in its unmodifiable state.

Change-Id: I12fafb5e347112648a02d4593267bd88a47b5c88
2021-10-18 15:30:08 -04:00
Jonah Graham
ad4d444823 [releng] Prepare for CDT 10.5.0
Change-Id: I9b72edf4a0ff0771a147934dd7f1c92ba1ee799a
2021-09-26 20:23:17 -04:00
Jonah Graham
083b7b1964 Typo.
Change-Id: I4d9ec6da1f02cc41643539c17ba34567ec95ba7b
2021-09-10 10:08:18 -04:00