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
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:
- Remove unnecessary casts
and completing the wizard
Change-Id: I287d4066b12fc19d7f73a016e11c9405abb4ceb9
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
There is also a new script to verify completeness of .gitattributes:
releng/scripts/verify_gitattributes.sh
Change-Id: I2ce270852ab54b66b6c474a6ec94203fe5bba78b
Move Toolchains directly under C/C++ and rename to Core
Build Toolchains. Add a label describing what the toolchains
are for in hope of avoiding confusion with managed build.
Also move Qt into C/C++.
Change-Id: Ia1d76087c65b26562d1001243ea355c7ac32365e
On my Windows box I have lots of GCC toolchains. Make sure it selects
the one from the Qt install. And fix a few NPEs and things around that.
Change-Id: Ifeeca9271b5055ac773b3b77e372a67e07305130
A number of changes that clean up how build configs are done. Now
build settings are stored with the build config instead of in launch
configs. That makes it less launch bar specific. Add build settings
UI to change the toolchain used for a given launch config.
Also changed CMake so it's IToolchain based instead of property which
doesn't work when multiple IToolchains match.
Change-Id: I958d90ede3c1f873ab1530c2b2880808e8f7abef
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>
Make sure Core Build handles the properties set by these tabs
correctly. A bunch of string externalization too.
Change-Id: I54a61b4d2520a0952c43608169747e792826062e
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
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
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
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
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
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>
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
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
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
The tern deps were in node_modules which is gitignored. Created a
Makefile to copy those deps to a new directory and we check that in.
Also removed some files that were used to get ANTLR which we aren't
using. And cleaned out the commented out reload button from the
plugin.xml.
Change-Id: I09a5ecb298bbdd9272f9b4a7540d525edb55c4fa
Added the class QmlASTNodeHandler that creates and manages Proxy
instances of the QML AST node interfaces. The proxies are created
dynamically based on what methods are called on the interface. That
way, the AST is loaded as needed rather than all at once. Added a few
tests to verify behavior (however, they are not comprehensive; there are
a lot more cases that should be verified in the future).
Change-Id: I64038f9668942a67e1f1b7dceac6c7dbed2d46d7
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Created a set of Interfaces to represent the JavaScript and QML Ast in
plain Java. Updated acorn-qml to be able to parse the entirety of QML
syntax as specified by the QML grammar. Also modified the QML AST to
represent the added syntax and modified tern-qml to handle the new AST
elements.
Changed the way that the QMLAnalyzer handles path resolution. Paths are
now relative to the local file system.
Note: the normal acorn-qml parser cannot parse the full range of QML
syntax due to ambiguities. However, the loose parser can. We're still
waiting on Acorn to bring lookahead to the normal parser in order to
resolve this.
Change-Id: I77c820ad46301975b2a91969a656d428ad9409c1
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Hooked up the extra logic needed to get Tern-QML's imports to work in
the QML File Editor.
Change-Id: I6fa222223ca8b6b177e4004e48f2f1863ab4d7b4
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>
Moved new build system to it's own plug-ins. Cleaned up the root
build configuration and toolchain classes and use them for Qt local
run builds. Also hooks Qt local run launch delegate to launch target
manager and associated delegate interface.
Change-Id: I0c0f711ee53005edd399f6d24ba96658d606e1e5
Added basic content assist for built-in qmake variables since there are
so many of them.
Added a bunch of new classes dealing with basic parsing and modification
of Qt Project Files. For now the parser is a simple regular expression
matcher that finds instances of variables. The modification class
supports preservation of indentation and comments that are tied to
variables in the project file.
Change-Id: I0539458d5c1cf29e6c9c1246e4e717e7cbec1b84
Signed-off-by: Matthew Bastien <mbastien@blackberry.com>