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

90 commits

Author SHA1 Message Date
Jonah Graham
983005e3c4 Bug 566712: Fix NPE on last item in list delete
Change-Id: I9fe2f5b51be7389c8e09c4461a878f982d765695
2020-09-06 21:47:32 -04:00
Moritz 'Morty' Strübe
10e74dda52 Bug 566710 Copy CIncludeFileEntrys from Docker image
Also copy files included using "-include", by copying and adjusting
ICIncludeFileEntry, entries.


Change-Id: I886b87a39b3cd6a7b2ea59aeaef327ca9bc69e45
2020-09-06 19:50:34 +02:00
Jonah Graham
0cb1f7482a Bug 566511: [releng] Add missing UTF-8 encoding for all CDT projects
Includes updates to code cleanliness script

Change-Id: Ic495124285e3e002993f34dc12be5ad7337fe13b
2020-08-30 20:02:41 -04:00
Jeff Johnston
05c45c0bae Bug 565142 - Support using CDT in Eclipse flatpak
- modify ProcessFactory to prefix commands with flatpak-spawn
  when running under Eclipse flatpak
- add new FlatpakLaunch class to dsf.gdb to do a prelaunch
  of gdbserver and set up remote port settings when debugging
  local C/C++ application under Eclipse flatpak
- add new tab to gdb when running under Eclipse flatpak
  to allow user to specify gdbserver and port number
- add new org.eclipse.cdt.flatpak.launcher plug-in which
  contains a FlatpakCommandLauncherFactory to handle copying
  header files from host to workspace when developing under
  Eclipse flatpak
- add new FlatpakCommandLauncher class which simply extends
  CommandLauncher and can be used for debugging purposes to
  distinguish from regular command launcher
- also add new FlatpakHeaderPreferencePage to allow C/C++ users
  to delete copied headers if needed
- dynamically add the headers preference page from
FlatpakCommandLaunchFactory
  if running under Eclipse flatpak
- add new ICommandLaunchFactory3 to add an interface to check if
  headers have been modified/removed and scanner info refresh
  is required
- add new org.eclipse.cdt.flatpak.launcher-feature
- give higher priority to ContainerCommandLauncherFactory so if
  running on Eclipse flatpak, the flatpak factory won't be chosen
  if both apply (i.e. building in a container but running on
  Eclipse flatpak)

Change-Id: Id68e60c4dd37c4494af10440231ac7b7bbec8d17
2020-08-25 13:45:33 +03:00
Jonah Graham
0c5093d6ff Bug 566334: Turn on API Tooling & Analysis for all bundles
Change-Id: I3cb5645eba52b0cd0e9a71069264d9c589159107
2020-08-24 17:50:56 -04:00
Jonah Graham
fd9382d8a9 Bug 562494: Update BREE to Java 11
Change-Id: I0c91aafc0cb1b179936acbd4c9df2d961899e3fa
2020-08-24 17:50:56 -04:00
Moritz 'Morty' Strübe
240ca9085c Bug 538147 Fix mounting folders using windows
Removing unnecessary code fixes things, as paths are corectly handled
in the docker code.

Change-Id: If8b6b8877d5664c6692f58b0646cd0a93857a379
2020-08-20 13:13:29 +02:00
Torbjörn Svensson
39d3bfcc4f Fixed NLS warnings, potential NPE and removed excess semicolon
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
Change-Id: I266a72dadae318ae301ca11d2ea2d74082219a24
2020-07-08 05:06:02 -04:00
Alexander Fedorov
c1a5fc6093 Bug 564373 - CDT : update range for org.eclipse.linuxtools.docker
Use [5.0.0,6.0.0)

Change-Id: I96030272058f166145b448119a2a9122e9a9d02d
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
2020-06-17 10:00:16 -04:00
Jeff Johnston
c7581e5bf2 Bug 542701 - NPE at LaunchConfiguration.getLaunchManager
- add new logic to ContainerTypeProvider to use a JobGroup with
  maximum 1 thread so jobs from this class are never run
  at the same time
- change ContainerTypeProvider.getStatus() to wait until there are no
  scheduled, active, or cancelled jobs in the JobGroup
- change ContainerLaunchConfigurationDelegate.finalLaunchCheck() to
  create a fake launch target and call LaunchTargetManager.getStatus()
  which will eventually call the new ContainerTypeProvider.getStatus()
- fix NLS warnings in ContainerLaunchConfigurationDelegate

Change-Id: Icad11c5814dd8ee7fac99a41d74329ce65907a38
2020-05-25 10:33:20 -04:00
Alexander Kurtakov
f90f900e48 Move away of the deprecated AbstractUIPlugin.getWorkbench
Use PlatformUI.getWorkbench instead.

