1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-19 15:05:36 +02:00
Commit graph

1483 commits

Author SHA1 Message Date
betamax
fc083dad86
The active Launch Target is now saved in the ICBuildConfiguration (#1076)
In addition to the active launch mode and toolchain, the active Launch
Target is now used to determine the Core Build Configuration
(ICBuildConfiguration).

The build output folder name now ends with the name of the Launch Target
(eg: cmake.debug.win32.x86_64.Local)

Additionally, API added to allow the ISV to configure the build output
folder name.

The ICBuildConfigurationProvider implementations, shown below, have been
tidied up to use common code.

  CMakeBuildConfigurationProvider
  AutotoolsBuildConfigurationProvider
  MakefileBuildConfigurationProvider
  MesonBuildConfigurationProvider

Addresses Issue: CDT CMake Improvements #1000, IDE-82683-REQ-016 Launch
Targets used in ICBuildConfiguration
Addresses Issue: CDT CMake Improvements #1000, IDE-82683-REQ-018 Build
output folder name
2025-02-12 12:30:48 -05:00
Jonah Graham
0fcf41aacf
Bump org.eclipse.cdt.core/ui bundle version to 9.0.0 (#1063)
Some of the changes that are about to arrive have specific impacts
of API of core build. Because CBS is largely in org.eclipse.cdt.core/ui
any breaking changes to the CBS API necessitate bumping the entire
bundle to a new version.

One of the most noticeable changes is expected to be that
org.eclipse.cdt.core.build.ICBuildConfigurationProvider.createBuildConfiguration(IProject, IToolChain, String, IProgressMonitor)
needs a new parameter to properly connect the target. The upcoming
PR that makes the API change will document that change in the
CHANGELOG-API.md and N&N documentation.

Part of #1000
2025-01-29 14:21:09 -05:00
ewaterlander
de78b0f4a2
Core Build project without binaries. (#959)
Do not check for binaries in the project directory if the user defined
a binary in the Main tab. This supports the case where the user
disables auto build and selects a binary outside the project directory.
Otherwise the binaries check would stop the launch with the message
that no binaries are found in the project.
2024-12-12 20:15:01 -05:00
ewaterlander
f259d60aa3
Debugger and Source tabs for the Core Build launch configuration. (#950)
The launch configuration for local Core Build projects got the
Debugger and Source tabs in debug mode. Now the user can set the stop
at startup, a specific debugger, and all other Debug options as we
know from Managed Build projects.

The GdbLaunch class automatically picks up all the debug settings from
these new tabs. No additional code was needed for that.

The composition of Core Build tab groups is now fully done via the
launchConfigurationTabGroups extension-point.

This change relates to #758. It affects all Core Build projects,
including CMake projects.
2024-12-10 12:08:08 -05:00
Erwin Waterlander
5639ba9ff9 Updated Main Tab for Core Build local launch configurations.
A new Main Tab was created for Core Build local projects based on the Main
Tab used for the classic Managed Build projects. It adds these
features:

* Option to select a different binary.
* Option to control launch pre-builds.

The default value for the binary is empty string. With empty string
the behaviour for binary selection stays the same as it was.

The project name is fixed and cannot be changed. A Core Build launch
configuration is created with the project and tied to it.

There is no option to select a build configuration, because for Core
Build projects this is selected via the LaunchBar's Launch Mode.

This change relates to #758. It affects all Core Build projects,
including CMake projects.
2024-11-27 10:29:55 -05:00
ewaterlander
c51cecd75a
Support environment variables in Core Build projects for Local (#901)
Added an Environment tab to the Core Build launch configurations for
the Local target. Similar as the standard C/C++ Application launch
configurations for Managed Build.
2024-09-16 21:20:28 -04:00
Erwin Waterlander
36abcce9a5 Substitute variables in working directory 2024-09-12 17:17:09 -04:00
Erwin Waterlander
33194960c3 Support arguments and working directory in launching Core Build projects for Local
Added the CArgumentsTab to the Core Build launch configuration for the
Local target. This enables users to set command line arguments and
specify a working directory.
2024-09-12 17:17:09 -04: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
Jonah Graham
a92b90a4c8 Bump all bundles that are missing BREE in 11.3.0
Part of #551
2023-09-15 07:24:17 -04:00
Jonah Graham
c7169b3186 Refactor XML file handling 2023-08-16 11:06:59 -04:00
ewaterlander
9710f17847
Wrong active build configuration for Core Build projects. (#380)
Wrong active build configuration for Core Build projects.

The CoreBuildLaunchBar tracker always made a non default build
configuration the active build configuration. In other words, it
always made the debug build configuration active.
This caused wrong build flags if a non core build launch configuration
was used to launch a core build project binary.

Fixed the CoreBuildLaunchBar tracker to set the build configuration
to active that matches the launchBar mode.

Fixes #378
2023-04-28 07:05:54 -04:00
Umair Sair
b10979677e Cleaning project fails once the binary is expanded in project explorer on Windows
Steps:
======
1. Create a managed project and build it
2. Expand the built binary available in binary container in project explorer view
3. Now clean the project, clean will fail irrespective of number of tries you do

Reason:
=======
For finding the sources for binary, Elf instance is created and Section.mapSectionData creates MappedByteBuffer of channel which locks the file on Windows until its garbage collected, see following
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4715154

Solution:
=========
Made ISymbolReader AutoCloseable and user is responsible to properly close it. In case of dwarf reader, we remove all the references of ByteBuffer and call gc.
2022-11-07 17:32:17 -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
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
Jonah Graham
e4e06008af Update to Java 17 as BREE. Fixes #80 2022-10-03 12:42:37 -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
Mat Booth
69448337e5 Bug 561994 - Remove dependency to com.ibm.icu from CDT Debug Core
Switch to JRE implementations:
 * com.ibm.icu.text.MessageFormat -> java.text.MessageFormat

Signed-off-by: Mat Booth <mat.booth@gmail.com>
Change-Id: I52901be237302d3f862ea3e261e44939b4b52bab
2021-10-20 11:27:25 +01:00
Jonah Graham
83d4fa001e Bug 572581: reenable disabled DSF-GDB tests
Many of the disabled tests were failing because they were dependent
on specific combinations of GDB + GCC and where exactly code
stops and steps effect when entering functions. The old code
mostly ran to a function and then stepped a known number of times.
But what changes between GDB versions is how many steps are needed.
Therefore for all failing tests update to run to a specific line
number by using tags in the .cc file and running to them to make
sure the test is precisely on that line.

This partially reverts commit 8220215a2e
and 92272c6465

Reason for revert: These tests were "temporarily" disabled a while ago
as part of the JIRO migration in Bug 545624.

Change-Id: I703429c8a81c856360f1cb4e899026200527f7c6
2021-04-09 20:51:00 -04:00
Torbjörn Svensson
e632011f2c Bug 568728: Drop execute permission on files
Add enforecment script that verifies that only specified file types are
allowed to be mared as executable.

Change-Id: I4b40e3a46b03bfc78a9dcd52e8bf29cb079b7f3b
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-11-18 17:38:22 +01:00
deepamin
477fdab7a1 Bug 568517: Module information for Breakpoints
Change-Id: I9751d2d921026b5f0052c7112ef69e975f7a44fe
Signed-off-by: deepamin <deep.amin@intel.com>
2020-11-05 10:12:09 -05:00
Jonah Graham
0cb1f7482a Bug 566511: [releng] Add missing UTF-8 encoding for all CDT projects
Includes updates to code cleanliness script

Change-Id: Ic495124285e3e002993f34dc12be5ad7337fe13b
2020-08-30 20:02:41 -04:00
Torbjörn Svensson
4376632208 Fixed "Dead code" compiler warning
Change-Id: Idc18751d1bcd59a8fa49529731e11dce354b925a
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-08-28 21:19:14 -04:00
Jonah Graham
fd9382d8a9 Bug 562494: Update BREE to Java 11
Change-Id: I0c91aafc0cb1b179936acbd4c9df2d961899e3fa
2020-08-24 17:50:56 -04:00
Jonah Graham
12cf801870 Bug 564272: Increment major version of org.eclipse.cdt.core to 7.0.0
Change-Id: I9124dd406c5981435a72ff4aaa7033f1c3d1979b
2020-06-13 16:21:05 -04:00
Jonah Graham
3fa2f45e08 Fixup versions on Revert "Bug 560614 - Drop dependency on ICU4J"
Change-Id: I837592950482cc1872fdafb73fc7e9a01292a7ed
2020-03-02 12:47:54 -05:00
Jonah Graham
5a6b9b4bf4 Revert "Bug 560614 - Drop dependency on ICU4J"
This reverts commit 87b627bf02.

Change-Id: I54ea1ac766437deb174eeba571a7a5094c180828
2020-03-02 06:49:24 -05:00
Alexander Kurtakov
87b627bf02 Bug 560614 - Drop dependency on ICU4J
Straightforward conversion. Still usages left that need deeper
investigation how to be done proper.
Some long time commented code removed as java formatter breaks trailing
whitespaces on save.


Change-Id: If74259bed5735b0d4cc98fc2cfa609c9c53c80c9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2020-03-02 06:46:15 -05:00
Alexander Kurtakov
51da3eb3a6 Remove redundant superinterfaces.
Change-Id: I0de3509b02a8ef6853f0053c9ee6edd304a05a86
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-10 10:28:51 -04:00
Doug Schaefer
b9359d5247 Fix up some problems found against the latest API baseline.
Change-Id: I5679b36166385b617a96ef8180bbd27ae002e900
2019-07-25 10:17:59 -04:00
Doug Schaefer
b953649c09 Bug 548980 - Track launch target connects and add error builds
We need a way to alert the user that we are unable to find a toolchain
that maps to the current target. An ErrorBuildConfiguration is created
that simply prints out an error message at build time to handle this.
We then set one of these as the active build config in the tracker
with the appropriate message.

We also add a target listener so that when a target becomes OK_STATUS,
we run the tracker again to see if we have the right active build
config for that target. Some targets can only determine some of their
attributes when connected.

Hook up the IToolChain matches so we're using it in the toolchain
manager. This allows toolchains to do more complicated matching of
the properties.

Change-Id: Icaff85117e8147cd2793f2915fa75ce33673ab52
2019-07-05 10:43:56 -04:00
Jeff Johnston
74e63a9013 Bug 547174 - Clean core project doesn't always show active in console
- add missing ProjectDescription.setBuildConfigs calls to
  CoreBuildLaunchBarTracker, CoreBuildLaunchConfigDelegate
  and CBuildConfiguration

Change-Id: I0d1097d04f3a210a6a7e9f8ad35adb9ba5d7c3d6
2019-05-16 16:46:02 -04:00
Jeff Johnston
86bfd4de7e Bug 547174 - Clean core project doesn't always show active in console
- order build config names so when clean for a project goes through
  the build configs, it finds the active one last and thus it will
  appear in the CDT build console
- do this in CoreBuildLaunchbarTracker.setActiveBuildConfig()
- do this in CBuildConfiguration.setActive()
- do this in CoreBuildLaunchConfigDelegate.buildForLaunch()

Change-Id: I379d6c9ba298f02cbc75d16e9941527cd2f9f45c
2019-05-15 20:41:14 -04:00
Jeff Johnston
19e4eabff2 Bug 547145 - Core build use of ProjectDescription should be synchronized
- synchronized core build project description
  manipulations using CoreModel as synchronization
  class

Change-Id: Ic1312d5819ddc08acb492f57a2d87f1998329805
2019-05-15 16:05:29 -04:00
Alexander Kurtakov
90dd1e77f9 Fix startup warnings from launchbar descriptors.
ENTRY org.eclipse.launchbar.core 2 0 2018-12-21 21:41:37.864
!MESSAGE Enablement expression is missing for descriptor type
org.eclipse.cdt.debug.core.coreBuildDescriptorType

!ENTRY org.eclipse.launchbar.core 2 0 2018-12-21 21:41:37.866
!MESSAGE Enablement expression is missing for config provider for
org.eclipse.cdt.debug.core.coreBuildDescriptorType

!ENTRY org.eclipse.launchbar.core 2 0 2018-12-21 21:41:37.867
!MESSAGE Enablement expression is missing for config provider for
org.eclipse.cdt.debug.core.coreBuildDescriptorType


Change-Id: I2a739d8ad382a934e1a0e5b8f02f0e21cf1eeda0
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-12-22 15:20:49 -05:00
Jonah Graham
37ed2c406d Bug 540373: Update the compiler warnings/ignores
The previous alignment of all the warnings/ignores
led to too many warnings that weren't there before. This
commit relaxes them a bit.

The core/org.eclipse.cdt.core/.settings/org.eclipse.jdt.core.prefs
is still the "master" copy, with
releng/scripts/check_code_cleanliness.sh containing the
exceptions that apply to test plug-ins.

Change-Id: Ibd4e31ade0b42b31e7cbe5a94f06c6fc15183a56
2018-11-24 10:55:06 +00:00
Jonah Graham
3caea240a3 Bug 540373: Format some Java files that were missed
Some files which has other cleanups applied meant they needed to be
reformatted again. e.g. the removing of type parameters shortened
some lines of code that meant the wrapping changed.

Change-Id: I68ca09567b9530cc2a085c33923642b6de2ec77b
2018-11-23 13:59:46 +00:00
Jonah Graham
ff75ae80fa Bug 540373: Cleanup: Remove trailing whitespace in properties files
Command used:
# Remove space at eol in comments
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^(#.*)[ \t]+$/\1/' {} +
# Remove space at eol in blank lines
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^[ \t]+$//' {} +
# Replace escaped spaces at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\ $/\1\\u0020/' {} +
# Replace unescaped spaces at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\]) $/\1\\u0020/' {} +
# Replace escaped tabs at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\\t$/\1\\u0009/' {} +
# Replace unescaped tabs at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\t$/\1\\u0009/' {} +
# Stage all changes
git add -A .
# trim any remaining whitespace and then identify and fixup
# manually
# Only dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/MessagesForDebugVM.properties
# needed this due to missing newline at end of the file
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/[ \t]+$//' {} +

Change-Id: I858f16891fe001f4f7e62d5a4f904146e891cd39
2018-11-23 07:52:26 +00:00
Jonah Graham
aa1040a21a Bug 540373: Remove '(non-Javadoc)' comments
These were inserted in the past automatically by Eclipse but
newer tooling makes them redundant.

These were removed by doing a global find/replace on *.java files
using the following regular expression:
\t/\*\n\t \* \(non-Javadoc\)[^/]*/\n

Change-Id: I59d3248020f10934fde1dda5b5a31e20bb188e19
2018-11-22 22:00:29 +00:00
Jonah Graham
eeb3006e27 Bug 540373: Cleanup: Remove redundant semicolons
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Remove redundant semicolons
and completing the wizard

Change-Id: I3d3175cfdfadec4f815c551d486e42c9f57b80ce
2018-11-22 21:57:01 +00:00
Jonah Graham
caf2292768 Bug 540373: Cleanup: Remove redundant type arguments
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Remove redundant type arguments
and completing the wizard

Change-Id: Iaecc7010f097b4b1fabd29ccaa34ccb23a716fbf
2018-11-22 21:55:36 +00:00
Jonah Graham
8985c7b63f Bug 540373: Cleanup: Add missing annotations
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Add missing Annotations - and selecting all three types:
 - @Override
 - @Override on interface methods
 - @Deprecated
and completing the wizard

Change-Id: I5d367dacb04327107f25e147edc08efc4eb1c2fe
2018-11-22 21:51:31 +00:00
Jonah Graham
a923614c73 Bug 540373: Cleanup: Organize Imports
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Organize Imports
and completing the wizard

Change-Id: Ia7b305a4c967d0e6f4e8fb8c1041e7028b24006c
2018-11-22 21:47:02 +00:00
Jonah Graham
170e654b47 Bug 540373: Cleanup: Format & Remove trailing whitespace
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Format source code
- Remove trailing white spaces on all lines
and completing the wizard

Change-Id: I63685372c6bcc67719bcf145123bcb72e5b00394
2018-11-22 21:47:02 +00:00
Jonah Graham
35996a5c5c Bug 540373: Standard .settings auto applied
The releng/scripts/apply_jdt_prefs_to_all_projects.sh was run to
copy standard settings to all other projects.

Change-Id: I4436c947d7f0142f56b709e661379c3eb54f666b
2018-11-22 21:47:02 +00:00
Jonah Graham
f70a8b35c1 Bug 540371: Update to EPLv2 using releng/scripts/change_to_eplv2.sh
Change-Id: Ifbb1d5af2a00bd5634dea200320e8c4303ffca6c
2018-11-22 20:31:51 +00:00