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

3139 commits

Author SHA1 Message Date
Jonah Graham
64e21a93c4 Bug 499777: Flaky and slow test tags
to exclude flaky and slow tests from gerrit runs and main build
tests can be tagged as such. See BTreeExpensiveTests for example
of a slow test and Bug_303953Test for an example of a flaky one.

The root README.md has a few notes on converting tests to JUnit5
and adding annotations to mark them slow or flaky.

Change-Id: I03a4004112e6a500d8ec2771d68f14f7dc5f67fb
2021-02-01 11:32:58 -05:00
Marc-Andre Laperle
f6d1132d8e Bug 565553 - Improve performance of build command parsers with large number of files
Add more caches for methods in AbstractLanguageSettingsOutputScanner
that are IO heavy:
- getFilesystemLocation
- determineMappedURI
- resolvePathEntryInFilesystem (File.exists)

These cut down the execution time of command parsing by around 50% on
Windows, more so when considering Java >=12 when
File.getCanonicalPath/File caching is not manually enabled.
See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=565553#c17
and https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8258036

Change-Id: I80828f969547f824d2e45e60b5f4459d03c70bb1
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-12-27 13:43:08 -05:00
Jonah Graham
c248620053 [releng] Increment feature and related versions to 10.2.0
Change-Id: Icd135a588920fa25fd846dc285db5f83e5ac7037
2020-12-19 12:11:25 -05:00
Jonah Graham
a469af6bf3 [releng] Update to newer help-docs-eclipserun-repo
Change-Id: I5cc8b6d66ace35eea397a781739dc27def4df3f9
2020-12-19 12:11:25 -05:00
Jonah Graham
1d0bc6992f Revert "Bug 568397: Hide "Build settings" if using custom command"
This reverts commit 1d226f9273.

Reason for revert: Due to some concerns about use cases and the
desire to resolve those concerns with separate build and args
text boxes this is being reverted for 10.1 until this change
can be done at the same time as https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/173118

Change-Id: Iffa37087c00f434d4e684eea19ecacde36004b80
2020-12-01 12:07:38 -05:00
Torbjörn Svensson
fb20df887a Bug 569300: Allow custom build option editors to save the value
Added a new interface with a method that is called when the value is to
be saved into a resource configuration.
If the function returns false, then the default implementation of
handling property changes will kick in. If the function returns true,
then it's assumed that the value has been handled.

Change-Id: I0523d15ba0a3ec9dbc24c3e4afc070b071d8fb7e
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-11-30 16:11:01 -05:00
Alexander Kurtakov
bc9ecdad17 Build with Tycho 2.1.0
Change-Id: I7f682ad313ce275f45e0b4adb4c1280d952cf3ac
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Also-by: Jonah Graham <jonah@kichwacoders.com>
2020-11-20 10:53:30 -05:00
Marc-Andre Laperle
f5531cee19 Bug 565553 - Improve performance of build command parsers with large number of files
When possible, precompute the group number in the replacement expression
when parsing option strings, instead of calling replaceAll which is
slower. If the replacement expression is not a simple numbered group,
fall-back to replaceAll.

I have benchmarked this save between 200ms to 2sec depending on the
project size.

Change-Id: Id48fdcf476e2d1739522c9267e214f4c88bf316a
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-11-18 22:06:10 -05:00
Alexander Kurtakov
3abe3d28e6 No need to dispose colors anymore.
Change-Id: I39e760a0dba9d220268ee738c8a085d14f0e188b
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2020-11-18 13:41:15 -05: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
Alexander Kurtakov
57fd1b2847 Do not use deprecated CDataUtil.objectsEqual
Objects.equals should be used instead.

Change-Id: I6713d0d4d0fb8b13b3b336af61cdd73048839969
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2020-11-17 16:50:33 +02:00
Alexander Kurtakov
dc5b05442e Bug 568888 - Open *.mak files as makefiles
Recognize *.mak extension.

Change-Id: Id765af612d0d8b7f355a9696f06d9e1184db5703
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2020-11-17 15:43:02 +02:00
Torbjörn Svensson
1d226f9273 Bug 568397: Hide "Build settings" if using custom command
When unchecking the "Use default build command" checkbox, hide the GUI
options to configure the flags as the user should have full control.

This solution was discussed in
https://git.eclipse.org/r/c/cdt/org.eclipse.cdt/+/171735

Change-Id: Ifbd67b279db55f5a83f4a660b9a1248e5c021df2
Also-by: cartu38 opendev <cartu38.opendev@gmail.com>
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-11-09 14:17:15 -05:00
Alexander Fedorov
f2dcc3dff3 Bug 567966 - CDT code clean up: type safety warnings
Generalize the type of elements and resolve type safety warnings

Change-Id: Id8e443d0c071bbd5447092099e80574cdf7fd9b3
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2020-10-29 06:11:39 -04:00
Alexander Fedorov
b8ba9605c6 Bug 567966 - CDT code clean up: type safety warnings
Generalize the type of elements and resolve type safety warnings

