1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

2788 commits

Author SHA1 Message Date
Alex Blewitt
6bdca5f4a2 Bug 492230 - Replace buffer.append(a+b) calls
When using a `StringBuilder` or `StringBuffer` to create a string message,
using implicit string concatenation inside an `.append()` call will
create a nested StringBuilder for the purposes of creating the arguments,
which will subsequently be converted to a String and then passed to
the outer StringBuilder.

Skip the creation of the intermediate object and String by simply
replacing such calls with `buffer.append(a).append(b)`.

Where values are compile time String constants, leave as is so
that the javac compiler can perform compile-time String concatenation.
Ensure that NEWLINE isn't appended in such a way since it is not
a compile time constant `System.getProperty("line.separator")`

Change-Id: I4126aefb2272f06b08332e004d7ea76b6f02cdba
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-25 11:38:47 -05:00
Doug Schaefer
7043af66fb Major change to new build arch to give configs more power.
Creates a single central CBuilder builder which find the C Build
Config and delegates the builds to it. That give configs full control
over the builds. Qt and CMake build configs are adapted to this new
structure.

More features are added to the default super class for configs.

Change-Id: I5ecfc7a4e9b909da6749189a059cdcd4a208fddd
2016-04-23 22:35:33 -04:00
Sergey Prigogin
9f79b897c1 Bug 492200 - Replace StringBuffer with StringBuilder where appropriate
Change-Id: Ib52b839a211e2068e56da4b62a5b9640fef55d40
2016-04-21 16:15:31 -07:00
Alex Blewitt
ccbab86d6c Bug 492200 - Replace StringBuffer with StringBuilder
There are many opportunities for replacing `StringBuffer` with
`StringBuilder` provided that the type isn't visible from the
public API and is used only in internal methods. Replace these
where appropriate.

Change-Id: I769ceb6eaee18d183fb0e00fa0d730651f8a7edb
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-21 18:49:32 -04:00
Alex Blewitt
b23de2f366 Bug 491984 - Optimise toString().isEmpty() checks
The use of toString().toEmpty() is a potential code smell, and has
identified a couple of places where this pattern could be optimised.

Change-Id: I1a37e62ed8546a48151a494e9f24fea46d9d2497
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-20 17:58:12 -04:00
Alex Blewitt
2114f6b108 Bug 491984 - Replace .equals("") with .isEmpty()
In many cases a String's empty status is tested with `.equals("")`.
However, Java 1.6 added `.isEmpty()` which can be more efficient since
it compares the internal length parameter only for testing. Replace
code using the `.isEmpty()` variant instead.

Some tests for `"".equals(expr)` can be replaced with `expr.isEmpty()`
where it is already known that the `expr` is not null; however,
these have to be reviewed on a case-by-case basis.

Change-Id: I3c6af4d8b7638e757435914ac76cb3a67899a5fd
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-19 13:35:54 -04:00
Alex Blewitt
4ad7f81c23 Bug 491945 - Refactor ToolReference::getToolCommand()
The implementation of `ToolReference::getToolCommand()` different from its
neighbours by checking if the `parent` was non-null. Change this so it looks for
the `parent` being null and swap the bodies of the `if` statement around to
maintain compatibility.

Change-Id: I8a188b350f94db9b1bd9d240b7a7320a930280a2
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-18 23:45:20 +01:00
Alex Blewitt
470de4e66b Bug 491945 - Remove new String() from expressions
Replace all occurrences of `new String(expr)` with `expr` provided that the
`expr` is not a byte array or a char array.

Change-Id: Iecae801b83084908b60b9e146eba87550eac640d
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-18 23:34:01 +01:00
Alex Blewitt
ca4e5b10ee Bug 491945 - Remove new String() literals
Occurrences of `new String("...")` have been replaced with a direct reference
to the literal it was wrapping.

Change-Id: Iefb49a009f210db59e5724e0a232dba2e13292b1
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-18 23:30:05 +01:00
Alex Blewitt
809598db9d Bug 491945 - Remove new String()
Occurrences of `new String()` have been replaced with the equivalent `""` and
additional NON-NLS tags have been inserted in where appropriate.

