* Fix meson build under Docker Tooling
- add new IToolChainConstants containing SECCOMP_UNCONFINED property constant
- add new setLauncher() method to CBuildConfiguration so that
watchProcess() can be used for container building
- enhance ContainerCommandLauncher to discover specification of
SECCOMP_UNDEFINED boolean option for execute() so "seccomp=undefined" can be specified
- fix ContainerCommandLauncherFactory.verifyIncludePaths() to only
look at filtered includes that have been made absolute and to
recognize matches when the prefix shows up in the loaded list
- add setting a property to ContainerGCCToolChain to set SECCOMP_UNCONFINED to true
by default for the time-being
- when generating scannerinfo, specify "seccomp=unconfined"
- in ContainerGCCToolChain.startBuildProcess() remove extraneous
banner statement and ensure that the build directory is created
- fixes#479
Removed ICBuildConfiguration.getBinaryParserId() and
IToolChain.getBinaryParserId(). Replaced with methods that return a list
of IDs.
Updated API changes doc.
Rearranged tests so that the test for IToolChain is in a new gcc test
plugin.
* Bug 566810: Pull Docker image if necessary
Change-Id: I948e3a273ae598efe563b150922a7bc4b696d05c
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
* docker.launcher: Add tests
* Docker: Fix NPE
This NPE was triggered when the docker image was deleted in the
background.
Change-Id: I7fe8f9204a2f60a5d2396bbc2ec67c7ae820a60a
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
* Bug 566810 Allow setting any Docker image
Allow setting any docker image as string in the input field. There is no
verification yet. If the docker image exists, it is set accordingly.
Change-Id: Iec21798cf79206151067d1e2f3a7ec933f1d0b7d
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
* Bug 566810 Remove volumes immediately
As it is now possible to insert any string, the volumes added by the
image, should be removed immediately, too.
Change-Id: I6c843a2b1e551372e0dff22185d6152faecd72f3
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
Warning in build.properties will be errors when they run
in the tycho build, like this:
```
Error: Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.7.5:package-plugin
(default-package-plugin) on project org.eclipse.cdt.core.tests:
/home/runner/work/cdt/cdt/core/org.eclipse.cdt.core.tests/build.properties:
bin.includes value(s) [test.xml] do not match any files. -> [Help 1]
```
So make them errors in the workspace so that the issue is
detected before push.
Some build.properties issues don't affect the build, but
are still indicative of a problem.
* Docker: Allow setting a mapping for docker paths
Bug 579944 introduced using Windows paths, to allow putting your project
into the WSL's file system.
While Docker for Windows (the commercial version) supports Windows
paths, this does not work with a OSS-docker installed in the WSL.
It is now possible to provide a path mapping to work around this.
Co-authored-by: Jeff Johnston <jjohnstn@redhat.com>
This patch refactors multiple aspects of the code related to copying
include paths from docker images:
* document code
* extract common code to methods
* reduce indentation by returning early
* support using \\WSL$\... paths
Change-Id: I983d1e9bdfa84aa48928f5ba88df191d56ac0f17
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
Support the user to find out how to manage the docker connections. This
is not always obvious.
Change-Id: I0f8e49cc3618a5a99e19c8bcec9aa86fd23fae93
Signed-off-by: Moritz 'Morty' Strübe <moritz.struebe@mathema.de>
On Windows, the TabFolder and TabItem classes does not follow the
themeing in Eclipse. As a result, the tab selectors will be drawn with
the light theme while the rest of the Eclipse UI is in dark theme.
Contributed by STMicroelectronics
Change-Id: I9169c9e01f8c9a3af7b6bb6d1c673a043735e7e9
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
The CDT Cleanup profile had a bunch of extra cleanups applied to it, this
prevents running the CDT cleanup profile manually to simulate running the
save actions on all Java files
Change-Id: Iad491e1258a4ba90d81d1457ea0f6779e3663e38
All the about.html files are updated, so every bundle that hasn't
already had a bump in 10.7 needs one now
Change-Id: I6143d2fbe77a58a3a6d2f4a226d96087117f9ac1
Added missed license headers
Updated baseline for the parent pom to CDT 10.2
Updated version for pom.xml to 10.3
Updated version for features and bundles to CDT 10.3
Updated copyright for about.properties to be 2021
Incremented version + 100 where needed
Change-Id: I79666fcc0402fee6607499d7dce1eaf87a5f446d
Signed-off-by: Alexander Fedorov <alexander.fedorov@arsysop.ru>
Change-Id: I7f682ad313ce275f45e0b4adb4c1280d952cf3ac
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Also-by: Jonah Graham <jonah@kichwacoders.com>
- 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
- 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
- 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
- copy ChangeEvent logic from ContainerGCCToolChainProvider to
ContainerTargetTypeProvider when a new connection is added
Change-Id: Idbdaba7d10e4590722ff442447d195a3a2485907
- in ContainerGCCToolChainProvider change collection of
toolchains to be an array before accessing to prevent
ConcurrentModificationException
Change-Id: Ia39ddee181ba814997a34d5b1d68170fe1cda5ce
- change ContainerGCCToolChain.getCommandPath() to just return
the command
- change default command to be gcc instead of /usr/bin/gcc
Change-Id: I62869d974e7fc9707ee02dc6f5e2ab4500ddd0bc
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>
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