Change-Id: Ibbbdc26663a7fede9debef3ca5d1c79ca346608c
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2020-10-24 16:37:11 +03:00
Marc-Andre Laperle
6ca0bb78bb Bug 329995 - Update all C/C++ views when the active configuration changes
Change the default workspace indexer setting

Use the active configuration by default, which is less confusing because
the UI is properly reflected on active config change.  Using a fixed
config can be seen as a more advanced setting for performance concerns.

A new preference is added, only used at default scope:
org.eclipse.cdt.core/cprojectdescription.configRelations
This can be used by products to customize the default according
to their needs (plugin_customization.ini).
This was done because this is a fairly impactful change for users.

Change-Id: I35888ffe5bc1814943f432f88a12094394924c88
Signed-off-by: Alex Freidin <freidin.alex@gmail.com>
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-10-20 22:59:41 -04:00
Jonah Graham
34b5f9612e [releng] Keep empty directory
Change-Id: I43188c0da02c98d15c5264369bd18612ceefa5ff
2020-10-13 21:51:09 -04:00
Martin Weber
af1b6fa238 Bug 567488: Move cmake code to cmake dir
Change-Id: If3df1f176ed82475d01a047c3a6d8c0882bb1d76
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-10-13 20:42:22 -04:00
Jonah Graham
3a6fd58665 [releng] Update help-docs-eclipserun-repo to use Platform 4.17
Change-Id: I85f28fe919b68fc222acb90850fc538941c3a826
2020-10-12 10:39:13 -04:00
Jonah Graham
a1201a811a Bug 567810: Squash over zealous warning from PDE
See also Bug 558477

Change-Id: I0765a2a49dc77e2f24af787b0f9a1e0e1e510a30
2020-10-12 10:14:26 -04:00
Jonah Graham
c40ed25daa [releng] Update API Filters
Remove old filters that are no longer relevant and mark some API warnings
as ignored.

Change-Id: Id687740b4261f9441f10804941a1d2aa1a3746c8
2020-10-12 10:14:26 -04:00
Marc-Andre Laperle
fa270ed30a [releng] Update plug-in versions
Version changes are all to refect non-API changes (micro version)

Change-Id: I372aa2671a4c7f5c765a42156d3f639b8eaff680
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-10-06 16:20:18 -04:00
Jonah Graham
24639efcee [releng] Bump version to 10.1.0
Change-Id: I39f7c379c0b43c086a25b047b3af564f6f24d670
2020-10-06 16:20:18 -04:00
Marc-Andre Laperle
08e8e57162 Bug 565553 - Improve performance of build command parsers with large number of files
Narrow down parsers based on option string

Instead of trying to match all patterns one by one, we can check the
start of the option string to be parsed and narrow down which pattern
(parsers) should be used.

Doing so is much less elegant code-wise as we are "unrolling" the
beginning of the patterns by hand, but it gives a good speed up. Around
300ms saved with a test of LLVM code base (~50% of parseOption time) and
much larger gains on much larger projects or course.

Change-Id: I9e841e7233078d6e38ad08943d98966d0e3c661e
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-10-04 14:29:11 -04:00
Marc-Andre Laperle
2015e9b009 Bug 567334 - Occasional NPE in CompilationDatabaseParser
Make sure the project is still accessible before doing the work.
It's possible that the project got closed before the job had a
chance to start.

Change-Id: If02e818394502397e8958d18284160d4f08ca195
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-09-26 22:28:03 -04:00
Martin Weber
e974d52aa4 Bug 566495: Rework CMakeErrorParser
Change-Id: I5c7c67597da386137581b7b240b9ca7fdcf71c29
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-09-22 15:57:43 -04:00
Marc-Andre Laperle
050be8ebe1 Bug 565553 - Improve performance of build command parsers with large number of files
Optimize AbstractLanguageSettingsOutputScanner.findResource by checking
under the currentProject first when searching for the IFile
corresponding to the parsed file name.

When the parsed file name is absolute, we can try to make it relative to
the current project and see if it exists as an IFile instead of going
through findFilesForLocationURI which is very slow. Having an absolute
path for the source file is quite common under the current (local)
projet.

This saves around 1.5 sec when parsing all commands of LLVM projet as an
example.

Change-Id: I576a917410e5d5ecbd8e932011555c699b250354
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-09-13 12:17:25 -04:00
Jeff Johnston
17b3e6c1a6 Bug 566658 - [build] Core Make project does not support profiling
- fix Core Make Makefile template to add one for linuxtools
  build mode which is used for Linux Tools profiling
- fix the error default to change tab indent to spaces so
  make won't treat error message as recipe
- add some default profiling flags for gcov and gprof support when
  Linux Tools profiling

Change-Id: I29c2247c9e2b00a4e1c1952198faf881abd7a66a
2020-09-03 23:32:19 -04:00
Martin Weber
0ccb310931 Print build-start and -end message to consoleInfoStream.
This make messages stand out more prominently in the build console.