Change-Id: I54cf71dcd0d5a92a675a71166d66949533de502b
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-18 23:15:05 +01:00
Alex Blewitt
fc07efa909 Bug 491825 - Remove primitive wrapper creation
Using `new Integer` and other wrapper types such as `new Character` results in
potential extra heap utilisation as the values are not cached. The built-in
`Integer.valueOf` will perform caching on numbers in the range -128..127 (at
least) using a flyweight pattern. In addition, parsing `int` values can be done
with `Integer.parseInt` which avoids object construction.

Adjust tests such as `"true".equals(expr)` to `Boolean.parseBoolean(expr)`.

Change-Id: I0408a5c69afc4ca6ede71acaf6cc4abd67538006
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
2016-04-16 12:17:48 -04:00
Alexander Kurtakov
d81d00ec47 autotools: Adapt to generified ListenerList.
Neon generified ListenerList so cleanup here too.

Change-Id: I569ddf79d4cc0e805da5083867f3c403aa6d79b9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2016-04-15 17:47:41 -04:00
Sergey Prigogin
b91b69775f Bug 491825 - Remove uses of new Boolean and friends
Change-Id: Ie358c8385c278472f3b86851f6fc219007bb9b5c
2016-04-15 15:20:15 -04:00
Alexander Kurtakov
3dc5c0a138 autotools; Use try-with-resources.
Change-Id: I424a07664a587ac65210dbe33b96e3f914a1c274
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2016-04-15 11:14:25 -05:00
Doug Schaefer
55d95e9942 Remove build.core from cmake.ui. 2016-04-14 16:41:57 -04:00
Doug Schaefer
e090d78f94 Remove build.core from cmake.core. How did this pass verification? 2016-04-14 16:35:10 -04:00
Doug Schaefer
6e1b9b408d Tighter integration of new build system with cdt.core.
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.

Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.

Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.

Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
2016-04-14 16:19:37 -04:00
Mat Booth
a896eee7e9 Bug 490995 - [tests] autotools.tests and debug.app.tests bundles have missing resources
Change-Id: Icc5d446c00c1d52178440362c49d4cf7325825c2
Signed-off-by: Mat Booth <mat.booth@redhat.com>
2016-04-05 07:46:04 -05:00
Doug Schaefer
c29243b187 Revert "Bug 489563 - API change for Language Settings Providers."
This reverts the changes we've made for language settings providers
so that I can start again with a cleaner approach.

Change-Id: Icddd5a465a8f217594af5b07011a56bf1dfdf014
2016-03-22 10:32:31 -04:00
Sergey Prigogin
52432d7370 Cosmetics.
Change-Id: I4022285d11267b77861cc8e4333adbea9c780ea7
2016-03-21 20:17:05 -07:00
Sergey Prigogin
de3b172c7d Bug 489563 - API change for Language Settings Providers.
Restored binary compatibility of LanguageSettingsSerializableProvider.

Change-Id: I02c9c7b0cc98a72ef47798a74f7a6ff99e85cf46
2016-03-21 19:15:23 -07:00
Doug Schaefer
5a5de4b1db Bug 489563 - API change for Language Settings Providers.
Use IBuildConfiguration instead of ICConfigurationDescription.
Add adapters to convert back and forth between these. Create
IBuildConfiguration objects when configuration descriptors are
created.

Clean up formating of the code involved.

Change-Id: Iec5ca132dddbf990f116f96b4680ef5f7318e28b
2016-03-20 23:10:46 -04:00
Alvaro Sanchez-Leon
e3a5acb761 minor fix, replace == for .equals
Change-Id: I26f949b64d1d5da0f410c76379d51f7edfcf9474
2016-03-18 11:44:52 -04:00
Marc Khouzam
9fcf731caa Missing @since tag
Change-Id: I96a054aa3c8806bfa642184084a82e33d25bb0ae
2016-03-15 09:56:03 -04:00
Wainer dos Santos Moschetta
880b1b606a Bug 467771 - add basis to support autotools option as NAME=VALUE
It is not obvious in autotools preferences UI how to set variables like CC=/sbin/gcc
Introduces the basis to allow extend the UI to include such as kind of variables.

Change-Id: Ife0aada50d8c253f3fff39e7087f5fd54803ba48
Signed-off-by: Wainer dos Santos Moschetta <wainersm@linux.vnet.ibm.com>
2016-03-14 17:20:50 -04:00
Jesper Eskilson
1d09e0e2af Added property page for CMake projects
Currently only contains a button for launching the CMake GUI
(cmake-qt-gui), but we might want to put other things in here as well.


