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

2965 commits

Author SHA1 Message Date
Hansruedi Patzen
e0e6a54caf Bug 537924: Unable to build javadoc maven target
Turns off doclint for Java 1.8 and greater because the javadocs are
incomplete and won't build otherwise.

Some files also had encoding issues with some characters which caused
the javadoc build to fail, these characters have been replaced.

Change-Id: I04690644bec6d7c3219cb0438cb3db6593fefd3a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-08-14 19:12:48 +01:00
Jeff Johnston
fe5703bf3b Bug 537632 - Meson Property Pages missing some fields after configure
- fix MesonPropertyPage logic concerning a configured meson project
- for possible values, add "-" and "/" as valid characters
- in state flow, don't just wait for blank lines, an option
  header can occur in the middle of a group or a new option group
  name can also occur

Change-Id: I2c6c8f9fb15db0425f03e422b20b58ace5234fd4
(cherry picked from commit ac81db720c)
2018-08-02 18:57:36 -05:00
François Godin
3603986d0b Bug 537118 - CMake and Meson integration now working on Windows.
- The commands are launched directly instead of using the shell
(/bin/sh) which is not available on Windows.

Change-Id: I5f8d99a04da1c860bcd37d138103a1bd4e501547
Signed-off-by: François Godin <copelnug@gmail.com>
(cherry picked from commit 0b2053dcb2)
2018-08-02 16:27:31 -05:00
Jonah Graham
35a590e00b [releng] Bump version to 9.5.3
Change-Id: Ie8180cd33d2a9831e8be10519ef40efd9110b56b
2018-07-23 20:38:33 +01:00
Jeff Johnston
f90f1e2cd8 Bug 536413 - ConcurrentModificationException when indexing
- apply patch submitted by duh-sa-sekirom@hotmail.com
- in GCCToolChain join the threads that do include path and macro
  searches before waiting for process so as to prevent a
  ConcurrentModificationException

Change-Id: Iefe6f013007b7bbf00117b5295b5e27489a72834
(cherry picked from commit e0c656d2e0)
2018-07-17 15:21:10 -05:00
Jonah Graham
ea35968c11 [releng] Bump version to 9.5.2
Change-Id: I0fb0c7ecc2e59cda3e0bb7efb98fd2a72c5aca80
2018-07-06 14:19:08 +01:00
Jeff Johnston
ee5f57d536 Bug 536363 - Meson project include paths wrong when using ccache
- fix GCCToolChain and ContainerGCCToolChain to not blindly
  take the first token in the command string when processing
  scannerinfo; if it is "ccache", take the second token instead

Change-Id: I4b2b7dfaccae6f3ec968bbe4217c57994ad71963
(cherry picked from commit a5ed8ea2a4)
2018-07-05 09:22:19 -05:00
Jonah Graham
ce52b242c0 [releng] Bump version to 9.5.1
Change-Id: I059636ef27e3bec7e49cc7d6f37f70d8d9c245ec
2018-06-27 11:56:51 +01:00
Doug Schaefer
3b44424539 Bug 535972 deal with relative include paths in GCC scanner info
We weren't dealting with relative include paths returned from
the call to gcc -E properly. Resolves them against the build
directory before checking if their a directory. Results in them
added.

Tested with ESP-IDF's feature/cmake branch.

Change-Id: I1e2583e03cce6380ee4382146b177978c9c81806
2018-06-16 16:46:04 -04:00
Jonah Graham
45279d5ffc Bug 511161: Early fail on non-absolute URIs when looking for files in workspace
Change-Id: Idefa850b3d43e13d878d5a19bd89bd42ee1c534f
2018-05-30 19:11:24 -04:00
Doug Schaefer
eb197ea3c7 Bug 535091 separate out the two streams for macros and defines.
The output of the call to gcc to pick out the defines and include paths
produces them on different streams, defines on stdout and paths on
stderr. Separate the scanning of the two into two threads.

