Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.
Change-Id: I54a61b4d2520a0952c43608169747e792826062e
This change overcomes the Cannot run program "rm": Command line
too long error when there are hundreds to thousands of files.
This change only applies to the interal builder.
Change-Id: Idc32067e27d76e3b438b2b1a07376859c7c8d1e4
Handle failures when trying to find the resource at the end of
a command line when it's not really a command line.
Change-Id: I7dc94a2c45c758248d0402c253e077142ee050e3
Unify launching for projects that use the new Core Build system.
Starts with CMake projects. We'll do Qt projects next.
Change-Id: I14af8e99decd54cc6548095b3ad3e054c550aea2
For ESP8266, I want to auto discover the toolchains and friends
installed into Eclipse. I also want to handle toolchain files
manually added by the user. Adding providers and listeners.
Adds prefix to gcc commands. Makes CMake config provider for Local
only. ESP8266 has it's own launch config. Add build output to the
build config model. And fix up output folders.
Change-Id: I682c3d08898e5ca275d07f8bb63c6ec1c7605a81
Right now launch configuration delegates need to know too much about
the specific build system for a project (cmake versus qt, for example)
Start decoupling this and test out the theory with CMake.
Change-Id: I8a362f16cddca77b37a5ab5920ee19318035d478
Use launch target os and cpu arch properties to pick toolchains and
toolchain files. UI to add toolchain files. And build support.
Also some clean up of Qt as I found bugs.
Change-Id: Icd1da43460b5954eea15e95ed8ec27850fc4e54e
Reads the compile_commands.json file and feeds the commands into
the processLine method of the build config which creates the scanner
info. The scanner info is cached in memory and stored in the
metadata directory.
Change-Id: I8b04e661dfe767904d1c10119c07167fee8cd7e4
Fixed up CMake new project creation. Hooked up the CMake build config
properly.
Introducing the New C/C++ Project Wizard that hold all the new project
types: Arduino, Qt, CMake.
Change-Id: I9f9c8b1f51b136515fe226c15059cdbb99106275
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>