Change-Id: Ia89ad409eaad17a170cf1e2f1cd4fb31a7d678e2
Signed-off-by: Jesper Eskilson <jesper.eskilson@iar.com>
2016-03-14 16:08:35 -04:00
Sergey Prigogin
728fd554e4 Incremented version of org.eclipse.cdt.core to 6.0.
Change-Id: I059e7eba9eff7f24c84e08a1cbf658381aaaf19d
2016-02-17 10:28:26 -08:00
Marc Khouzam
2ad68f7f80 Update copyright dates
Change-Id: I94ac38c37657e270f62db9bbd2859c2c6de40e5f
2016-02-11 01:50:14 -05:00
Doug Schaefer
44599764f0 Support project scanner info in new build system for new class wiz.
The New Class Wizard asks scanner info for include paths for a project.
Need to decide whether that's a good thing or not but for now, add
support in the Qt config and GCC toolchain for it.

Change-Id: I5f037deb13db41fc0a083ea9fdc30ac1f61557e6
2016-02-09 16:40:46 -05:00
Doug Schaefer
b6dc71f442 Qt - cleanup build cases. Add method to GDBLaunch.
Clean up cases when Qt installs aren't registered for a given
config. Fix bug on first scanner info request in build config.
Clean up the Qt Run launch delegate in extension.

Also added a method to GDBLaunch to allow subclasses to override
what the default gdb path is.

Change-Id: Icf158633e1c1327cc87ce59c1605bb26258f8708
2016-02-08 14:05:06 -05:00
Marc-Andre Laperle
11e522d33d releng: Fix missing about.html
See https://dev.eclipse.org/mhonarc/lists/cross-project-issues-dev/msg12981.html

Change-Id: Ia285ef3a4c85961464432191389838d5a605f5cb
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2016-02-05 11:04:42 -05:00
Marc Khouzam
766f66c0ab Missing copyright header.
Copyright assigned to company of the committer
who did the first commit of the file.

Change-Id: Ia133694018c798f9558258810982f5276737a0b0
2016-02-01 12:47:41 -05:00
Guy Bonneau
8cfa1448ac Bug 461545 Add support of attribute isDisplayable to the Build Property
of a tool and implement the new interface method.

Change-Id: Iee645519c1bf9fbe144021bc81bd6cf7434c3e4b
Signed-off-by: Guy Bonneau <guy.bonneau@videotron.ca>
2016-02-01 09:51:05 -05:00
Doug Schaefer
326759fe8c Qt fixes for scanner info and launching.
Qt builds now clear the scanner info cache so that it reloads.
Also added Environment tab for Qt Local launch so that you can
override the environment. Supported for 'run'.

Change-Id: Id6a04a564587411b6a5846f00045f79f5696bfb8
2016-01-29 15:08:58 -05:00
Doug Schaefer
192bfff688 Bug 486509 - Add support for debugging local Qt apps.
We reuse GDBLaunch but need to override some settings that are
normally in the launch configuration. These things are calculated
at launch time.

Note there is also an added dependency to the launch bar core
to make GDBLaunch a targeted launch so we can set the target properly.
At some point we'll move this launch target stuff lower down, maybe
to the debug platform.

Change-Id: Ibbf6b794a9ecf25b79d46093cc624ea69dc04641
2016-01-28 11:05:34 -05:00
Doug Schaefer
99426ce65a Missing OSGI-INF in build.ui build.properties file.
Change-Id: I40d92121baa81d81300ff2e102154cf3a9a8d467
2016-01-28 10:12:20 -05:00
Alena Laskavaia
f57e0c8acf added description control on Build Variables page
Change-Id: Ib2f6b30bedb88e6ab2c886306171a5668ac1a415
2016-01-27 20:13:05 -05:00
Jeff Johnston
9066b061f3 Fix Autotools to remove use of Wizard classes that are being removed
- remove NewProjectWizards
- fix AutotoolsBuildWizardHandler to remove warning

Change-Id: I3dfcf9d09477c267ea4a770dcf77c0f29d652e38
2016-01-20 12:33:24 -05:00
Doug Schaefer
cba0b62a96 Make a couple of more things common. Clean up scanner info.
Make the build folder common for build configs. Makes things
consistent.