Change-Id: I3173d3619e53d13a51a6e283eb320a618daacf21
2018-05-29 00:13:47 -04:00
Eric Woestman
4aebc5bffc [534454] Fixed GCC build parser for simple defines
Changed GCC build parser to handle simple defines like "-D FOO"
and defines them to 1.

Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=534454
Change-Id: Ic9065914bc82dafc43d0814f4fed27a26eeeeb28
Signed-off-by: Eric Woestman <woestman@ensoftcorp.com>
2018-05-17 21:59:02 -04:00
Torbjörn Svensson
4881a2ecd4 Bug 330204 - Use ManagedBuildManager to build
The UI is using ManagedBuildManager to build a specified set of
configurations.
Insead of duplicating the logic (since clean does not support argument
transfer from HeadlessBuilder all the way to CommonBuilder), call the
public function for building a set of configurations.

WARNING: This fix is relying on a race condition in
ManagedBuildManager.buildConfigurations() since that method swaps the
"active configuration" while invoking the builder for the clean target.

Change-Id: I422a22e43a0acbef85420c04028475d61ad2ff85
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2018-05-09 10:56:10 -04:00
Doug Schaefer
6b9042e694 Extend GCC OS detection
If we can't tell from the second element, try the third. If
it's linux, we're good. If it's elf, use the second element.
This catches the esp32 xtensa compiler which is driving this
change and make sure we don't mess up too many others.

Change-Id: I4650e5fa309677c596e9f5f64f50bcc2ebdef334
2018-05-06 17:02:16 -04:00
Doug Schaefer
7f0238a2aa Revert "Default to the middle element of the gcc tuple for the os name."
This reverts commit 3feb726cf5.

Change-Id: I98d70947084000b165151b4cf5b43d9b07ca74e7
2018-05-06 02:10:41 -05:00
Doug Schaefer
3feb726cf5 Default to the middle element of the gcc tuple for the os name.
Change-Id: Iea4ae6a8977406d06bf67719c8281e1062c5a12d
2018-05-05 21:28:58 -04:00
Doug Schaefer
3929a1fc80 Add dynamic variable for build directory of active core build config
This will allow us to use that value in external tool launches such
as those used by the Serial Flash launch configuration.

Also removal of the missing src source folder entry in meson.ui.editor.

Change-Id: I1033bdc0c18c9822490a9b8602cef83a42f7262d
2018-05-03 18:44:46 -04:00
Jeff Johnston
a3211e7cf6 Bug 533888 - Simplify Meson Core Build to use startBuildProcess
- fix MesonBuildConfiguration to use startBuildProcess instead
  of CommandLauncherManager
- change CBuildConfiguration startBuildProcess() method to accept
  a build directory and to replace environment variables based
  on input parameter
- fix CBuildConfiguration watchProcess routines to ensure that the
  ReaderThreads have completed processing output to the console
- change StandardBuildConfiguration and CMakeBuildConfiguration to
  pass the working directory to startBuildProcess

Change-Id: Icb4f2d076f0e6bb1513b20f6f198f720eae07e51
2018-04-26 14:48:50 -04:00
Alexander Kurtakov
b9bac6912e Update build machinery.
Move to latest CBI plugins 1.1.5.
Use mylyn docs 3.0.24 in autotools docs generation.

Change-Id: I077afde458c654e40db44bec77b3049efe9715af
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-04-24 11:31:56 -04:00
Jeff Johnston
b56078ed96 Bug 533842 - Fix Launchbar for enabled/disabled Docker Connections
- fix CMakeBuildConfigurationProvider to not verify if a toolchain
  file exists which doesn't occur for Container Build configurations
- add new ICBuildConfigurationManager2 interface that adds new
  recheckConfigs() method, make CBuildConfigurationManager
  implement this new interface
- add new recheckConfigs() method to CBuildConfigurationManager so
  that if a Docker Connection is enabled, the list of invalid configs
  can be rechecked and those that are now valid can be removed from
  the noconfigs list
- have ContainerGCCToolChainProvider implement
  IDockerConnectionManagerListener and register itself as a listener
  during init
- add new changeEvent() method as part of a listener that will add
  toolchains for connections that are added/enabled and similarly
  will delete toolchains for connections that are removed/disabled
