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>
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>
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
For example, opening the CMake property page, there was a missing
message for the cmake-ui button.
Change-Id: I126fe1cb6e290edc289a2dade44500dd35ed1207
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Pre-build will always run in parallel to compilation of source files
unless each and every source file depends on pre-build. Also, when
parallel build was enabled, the "Make build target" under "Workbench
Build Behavior" was ignored. Instead of doing make -j all, Eclipse ran
make -j pre-build main-build. While the intentions are good, make will
attempt to build pre-build and main-build in parallel for previous
stated reasons.
This patch changes two things:
1. Eclipse will consistently respect the "Workbench Build Behavior" for
both single- and multi-process build.
2. The generated makefile is changed to guarantee pre-build is run
first.
Changed from
all: pre-build main-build
to
all:
$(MAKE) --no-print-directory pre-build
$(MAKE) --no-print-directory main-build
Change-Id: Icf3a1057ee3b3cc8a04a433820492a4f469e17dd
Signed-off-by: Morten Kristiansen <millibit@gmail.com>
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