Change-Id: I8c0eb2c4b3b414e61f03fc9d9becd1d574f7e26d
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2020-02-04 14:43:53 +02:00
Jonah Graham
db974aa2a8 Bug 558827: Add and/or fix branding on all features
Change-Id: I6d8b1ae2416ed673d18e7e15500dcc7c8a87786d
2020-01-09 15:11:35 -05:00
Jonah Graham
7a2ff27b91 [releng] Update comparator repo to last release
Change-Id: I00901808f1eda041f070b2f3e1cda076987c69a5
2019-10-17 10:07:44 -04:00
Torbjörn Svensson
e6de0c9385 Bug 551817 - Add about.html to src.includes for plugins
Change-Id: Id6e1a3c4aa94bf242efd62a28f5ca9de7d64f699
Signed-off-by: Torbjörn Svensson <azoff@svenskalinuxforeningen.se>
2019-10-17 10:07:18 -04:00
Alexander Kurtakov
d0d6f57a50 Move away of deprecated imageDescriptorFromPlugin.
Change-Id: I855682065fe6b40deeedc6cd7b5cb419848caac0
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-10-11 08:57:51 +03:00
Alexander Kurtakov
4477ea013a Use generified databindings API.
Change-Id: I247759650ce37cc01f585b3675f848d8b209abbc
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-10-11 00:59:19 +03:00
Alexander Kurtakov
1e42e5f0e1 Convert new Runnable to lambda.
Change-Id: I8b827013a29802a3f3ae6400ddce8d8753eb6399
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-12 07:11:40 -04:00
Alexander Kurtakov
51da3eb3a6 Remove redundant superinterfaces.
Change-Id: I0de3509b02a8ef6853f0053c9ee6edd304a05a86
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-10 10:28:51 -04:00
Alexander Kurtakov
c673caf92e Remove unneeded suppress warnings.
Change-Id: I6b552fd94ced0cd8c0d489386d4b594ae7df8fdf
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2019-08-09 05:03:08 -04:00
Jeff Johnston
292829c817 Bug 547442 - Launchbar shouldn't set newly added Container target active
- change ContainerTargetTypeProvider.changeEvent() to use
  the new ILaunchTargetManager2 interface to use
  addLaunchTargetNoNotify to add image targets from a new or
  enabled Docker connection so as to prevent scanner info jobs

Change-Id: I2aef96c86c926790702a59853f0baf103c7115fc
2019-05-22 20:51:11 -04:00
Jeff Johnston
a62215e851 Bug 547145 - Core build use of ProjectDescription should be synchronized
- also change ContainerLaunchConfigurationDelegate

Change-Id: I5574d67ae030e728605c12f7bc05bcbb8e23e83d
2019-05-15 17:16:43 -04:00
Jeff Johnston
8b2c6229aa Bug 547104 - Adding new Docker Connection causes two build dirs
- copy ChangeEvent logic from ContainerGCCToolChainProvider to
  ContainerTargetTypeProvider when a new connection is added

Change-Id: Idbdaba7d10e4590722ff442447d195a3a2485907
2019-05-13 19:23:03 -04:00
Jeff Johnston
db891f98dd Bug 547026 - fix ConcurrentModificationException
- in ContainerGCCToolChainProvider change collection of
  toolchains to be an array before accessing to prevent
  ConcurrentModificationException

Change-Id: Ia39ddee181ba814997a34d5b1d68170fe1cda5ce
2019-05-06 20:12:34 -04:00
Jeff Johnston
98ab473c5f Bug 546518 - Container gcc toolchain should just depend on path
- change ContainerGCCToolChain.getCommandPath() to just return
  the command
- change default command to be gcc instead of /usr/bin/gcc

Change-Id: I62869d974e7fc9707ee02dc6f5e2ab4500ddd0bc
2019-04-23 16:20:27 -04:00
Hannes Vogt
3e674afd51 Bug 545192 - Convert directory path in docker for windows
Change-Id: I69c09d391e333495b57f09d7b7f5818a5428424f
Signed-off-by: Hannes Vogt <hannes@havogt.de>
2019-03-20 11:36:39 -04:00
Simeon Andreev
31b4c257b1 Bug 509263 - Fix warnings for missing enablement expression on start-up
This change adds empty enablement expressions where they are missing, in
order to prevent start-up warnings such as:

Enablement expression is missing for config provider for
org.eclipse.cdt.debug.core.coreBuildDescriptorType