- do the same with ContainerTargetTypeProvider (making it be an
  IDockerConnectionManagerListener and adding/deleting targets based
  on whether a Docker Connection is added/enabled or deleted/disabled
- as well during the init process of ContainerTargetTypeProvider
  remove any targets for Connections that aren't established

Change-Id: Id5e9415eaa770ef7f6ba1ddd11312ed003585391
2018-04-20 12:44:27 -04:00
Samuel Hultgren
bb5f2d7f78 Bug 528940 - Execute pre/post build step
Execute the pre and post build steps as part of the build when using
the internal builder in parallel mode.

Change-Id: I840da0d7025597dc5b3edc1bb54a5ca45b6e2e86
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Signed-off-by: Samuel Hultgren <samuel.hultgren@st.com>
2018-04-17 15:12:00 -04:00
Jeff Johnston
8982ef90e7 Bug 533444 - Add Container Build support to CMake Projects
- fix CMakePropertyPage to check if the active config is
  a Container build in which case dynamically build the page
  using the results of a cmake -LAH call which will give
  the various configuration values that can be changed
- add new CMakePropertyCombo, CMakePropertyText, CMakeUtils
  and ICMakePropertyPageControl classes
- change CMakeBuildConfiguration build methods to use
  startBuildProcess to run commands similar to
  what StandardBuildConfiguration does now
- change CMakeBuildConfigurationProvider to use a container image
  name to form a build directory so that differnt image targets
  are differentiated and easy for the user to figure out what they
  are for
- fix main.cpp sample CMake program to actually be a hello
  world program

Change-Id: Iea9e2b5cc6895bc95194e28b131a3fb7e3b670ca
2018-04-17 12:20:21 -04:00
Samuel Hultgren
c2b5e84087 Bug 217674 - Added incremental build support
When building a project with parallel builder using internal builder,
the entire project is rebuilt even if an incremental build was issued.
Store the rebuild state so that next build knows what has already been
compiled.

Change-Id: I1d1836f072bf13b03423fde7b5c427d41e47391e
Signed-off-by: Samuel Hultgren <samuel.hultgren@st.com>
2018-04-17 11:53:41 -04:00
Jeff Johnston
103f4cba4c Adjust Meson NewManuanNinjaTest
- test sometimes is printing extra info like level of ninja found

Change-Id: I2622f79bfc8320a8bd2bf0f6b7a8fe3bb73de55f
2018-04-16 16:19:49 -04:00
Jeff Johnston
2e99babe5b Bug 533222 - Add Container Build support to Std Make Core Build
- add new getConsoleHeader() method to ICBuildCommandLauncher
  interface and ContainerCommandLauncher class
- modify MakefileBuildConfigurationProvider to create build
  configurations based on an Image name when building for Container
  and as well support the linux-container os that is used for
  Container targets
- add new IConsoleParser2 interface that extends IConsoleParser
  and adds new processLine method that takes a List of Job as
  a parameter
- make CBuildConfiguration implement IConsoleParser2 and add new
  processLine method
- modify watchProcess to recognize an IConsoleParser2 and pass
  a Job List then wait for all jobs to finish before calling
  shutdown() and possibly reindex
- add new IToolChain2 interface with startBuildProcess() method
- add new startBuildProcess() method to CBuildConfiguration
  to look for new IToolChain2 and use its startBuildProcess()
  method to perform the build
- make ContainerGCCToolChain implement IToolChain2 and add
  new startBuildProcess() method to build in Container
- change StandardBuildConfiguration to use startBuildProcess()
  to do build and clean

Change-Id: Icae9a55ef6abfa1b7f611544ad591b6062c72585
2018-04-16 12:10:42 -04:00
Torbjörn Svensson
47d08ec204 Bug 533473 - Dynamically hide option categories
Allow applicabilityCalculator to hide optionCategory items that are
located on the toolchain. Show in the schema that
applicabilityCalculator is a valid attribute for optionCategory.

Change-Id: I6adb22b0af2a2c7fe45ea142049fcc2687d105b9
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2018-04-12 17:48:53 +02:00
Jeff Johnston
0f9d2cdbba Enable Meson UI tests
Change-Id: I5f0a554c92e1568dd2cda69c198640c2a99769ec
2018-03-29 16:59:37 -04:00
Jeff Johnston
88cc9907cb Update Meson UI tests
- add new NewManualNinjaTest to test the Run ninja context
  menu item
- add a check that Project->Clean... works for Meson
  projects in NewMesonProjectTest
- fix all tests to substitute the project location instead
  of hard-coding it
- fix the build ninja code to use env to run so that
  environment variables can be overridden from run ninja dialog
- add new test to AutomatedIntegrationSuite for Meson UI tests

Change-Id: I0e338df6935f343d6ffbce99a83265d252ea37a6
2018-03-28 18:29:24 -04:00
Jeff Johnston
1a05bf6910 Add a new Meson property page test
- add NewMesonConfigureTest.java
- fix extraneous "meson" string in console output when
  performing a meson configure
- add new test to AutomatedIntegrationSuite for
  Meson UI test plug-in

Change-Id: Ic10520a0d420d380df95117b69200409a48226b3
2018-03-27 19:46:24 -04:00
Jeff Johnston
980eb1b25c Bug 532967 - Meson config properties not being saved/restored properly
- change splitting logic in MesonPropertyPage to split the arg
  string using -- which precedes args and to perform trim()
  operation to remove spaces between
- don't process an empty arg after splitting
- fix the boolean arg logic to use parseBoolean instead of getBoolean
  which is only for system properties

Change-Id: I390911bbf9d7f63f0cf6a13278f3644fe175847b
2018-03-27 15:35:53 -04:00
Jeff Johnston
407352736a Bug 532917 - env vars in Meson properties causes failures to occur
- fix MesonBuildConfiguration to check if any environment variables
  have been specified in properties page and if so, to change
  the command to run /usr/bin/env ENVVARS /bin/sh -c "meson ..."
- using env will cause the current env to be used (both locally
  and in a Container where the env has been set up) and modify it
  according to what the user specifies

Change-Id: Ide3997cf78edf65857dea3119f0a9d71679cfe68
2018-03-26 18:36:36 -04:00
Jeff Johnston
0144d3e819 Update Meson UI test
- update test for create, build, and run

Change-Id: I8a7d43336f8be28bc5cbd567dffed5f4fdc1b46f
2018-03-23 20:31:06 -04:00
Jeff Johnston
1ce1b3df5f Add Meson UI tests plug-in
Change-Id: Ib5af6980e90963876307f719a73f911394e72e1a
2018-03-22 15:57:46 -04:00
Jeff Johnston
60affd8b9f Bug 532420 - Make Container Core Build indexing more efficient
- add new ICBuildConfiguration2 to keep API checks happy
- remove refreshScannerInfo method from ICBuildConfiguration and
  put it in ICBuildConfiguration2
- make CBuildConfiguration implement ICBuildConfiguration2
- update ContainerPropertyVolumesModel to use new Docker plug-ins
  using docker-client 8.9.2.
- fix MesonBuildConfiguration to use a job for each compile line being
  processed, then wait until all jobs are done before causing
  an reindex to occur (this will maximize parallelism when building
  in Containers)
- fix ContainerCommandLauncherFactory to save the project so we
  can exclude project directories when copying header files using
  the new Docker Tooling interfaces
- fix CoreBuildLaunchBarTracker to use ICBuildConfiguration2
  interface to make the call to refreshScannerInfo


Change-Id: I2138f5111614e7821e46c22731397a01035eac0a
2018-03-19 21:50:31 -04:00
Alexander Kurtakov
84d6fdefaa Sonar fixes in Meson plugins.
Change-Id: I27a75d6dac41ae820d6af0b7c30922eb5bac58f7
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 10:40:53 +02:00
Alexander Kurtakov
c158b0bdd2 Use lamdbas.
Change-Id: Iece00d9c1af64bb0218a41519e995d33d8edee31
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-03-09 03:23:00 -05:00
Jeff Johnston
d468345bc3 Add Meson docs plug-in
Change-Id: I9153edd6f2708de475855ca3dbdb6323432e37ac
2018-03-07 12:15:56 -05:00
Jeff Johnston
82b0f6ab28 Bug 531985 - Support Container build with new Core Build
- add support for Container build to Meson
- add fixes to MesonBuildConfiguration clean build to use sh -c
  like normal meson build
- add new refreshScannerInfo method to MesonBuildConfiguration to
  re-process the commands json file so indexing will correctly
  switch from local to Container build and vice-versa
- add MESON_PROJECT_ARGUMENTS to IMesonConstants
- in MesonBuildConfigurationProvider getCBuildConfiguration
  method, remove checks for toolChainfile and for Container
  build, name the configuration based on the image name

Change-Id: Ia8a85c05e0cb9d46d2987ed4d39fcee914302467
2018-03-06 14:48:48 -05:00
Doug Schaefer
10c5897080 Remove extra colon in CMake build output.
Change-Id: I624d7e7079a3c1473fb591e24af1f7dcdd6617dd
2018-03-01 15:25:24 -05:00
Alexander Kurtakov
33291e5989 Move to wikitext 3.0.23.
Change-Id: Iaf8a7698106bf38578907f4fdab27f0cc20a0763
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-26 23:29:16 +02:00
Alexander Kurtakov
61442cf3be Bug 530000 - Add Meson Build support
Editors for meson.build, meson_options.txt and *.ninja files. Just
highlighting for now based on textmate grammars.
Added tm4e to target to enable resolving tm4e bundles.

Change-Id: I22859b2d39a96dcd777ee96d2a5e7465e4884839
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-21 04:46:04 -05:00
Jeff Johnston
dcfc276062 Bug 530000 - Add Meson Build support
- use sh -c to invoke meson and ninja commands so that
  the default environment including PATH is set up
- don't bother trying to find the commands locally and
  don't bother trying to find local environment (only
  use env options from property page or run ninja command)
