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
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
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
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
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
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Organize Imports
and completing the wizard
Change-Id: Ia7b305a4c967d0e6f4e8fb8c1041e7028b24006c
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
The releng/scripts/apply_jdt_prefs_to_all_projects.sh was run to
copy standard settings to all other projects.
Change-Id: I4436c947d7f0142f56b709e661379c3eb54f666b
This file was always intended to be an interface. The discussion
on fixing this happened as part of the review to
change I240bbe08666b89861fe132c6384174be7883c022
Change-Id: I7ddd211f927f7089ed40abdf578ae10c0c437329
There is also a new script to verify completeness of .gitattributes:
releng/scripts/verify_gitattributes.sh
Change-Id: I2ce270852ab54b66b6c474a6ec94203fe5bba78b
For more recent versions fo LLDB (8.0.0-r345563) this work-around is not required.
This is a follow-up to bug 539641.
See also https://reviews.llvm.org/D52953
Change-Id: If5f951a33fab8781a594175571d0ad5131e9ef15
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
lldb-mi doesn't implement "-gdb-set breakpoint pending"
so instead we always use "-break-insert -f" to always use pending breakpoints.
Once the -gdb-set is implemented in lldb-mi, we can remove this.
See also https://reviews.llvm.org/D52953
Change-Id: Id07da58e0530898401d2f7285c44c97b38637542
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
"-gdb-set args" is not implemented in lldb-mi, use -exec-arguments instead.
See also https://bugs.llvm.org/show_bug.cgi?id=38834
Change-Id: I1c9db9020effe92dae6ec13e458c3eaf165f920a
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
The underlying issue was fixed in CDT in commit 783787a.
Also, even if that code changes under the rug, lldb might be fixed to handle
the working directory anyway.
See https://bugs.llvm.org/show_bug.cgi?id=30265
Change-Id: I8654ec6c601b49fbfb8258c1a80b95c84021410d
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Re-arrange the code to prevent done() from being called twice.
Change-Id: I25737e9b6a7c188db62381695562046e326cacd0
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
Turns off doclint for Java 1.8 and greater because the javadocs are
incomplete and won't build otherwise.
Some files also had encoding issues with some characters which caused
the javadoc build to fail, these characters have been replaced.
Change-Id: I04690644bec6d7c3219cb0438cb3db6593fefd3a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
Removed the empty debug.core.tests project. Also removed the
utils-feature and remote-feature projects since these shouldn't
be features.
Change-Id: Ib5d297c626de5328e3421a1fc9346330d9907750
Also restructures the pom.xmls to put the modules in the top level
so we can order them to have the test plugins build after them.
Change-Id: I2f0e4ebd252791fb8844cdf0f635d574946207aa
A few rm.done() calls were missing in overridden methods.
Those queries were slowing down debugging significantly.
Change-Id: I966d79af38721e551e9ebf2a74ca4d8d895241d0
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
LLDB-MI sends an extra event when -gdb-exit is used, which
triggers this assertion:
629,511 [MI] 35-gdb-exit
629,514 [MI] 35^exit
629,514 [MI] =thread-group-exited,id="i1"
For now, work around LLDB-MI bug, see
http://bugs.llvm.org/show_bug.cgi?id=32053
Change-Id: I1c8e7fee118b5bc31e08272c79aa806fe05b7c95
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
When a toolchain is selected along with its builder, the builder gets
matched to a “real builder” (ManagedBuildManager.getRealBuilder). If the
builder is abstract, the builder is not in the possible list of matches,
as implemented in Builder.getMatchKey. This causes
getCurrentBuilderCompatibilityInfo to return null which is not handled.
This patch changes the base LLVM builder to a non-abstract one, which
solves this specific NPE.
Also, in order to be more helpful to the user in case it happens to
another toolchain, a null check was added with an error message that the
builder is incompatible. Then at least, it is more clear that something
is wrong and the user can pick a different builder.
Change-Id: I4d26c568dfe6307b496719c10908a36933fd3ab8
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Also set some project specific preferences for save actions.
Change-Id: I8d9c68fd8f7e4a6e9e874e60c12796e2b9b783bf
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Mostly organize imports and remove redundant type arguments.
Change-Id: I11e8e76f96a17fa521f3e7f8c8f9e3d645d445b3
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds
One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.
- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
- One for UI tests (UI present and start in UI thread)
- One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations
Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
The path to GDB is set in the launch dialog, under the Debugger tab. If
the path to GDB contains one or more spaces, and is not within double
quotes, GDB will not be found and the launch will fail.
This patch improves the use cases around the "Browse" button, to select
GDB's path.
1) if the user clicks on the "Browse" button, the browse dialog will
open in the correct place, no matter the presence of space(s).
2) When GDB's path is selected with the "Browse" button, it's then set
in the "GDB debugger" field. This patch looks at the selected path and
adds surrounding double quotes if there is any space within, and strips
any double quotes if there are no spaces.
Change-Id: I202f574772965af3a491d449b9e9a97e8c61e2b0
This commit removes explicit source features and has tycho create them
automatically, along with all other source features that were not
previously defined. The logic to auto-generate is in the root pom.xml
For all pre-existing source feature, the name presented to the user has
been changed to use the default name used by Tycho, which is "Developer
Resources". This will provide a more standard user-experience with
respect to other source features built by Tycho.
Existing SDK features are kept for backwards compatibility.
All the names of the auto-generated source features that replace an
existing source feature have stayed the same except for the
'testsrunner' feature; for that one name change, a p2.inf file is added
to allow upgrading from the old named feature to the new named feature.
Change-Id: Ie632e798c93898fd828f88df4983fc43e2749d22
Prevent users from using a version of lldb that is too old.
Before version 3.8 there was a hang and other issues. If the
version cannot be determined, the launch stil proceeds. This
is because there is no good way to get the version from the
lldb-mi executable but rather, we can only do a best-effort
to get the version from the normal lldb executable. If the
lldb executable is not present but the lldb-mi is, this is a
valid way to use the debugger but the version cannot be determined.
In the future, it would be better if the lldb-mi executable could
report the lldb version directly. But this would be an improvement
in lldb, not CDT.
Change-Id: Ief8a4ebd3ea1e3d549a5cef41ac3030ec48734c4
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds a preference page for LLDB. For now, only LLDB path
and the "stop at main" preferences are exposed.
Bug: 405670
Change-Id: I4ba30fdb48ecd0cdfc6e3aac35fe0de38563c354
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit adds support for debugging new processes launched locally
using the LLDB debugger (lldb-mi). The minimum version supported is
LLDB 3.8.
Preliminary documentation on how to set it up is available here:
https://github.com/MarkZ3/Eclipse-CDT-WIP/issues/9#issuecomment-236483223
Bug: 405670
Change-Id: If46543e974e2f19c45ab3bba088eab35fe737077
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>