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

3265 commits

Author SHA1 Message Date
John Dallaway
82a235fbb9 Improve encapsulation within AbstractGnuToolPrefixMacro
Part of #361
2023-04-19 18:45:01 +01:00
John Dallaway
0d9fa844bf Set tool prefix for spawning GNU tool processes
Allows the GNU tool prefix to be specified by a CDT build variable.

Modifies the Cross GCC toolchain description to provide the GNU tool
prefix.

Part of #361
2023-04-17 20:24:56 +01:00
John Dallaway
45a6e7957b Add GNU PE64 binary parser for MinGW GCC toolchain
Part of #361
2023-04-13 21:54:36 +01:00
Jonah Graham
0dabaa15fb Handle null "DisplayName" in registry
Fixes #330
2023-03-20 09:21:57 -04:00
Erwin Waterlander
a6a4bfcf3b Binary not found in Core Build Makefile project
Fixed the problem for Core Build Makefile projects that the output
binary could not be found during launching when the user set the
Build Output Location to "Build in project directory".
The project was only looking for binaries in the "build" folder.
2023-03-19 15:18:51 -04:00
Erwin Waterlander
50bddd886a Changed the template application to Hello World.
This provides a more useful template when making a simple Makefile
project.

Pulled out of #314
2023-03-16 11:45:57 -04:00
Erwin Waterlander
a89ce59df2 Improved getting resources from the gcc commandline.
The old method assumed all resources were at the end of the line,
optionally followed by option -o.
Now the complete line is scanned for valid resource file extensions.
2023-03-16 10:55:56 -04:00
Jonah Graham
c18d06e84d Upgrade to Tycho 3.0.3 (latest)
Part of #320
See also #308
2023-03-14 14:02:47 -04:00
Jonah Graham
b2666eb578 Update copyright year on all features
Part of #320
2023-03-13 21:00:55 -04:00
Jonah Graham
21e923ada7 [releng] Prepare repo for CDT 11.2 development
Part of #320
2023-03-13 13:54:48 -04:00
Erwin Waterlander
920f7d85a5 New API to custom parse #define lines from GCC during scanning
Option to override the matching of macro defines for the Core Build
GCC toolchain. This may be needed for custom compilers.

Also-by: Jonah Graham <jonah@kichwacoders.com>
2023-02-15 11:59:49 -05:00
Jonah Graham
34f1736317 Re-read the makefile targets when a project becomes eligible
Without this change when the project is not a "hasTargetBuilder" then
the projectMap will contain an entry mapping the project to
an empty set of makefile targets. So when we get a project added,
make sure to re-read the target settings by clearing the cached
versions.

Fixes #244
2023-01-28 10:54:45 -05:00
John Dallaway
a949830dd3
Support multiple MSYS2 64-bit registry names (#243) 2023-01-15 16:52:20 +00:00
Jonah Graham
b87a45520a [releng] Prepare repo for CDT 11.1.0 development 2022-12-09 12:24:55 -05:00
Jonah Graham
1b19ba20c2 Update to latest Eclipse Platform and Orbit
Includes logging changes/simplification brought on by
https://github.com/eclipse-platform/eclipse.platform.releng.aggregator/issues/588
2022-11-21 19:05:08 -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
c4761cfd02 fix code cleanlines 2022-11-18 10:55:40 -05:00
John Moule
c4c63453c3 Bug 580015: add support for multiple bin parsers #75
Fixed build props of new test plugin.

Fixed test, cleanup project afterwards.
2022-11-18 10:55:40 -05:00
John Moule
fc821a41e7 Bug 580015: add support for multiple bin parsers #75
Added remaining project metadata for new gcc test plugin.
2022-11-18 10:55:40 -05:00
John Moule
7759af22d6 Bug 580015: add support for multiple bin parsers #75
Removed ICBuildConfiguration.getBinaryParserId() and
IToolChain.getBinaryParserId(). Replaced with methods that return a list
of IDs.

Updated API changes doc.

Rearranged tests so that the test for IToolChain is in a new gcc test
plugin.
2022-11-18 10:55:40 -05:00
John Moule
c52de83035 Update for major version bump
Update since tags to 8.0.
Remove api filter.
Fix other since tags after removing of api filter.
Remove interface defaults.
Add default implementations where necessary.
Update tests - TBC.
2022-11-18 10:55:40 -05:00
Jonah Graham
1689f1947c Remove .. folder entry in zip file
This resolve the following exception during the build:


!ENTRY org.eclipse.ui.ide 4 4 2022-11-11 09:45:42.503
!MESSAGE Entry is outside of the target dir: ../
!STACK 0
java.io.IOException: Entry is outside of the target dir: ../
	at org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider.initialize(ZipFileStructureProvider.java:190)
	at org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider.getChildren(ZipFileStructureProvider.java:113)
	at org.eclipse.ui.wizards.datatransfer.ImportOperation.importRecursivelyFrom(ImportOperation.java:781)
	at org.eclipse.ui.wizards.datatransfer.ImportOperation.execute(ImportOperation.java:385)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:110)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2380)