- add a check after running meson to ensure that
  ninja.build file gets created, otherwise issue error
  message and stop build
- fix comments for RunNinjaPage
- add future Container support by allowing a special
  target OS when checking for isLocal build

Change-Id: Ie8d736c0909b44fe8db14265afbc8b05262b51f3
2018-02-19 20:37:43 -05:00
Jeff Johnston
70151ce491 Bug 531360 - Run ninja menu item is showing up in Docker views
- fix visibleWhen attribute of menuContribution
- also fix some warnings due to command not being set up
  properly

Change-Id: I8b5239b1edcd5da20201e71d23dce3bfb18c6d0c
2018-02-19 19:39:47 -05:00
Doug Schaefer
45966dd76d Fix up handling of esp32 on Windows.
Need to convert paths from MSYS style to proper Windows
native.

Change-Id: I8c459274a1eb33af026c1ae383db67c8cbcdc29f
(cherry picked from commit fea65eeb15)
2018-02-15 10:46:01 -05:00
Jeff Johnston
e31e23bb4e Apply CMake changes from Bug 530673 to Meson
- Fix issue with Meson and changing toolchains since
  Meson is based on CMake plug-ins
- Cleaned up add and remove of toolchain files and handling of when
  a toolchain changes for a config

Change-Id: I147a30454c69e3d8d86fc50c561a1667ddfb5df3
2018-02-14 13:09:18 -05:00
Jeff Johnston
3405063203 Bug 531125 - Tupled gcc toolchains should not be the local default
- change ToolChainManager so that when creating the types map for
  the first time, make it a LinkedHashMap instead of HashMap so
  order of input is preserved (first in = first out)
