Implement quick outline for AutoconfEditor with search, navigation and
etc.
Small reorganizations in the plugin.xml to make it easier to navigate.
Change-Id: Ibb13caa6f80ae2bbdfe3a78dec0eb033ee0c0482
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Making use of lambdas for the sake of showing new APIs and having better
code.
Change-Id: If03cde0b2ae58d965387b0b224bc5129af78dacc
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Fixed up content type warning. Hooked up colors for the QMLEditor to
the CEditor preferences. Fixed up tabbing in the main.qml template.
Fixed the GCC toolchain to find compiler on path on windows.
Change-Id: I66a013666d1ab99bfe94a2a558486cc81681c67c
- set default CFLAGS and CXXFLAGS for debug configuration
Autotool projects
- pass project when creating a new AutotoolsConfiguration
- add new Debug (GNU) configuration
- add new build type property to Debug configuration
- look for property when initializing AutotoolsConfiguration
Change-Id: I95e6fa59f854dad3aff71507a4a85ffa55f4b2bc
- changed gcc builtin settings providers to prefer non-shared
- added isIndexerAffected method override to ToolSettingsTab which
looks at new isIndexerAffected boolean
- add logic to ToolSettingsTab setOptions() method to look for
dirty options that return true for isForScannerDiscovery() or
are special options that affect include path or defines
- add performok method to ToolSettingsTab to look if isIndexerAffected
when user hits OK without hitting APPLY
- change the message for bringing up the question dialog for end-user
to choose whether to reindex or not
Change-Id: Icd740caafe638f272b6f1434d5817f2377ffe04a
new build configs now support binary parsers which are by default
driven from the toolchains. Ran into problem with new versions of
toolchains. Added versioning info to toolchains to take that into
account.
Change-Id: Ie1fb7755e84239b525dca0ae11759027a0b44574
ChangeLog is an archaic format for identifying what has changed in a
project. Fortunately more powerful version control systems are capable
of generating this information and displaying information such as this
paragraph in order to determine what has changed in a project and when.
Change-Id: Ia71a05fa51869c1adb193d94f71c28b3b36beb37
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
Eclipse warns if a String literal does not have a `//$NON-NLS-<n>$`
entry at the end of the line. However, for historic or formatting
reasons, many such occurrences in the CDT source have an intermediate
whitespace, such as `// $NON-NLS-<n>$`
Fix these so that the whitespace is removed between the // and $
characters.
Change-Id: Idc12398fe6e9d619af1d0b1b73fb8b6180da223c
Signed-off-by: Alex Blewitt <alex.blewitt@gmail.com>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
Neon generified ListenerList so cleanup here too.
Change-Id: I569ddf79d4cc0e805da5083867f3c403aa6d79b9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
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
This reverts the changes we've made for language settings providers
so that I can start again with a cleaner approach.
Change-Id: Icddd5a465a8f217594af5b07011a56bf1dfdf014
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
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>
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>
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
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
of a tool and implement the new interface method.
Change-Id: Iee645519c1bf9fbe144021bc81bd6cf7434c3e4b
Signed-off-by: Guy Bonneau <guy.bonneau@videotron.ca>