Also make it clear that we are caching scanner info with the
names of the API calls.

Change-Id: I1da0d90b3358065e28e437d0dfeea730e13c9aef
2016-01-20 10:30:25 -05:00
Marc Khouzam
b745736775 Incremented CDT features version to 9.0.0
This includes bumping the standalone debugger to 9.0.0

Change-Id: I55fae1cec995b5f6865a5b174c004ed1b76e9bea
2016-01-18 16:37:47 -05:00
Doug Schaefer
c3bfd4daee Fix up launch bar setting for cmake.
Change-Id: I0000000000000000000000000000000000000000
2016-01-16 22:53:47 -05:00
Alena Laskavaia
3763208ee8 project specific error settings for cdt.build.core
- and fix NPE (comment out code which seems to be incomplete)

Change-Id: Ided5116fcbda959c68c96b5f8630284f93b76dbf
2016-01-05 19:49:47 -05:00
Andrew Gvozdev
79f4bf7d1a Bug 485028: Toggle Comments for Makefile Editor
Change-Id: I40b6daca54aa17022971df0749d1c4d7708a6564
Signed-off-by: Andrew Gvozdev <angvoz.dev@gmail.com>
2016-01-05 09:06:03 -05:00
Marc-Andre Laperle
e6a4fe47b3 Bug 463723 - GCC output parser cannot parse macro with a combination of
quotes and escapes

Change-Id: I7b07d3e2cc706f5e7839189bd2968f69c5cad28c
2016-01-04 11:45:31 -05:00
Marc Khouzam
f3ff649041 Fix copyright of all CDT plugins using the copyright tool from platform.
This commit does not add missing copyrights, just updates the date on
the existing ones.

Change-Id: I646f5afd533a1fcc539bdf2e0686b22f406ecf65
2016-01-03 20:38:31 -05:00
Andrew Gvozdev
2a4cb495b5 Fixed some warnings
Change-Id: Icb6f7ba6151b55296c3f8137552a10fd7872b317
Signed-off-by: Andrew Gvozdev <angvoz.dev@gmail.com>
2015-12-30 21:52:19 -05:00
Doug Schaefer
73805d2ea4 Bug 484994 - Migrate Mars Arduino support to Neon.
This brings the master branch up to date with everything we've done
in the 8.8 branch. Adjusts for the new ILaunchTarget and targeted
launch delegate.

Also has a start at making more things common in the new build system.
With three extenders of it now in CDT, i.e. Qt, CMake, and Arduino,
it's obvious we can make things more common and make new extenders
less work.

Also undoes some of the work I've done to get Arduino onto the new
build system. Will need to redo it as we do the new common stuff.

Change-Id: I51ce768e0fc60e29c16b05567bd9802d64e33779
2015-12-30 20:12:30 -05:00
Marc-Andre Laperle
c29c9bc057 Bug 382746 - Adding C/C++ nature for C Project impossible
This patch modifies the wizard so that the C projects also show in the
list of projects.
- If a given C project is selected and the C nature is selected, the
project is not modified.
- If a given C project is selected and the C++ nature is selected, the
C++ nature is added and project type and toolchain selection have no
effect because it is assumed that the project type and toolchain had
already been setup before hand.
- Old-style projects (CDT 3.0) are not converted anymore.
Unchanged behavior:
- C++ projects never show in the list of projects. Removing nature is
(still) unsupported.
- Non-CDT project behave as they use to.

Change-Id: Ie6282c11d90c42d21ecad2996ab49ebd64c38ece
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2015-12-28 13:43:42 -05:00
Marc-Andre Laperle
1c258538de Remore unused New New Wizard
This code is not used and hasn't been touched since 2012.
Now it can be referred as the "old new new wizard".

Change-Id: Iccc60651a8233a5ef5b138dfcc334cfcf926d109
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2015-12-28 13:20:43 -05:00
Alexander Kurtakov
07488984d9 autotools: Tests improvements.
* assertNotNull instead of assertTrue(var != null)
* better types for swtbot api to prevent useless casts after that
* LanguageSettingsManager.getLanguages instead of deprecated api
* assertFalse instead of assertTrue(!var)


Change-Id: Icdde01f10617b6ec51938bc1998a690cfe7ff1d4
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2015-12-18 09:06:26 -05:00