- fix GCCPathToolChainProvider so that it adds non-tupled gcc
  to the ToolChainManger before adding any tupled version

Change-Id: I84602a98dd4949a2f9847d4e72c428cdedd60688
2018-02-14 12:23:03 -05:00
William Riley
fdd018365c Bug 531131 - Consider superclass value to avoid unnecessary changes
Consider the superclass value when setting pre & post build steps, error
parsers, tool commands & tool command line patterns to avoid changing
the .cproject file unnecessary

Change-Id: Ida323982fe5bce7b0dd9b70eb23a6ee778be5403
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-14 09:18:08 +00:00
William Riley
689ad9f6ec Bug 531043 - Display errors/warning count for makefile & cmake builds
Change-Id: I8b2ab525af137ddd890f5713a3278cce6d17bffd
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 16:42:33 +00:00
William Riley
9a4853aa2d Bug 531106 - Modify MBS option serialize to handle empty string lists
Store a flag to indicate if an empty or null list. Existing projects
without flag will be considered as non-empty when loaded to maintain
existing behaviour for them.

Change-Id: I745c887eb2888910c6e76d5bc057d592a3d8fb3a
Signed-off-by: William Riley <william.riley@renesas.com>
2018-02-13 14:13:37 +00:00
Jonah Graham
3afc828ae0 [releng] Bump version to 9.5.0
Change-Id: Ie342f02f7aae633f41a7ab7d39c21e056793a04a
2018-02-13 11:25:08 +00:00