Change-Id: I180a7eb6631870004cca94a7f1d2c8bda5b044f8
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-09-01 14:24:36 -04:00
Martin Weber
afe13d32bf Bug 566385: integrate cmake build-output parser (code cleanup)
Change-Id: I6fe6f728c45316e79875201b4071f75a8016393e
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-09-01 14:23:57 -04:00
Martin Weber
a6baf50a47 Bug 566385: integrate cmake build-output parser
Change-Id: Iaf6b6f6e653571f666474e096aec4cb29893088c
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-09-01 14:23:57 -04:00
Jonah Graham
1562080a3c Bug 553674: Make Binary parsers and related classes Autocloseable
And prepare to make it an error in CDT to not have properly handled
an Autocloseable which means a number of fixes to make sure handles
are closed.

Change-Id: I36cd46017bbce6ece1703d688d7754e523eca68f
2020-08-31 21:32:32 -04:00
Jonah Graham
a83e8924ba Bug 563494: Remove freemarker java11 workaround
Change-Id: I7fc259ff13f7d44b1aa29c6842db6d744cffcc9e
2020-08-31 09:07:10 -04:00
Jonah Graham
88b2322c38 Bug 551817: Fix legal docs - and automate their checks
Change-Id: I6f97927f0df64a28e71a2d7ab4c55b609794f751
2020-08-30 23:15:59 -04:00
Torbjörn Svensson
f7c173377d Fixed potential NPE
buildInfo is null in the case that the node list is empty.

Change-Id: I165ec31eeeab57e1eb7bed0268d0f83c70d6e0f7
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-08-30 23:09:12 -04:00
Torbjörn Svensson
5d91f6f847 Ensure file is closed
Removed useless catch block that just rethrows the same exception

Change-Id: If3e4faea1ed889d4f7b39a7cff786e0aa9a6803d
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-08-30 23:08:33 -04:00
Jonah Graham
7ed4974c39 Trivial - fix copyright year
Change-Id: I4ac2021ecc83f305884815a482e3640ae3f3b03a
2020-08-30 20:25:04 -04: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
Martin Weber
44ebe33262 Bug 566385: add cmake build-output parser.
Change-Id: I37af477454a7c587bcfdc470e9e54c6b3aa08a14
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-08-30 13:18:26 +02: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
Torbjörn Svensson
f6016c5e0b Fixed "The value for X attribute is not externalized" warning
Change-Id: Ib2f0d85a0428a1f59cc7ccab6ebb8fd91ffa2a41
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2020-08-28 21:32:18 +02:00
Victor Rubezhny
2b67c0bda9 Bug 418579 - String index out of range: -8
Signed-off-by: Victor Rubezhny <vrubezhny@redhat.com>
Change-Id: I02763d18fdf8f9715670b671a7f84f9fe06489ca
2020-08-25 16:08:45 -04:00
Jonah Graham
0c5093d6ff Bug 566334: Turn on API Tooling & Analysis for all bundles
Change-Id: I3cb5645eba52b0cd0e9a71069264d9c589159107
2020-08-24 17:50:56 -04:00
Jonah Graham
fd9382d8a9 Bug 562494: Update BREE to Java 11
Change-Id: I0c91aafc0cb1b179936acbd4c9df2d961899e3fa
2020-08-24 17:50:56 -04:00
Marc-Andre Laperle
e933f46289 Bug 565553 - Improve performance of build command parsers with large number of files
Compile a pattern ahead of time and early return.

The first pattern is used to trim extra characters that are not
contained within the actual option pattern. If this first pattern
doesn't match, there is no point in continuing because it is a superset.

Times before/after, only counting AbstractOptionParser.parseOption
LLVM before: 4289ms, after: 622ms

Change-Id: Id40fc9a35359c39aea00ba14813ffe6c343158fc
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-08-23 23:21:14 -04:00
Marc-Andre Laperle
68c9b53de0 Bug 566107 - Option parsers can fail to trim extra characters when using patterns with numbered back-references
Clarify in the javadoc that numbered back-references should not be used
in order for option pattern to safely work.  Add a unit test
demonstrating the flaw when numbered back-references are used.  Update
GCC parser as an example for not using numbered back-references.

Change-Id: I008b3589486dc9fb0d9d9aa41f7cc2443bf4351e
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2020-08-23 21:33:05 -04:00
jantje
2a62d58621 Bug 564123 Treat environment and build variable case sensitively
Remove all equalIgnoreCase and equal with uppercasing for environment
variables

Change-Id: Ic15974b5fb62413c7b1826ced544ff6d4a8eba2f
Signed-off-by: jantje <eclipse@baeyens.it>
2020-08-18 18:11:48 -04:00
Jonah Graham
ef79d15071 Bug 564123 Remove long commented out and dead test code
Change-Id: I0022463409db4de701b3ad18e1309f894d499e2a
2020-08-18 12:26:40 -04:00
Martin Weber
60e32477d0 Remove unused file.
Unused since bug 559674: Integrate new indexer support into CDT build

Change-Id: Ifd4878f944eff6f12e3ab2df399c619abfa47f59
Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
2020-08-16 16:09:59 -04:00
Martin Weber
9e303185f9 Bug 564002: Restore the default pattern of the surefire-plugin
Sets the pattern to the default of upcoming tycho 2.0 in advance.

Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
Change-Id: I31b3fc733d0cb888fbf6f566995ce2043f6cd621
2020-08-13 14:18:47 -04:00