Change-Id: Id7f2b6149230ddde24764772c5b67ff5eef28b65
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
2019-02-07 13:00:41 -05:00
Jonah Graham
37ed2c406d Bug 540373: Update the compiler warnings/ignores
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
2018-11-24 10:55:06 +00:00
Jonah Graham
ff75ae80fa Bug 540373: Cleanup: Remove trailing whitespace in properties files
Command used:
# Remove space at eol in comments
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^(#.*)[ \t]+$/\1/' {} +
# Remove space at eol in blank lines
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^[ \t]+$//' {} +
# Replace escaped spaces at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\ $/\1\\u0020/' {} +
# Replace unescaped spaces at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\]) $/\1\\u0020/' {} +
# Replace escaped tabs at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\\t$/\1\\u0009/' {} +
# Replace unescaped tabs at eol with unicode
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\t$/\1\\u0009/' {} +
# Stage all changes
git add -A .
# trim any remaining whitespace and then identify and fixup
# manually
# Only dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/MessagesForDebugVM.properties
# needed this due to missing newline at end of the file
find .  ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/[ \t]+$//' {} +

Change-Id: I858f16891fe001f4f7e62d5a4f904146e891cd39
2018-11-23 07:52:26 +00:00
Jonah Graham
aa1040a21a Bug 540373: Remove '(non-Javadoc)' comments
These were inserted in the past automatically by Eclipse but
newer tooling makes them redundant.

These were removed by doing a global find/replace on *.java files
using the following regular expression:
\t/\*\n\t \* \(non-Javadoc\)[^/]*/\n

Change-Id: I59d3248020f10934fde1dda5b5a31e20bb188e19
2018-11-22 22:00:29 +00:00
Jonah Graham
caf2292768 Bug 540373: Cleanup: Remove redundant type arguments
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
2018-11-22 21:55:36 +00:00
Jonah Graham
8844a8f9f2 Bug 540373: Cleanup: Remove unnecessary casts
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Remove unnecessary casts
and completing the wizard

Change-Id: I287d4066b12fc19d7f73a016e11c9405abb4ceb9
2018-11-22 21:53:35 +00:00
Jonah Graham
8985c7b63f Bug 540373: Cleanup: Add missing annotations
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Add missing Annotations - and selecting all three types:
 - @Override
 - @Override on interface methods
 - @Deprecated
and completing the wizard

Change-Id: I5d367dacb04327107f25e147edc08efc4eb1c2fe
2018-11-22 21:51:31 +00:00
Jonah Graham
170e654b47 Bug 540373: Cleanup: Format & Remove trailing whitespace
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
2018-11-22 21:47:02 +00:00
Jonah Graham
35996a5c5c Bug 540373: Standard .settings auto applied
The releng/scripts/apply_jdt_prefs_to_all_projects.sh was run to
copy standard settings to all other projects.

Change-Id: I4436c947d7f0142f56b709e661379c3eb54f666b
2018-11-22 21:47:02 +00:00
Jonah Graham
f70a8b35c1 Bug 540371: Update to EPLv2 using releng/scripts/change_to_eplv2.sh
Change-Id: Ifbb1d5af2a00bd5634dea200320e8c4303ffca6c
2018-11-22 20:31:51 +00:00
Jeff Johnston
331be6c45c Bug 540423 - C/C++ Container Launcher missing Port Binding
- add new ContainerPortDialog class to allow user to specify
  ports in the launch configuration Container tab
- add new ContainerTabModel and ExposedPortModel classes to
  support new functionality
- add new Ports group to ContainerTab and have a table
  where a user can add, edit, remove, and select ports
  for publishing to the host
- add new attribute ATTR_EXPOSED_PORTS to ILaunchConstants for
  saving and restoring user selected ports in C launch
  configuration
- add needed internal messages to support new port settings
  functionality
- bump up org.eclipse.cdt.docker.launcher version

Change-Id: I93b7503bdc141e3077418800352507ef38e65ab1
2018-11-08 17:57:23 -05:00
Karsten Thoms
652602febd Bug 540610 - Add Automatic-Module-Name header
Change-Id: Ia990b24469751050dd9ec8f9b5550804816308b3
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
2018-10-30 15:49:15 +01:00
Jeff Johnston
cc20f1a9bb Bug 540410 - ContainerTargetTypeProvider causes ClassNotFoundException
- bump up minimum org.eclipse.cdt.core needed for
  org.eclipse.cdt.docker.launcher plug-in so that
  ICBuildConfigurationManager2 interface is available

Change-Id: I5e77e7b43bdea1f0b59c79fcdfced7c162b64e9a
2018-10-23 17:21:56 -04:00
William Riley
f3ca365140 Bug 540367 - Increment version numbers
Change-Id: I4a355170a7075f0a98ba3c1a5131c235c89b07d2
2018-10-23 11:20:31 -04:00
Jeff Johnston
c9eee479b4 Bug 540085 - Deadlock in ToolChainManager init
- modify ContainerGCCToolChainProvider.init so that the
  CBuildConfigurationManager.recheckConfigs() call is done
  within a separate job so the init() call will return
  without causing deadlock
- do the same for ContainerTargetTypeProvider
- modify CBuildConfigurationManager initProviders() method to
  be synchronized

Change-Id: I4ca9371fb340887233872b6d315621a24450fb2b
2018-10-12 13:14:52 -04:00
Jeff Johnston
74eb81b0bb Bug 538958 - Meson project built in Container not indexing properly
- add synchronized keyword to the various scanner info collecting
  methods in ContainerGCCToolChain

Change-Id: I476e0c191379621d5ca8ef266c8590a0954ab4a5
(cherry picked from commit 55569e158c)
2018-09-12 15:10:18 -05:00
Jeff Johnston
1a8f399b8b Bug 536884 - Removing header cache should cause ScannerInfo refresh
- add a new IToolChain property "cdt.needScannerRefresh" that is
  set if scanner info needs to be refreshed
- for a Container build, turn the property on in ContainerGCCToolChain
  startBuildProcess() if the Container headers for the toolchain's
  have been deleted
- in CBuildConfiguration processLine(), look for the toolchain
  property when looking to see if scannerinfo should be calculated
- in CBuildConfiguration, turn the toolchain property off in
  shutdown()

Change-Id: I67a3537d1e2967dc15b66a1c37abda1ae8f78bff
2018-07-12 13:53:05 -04:00
Jeff Johnston
a394557c60 Bug 533363 - Indexer spending a lot of time in CommandLauncherManager
- it seems that fetching the active configuration for a project
  using an ICConfigurationDescription is time-consuming
- the active configuration is sought in ContainerCommandLauncherFactory
  to get the optional build properties and thus we can figure out
  if the active configuration has enabled container build or not
- see if we are given a CConfigurationDescriptionCache and it
  contains a BuildConfigurationData element which allows us to
  get an IConfiguration without creating a new one, serializing
  it etc.. which is adding to the time taken

Change-Id: I8973f1707a602a73fc5ac751f12a1e8dbd549aab
2018-07-11 14:58:32 -04:00
Jeff Johnston
a5ed8ea2a4 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
2018-07-04 17:03:29 -04:00
Jeff Johnston
2bcd06f097 Bug 536317 - Deadlock at start with launchbar and docker tooling enabled
- fix ContainerTargetTypeProvider changeEvent() to start a Job and
  return immediately so it will not cause a DockerConnection
  to be held in multi-threading
- move the DockerConnectionManager addConnectionListener call
  to end of init() method so the fetching of images won't cause
  a notification event to occur
- at end of init(), call CBuildConfigurationManager.recheckConfigs()
  to make sure any disabled configuration due to a missing
  IDockerConnection is now put in the configs master list and
  removed from the noconfigs list
- make similar changes to ContainerGCCToolChainProvider

Change-Id: Idc120d613b99ec365522f5e7bf5da82d1b362425
2018-07-03 15:22:58 -04:00
Jeff Johnston
cf25db1d34 Bug 535473 - Run/Debug buttons for Container target don't run/debug
- Launch bar is usually expecting a LaunchConfigurationTargeted
  Delegate which calculates the binary but Container build
  uses the ContainerLaunchConfigurationDelegate which expects
  the program name, working dir, connection, and image id
  set up as ILaunchConfiguration attributes
- modify ContainerLaunchConfigurationDelegate to add
  finalLaunchCheck method which can verify if the launch
  config attributes are set up and if not, set them from
  the build config (since this is post-build)
- fix getImageName() in CoreBuildContainerLaunchConfigProvider
  to use toolchain attributes

Change-Id: Iad6cc26928c33e964650b99844e065df8653858f
2018-06-02 10:34:52 -04:00
Jeff Johnston
4c50b40f53 Bug 535014 - cannot debug in a container
- add check for network ports coming back empty for a Container
  launch and if so, fall-back to use the ip address of the Container
  for the remote host

Change-Id: I83d68a10e2dc92f7d0f27bb9dec304388594b4a3
2018-05-23 19:15:17 -04:00
Jeff Johnston
9cf1f0625e Bug 533842 - Fix Launchbar for enabled/disabled Docker Connections
- fix problem with launch targets not being set correctly
- for ContainerTargetTypeProvider, make init() and changeEvent()
  synchronized
- move the test for ESTABLISHED connection after getImages()
  in ContainerTargetTypeProvider.init() method so that we don't
  see the connection as being UNKNOWN
- move addConnectionManagerListener() call in init() to be
  just after we fetch the list of current connections
- in ContainerGCCToolChainProvider, make init() and changeEvent()
  synchronized and move addConnectionManagerListener call to
  just after connections list are acquired


Change-Id: I24880a77755d634e8bce85db4f3354cf5ad7671d
2018-05-07 17:53:35 -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
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