2022-11-11 11:34:37 -05:00
Jonah Graham
448c8745e8 Delete dead code. 2022-11-11 11:34:37 -05:00
Jonah Graham
a27d4a3bb7 Mark for removal API not accessed within CDT (or Embed CDT) 2022-11-11 11:34:37 -05:00
Jonah Graham
15ee18e027 Stop synchronizing user guides from Wiki
The primary location for these user guides is now the Git repo in HTML
format.

Part of #32
2022-11-09 10:56:55 -05:00
Jonah Graham
a3a6682faa Lower build.properties errors to warnings for some projects
Some projects build some of their bin includes with maven
build, so remove the error in those cases.

fixup for 6eaaf714cc
2022-11-07 23:13:26 -05:00
Jonah Graham
9026f53fd5 Remove deprecated binary parsers and supporting code
These binary parsers have been slated for deleting for
a while and are replaced with 64-bit compatible
versions.

Some methods still refereneced the 32-bit variants
and have been updated to the fully functioning
64-bit variant.

The older parser IDs are preserved (forever?) so that
old projects can be opened without needing to do anything.
The IDs now point at the new implementations.

See also Bug 562495
2022-11-07 20:58:25 -05:00
Jonah Graham
f8dee45ba3 Make tests inherit from BaseTestCase or BaseTestCase5
This provides the shared pre/post condition assertions to
help make sure tests are running in a clean environment.

If I had time I would convert all the tests to BaseTestCase5
which is JUnit5, but I only did the tests that had something
wrong with them.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
021c03633a Delete test for CDT 2.x functionality
Rather than update this test, simply delete this test of
ancient functionality

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
71eae6c2d3 Cosmetic changes to unit test
Instead of using assertTrue, but assertEquals we get nice
error messages that show the contents of the collections.

Using assertEquals(List.of() instead of assertArrayEquals(...
because that gives nicer error messages.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
542e8b474e Make sure test does not leave projects around
Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
b3003b7fa7 Convert test to JUnit5
The test "abused" the JUnit3 ability to control test order and
required all tests to run in the given order to work.

Refactored the test to remove all redundant try/catch and
provide a more traditional flow.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
05322ac206 Convert to JUnit5 and cleanup resources
Also stop catching exceptions and discarding stacktraces

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
75e52e4682 Add JUnit5 dependencies
While it may be that the tests don't directly rely
on JUnit5, the IDE requires JUnit5 in the classpath
or else the launch config doesn't work with this error:

Cannot find class 'org.junit.platform.commons.annotation.Testable'
on project build path.

Part of #117
2022-11-07 10:04:20 -05:00
Jonah Graham
b37e9c3812 Delete all the test suites from primary CDT test projects
Having the test suites means that tests run multiple times
when running in the UI. Most suites just ran the tests in
that package, so their value, especially with the transition
to JUnit5 is minimal.

Note that the suites are not used when running build
with Tycho/Maven

Part of #117
2022-11-07 07:53:47 -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
15knots
369ddea39c
Add ManagedBuildManager#createConfigurationForProject() (#131)
* Add ManagedBuildManager#createConfigurationForProject()

This should allow ISV's to create MBS based project with a
vendor-specific build-system ID without using internal API.

Update New & Noteworthy

Signed-off-by: 15knots <11367029+15knots@users.noreply.github.com>
2022-11-04 21:30:22 +01:00
Jonah Graham
09e3b5ca29 Execute autoreconf in the same environment as configure and make
Changed the execute to take the cwd to run the command in and
clean up the related code, including some error message
handling and removing some redundant code.

Fixes #125
2022-11-04 08:24:54 -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
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