- sometimes specs detection will be for a non-active
build configuration so the project cannot be used to
determine eligibility for the command launcher
- change ICommandLauncherFactory to accept an object in its
getCommandLauncher method which can either be an IProject or
ICConfigurationDesription
- change ContainerCommandLauncherFactory to accept an Object
instead of IProject in its getCommandLauncher() method
- cast the Object received either to be an IProject or
ICConfigurationDescription to determine if the build should
occur in a Container or not
- fix CommandLauncherManager.getCommandLauncher() to accept
and pass on an Object to the list of ICommandLauncherFactory
instances
- fix AbstractBuiltinSpecsDetector to pass in the current
configuration description when getting the CommandLauncher
since the current configuration may not be the active
configuration
- fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for
working dir
- fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if
the current configuration is enabled for container build
- add logic to ContainerCommandLauncher to look for Windows
file formats and change them to unix format and map
any "." working dir to be /tmp
- fix ContainerLauncherConfigurationDelegate similarly
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
and selected volumes
- add new properties to ContainerCommandLauncher to represent
volumes and selected volumes for a configuration
- add new ContainerDataVolumeDialog for specifying a volume
mount by the end-user
- add code to ContainerPropertyTab to support specification of
volumes to mount when building
- add a null detector for cfgDescription in
LanguageSettingsSerializableProvider
Change-Id: I54db9afe608475514f60e9dd9e6c6b8bec1d3137
- fix ContainerPropertyTab changeEvent() method to match new
format for IDockerManagerListener
- ditto for ContainerTab
- add "seccomp:unconfined" option when launching the gdbserver
for debugging to avoid issue with using ptrace in Container
Change-Id: I2b07b64ba3f9e26b27e5100e357556d99c5272dc
- fix ContainerPropertyTab.performApply to be ready for a null
enablement property which occurs when Apply is hit on another
tab page
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
to use the CommandLauncherManager so entries will be transformed
to use cached headers
Change-Id: Ib2bb283d768905716e7fb37fd598aeace7832b2d
- change ContainerPropertyTab to have a performApply and
performOK method so that gcc specs detection is performed
in either case
- in performOK, only clear the current specs since the
change of the project description will cause the regeneration
to occur
- in performApply, clear specs and send a null event to handle
- calculate whether specs calculation is actually needed based on
changes to the original configuration
- in ContainerCommandLauncherFactory move cached headers under
a HEADERS directory in the plug-in area
- create a sub-directory for the connection and a sub-directory
for the image based on cleansed names
- store the real names of the connection and image to use
later in the DockerHeaderPreferencePage
- modify LanguageSettingsEntriesTab to force the horizontal
scroll bar to appear (this is a bug in SWT SashForm support
and the fix here isn't quite correct, but is better)
- add new DockerHeaderPreferencePage that allows user to
remove cached headers from images
- change C/C++ Docker preferences to be titled: Docker Container
Change-Id: Ic577f0fdbb89f68aa88146e6c0f5aa95d75694bd
- in LanguageSettingsSerializableSettings class, call the
CommandLauncherFactoryManager getLanguageSettingEntries method
to get the massaged language setting entries based on the
current list
- in LanguageSettingsProviderSerializer, try and get the
pooled entries using the cfg description so that it will
have the project and can use the CommandLauncherFactoryManager
to get entries from image
- add getLanguageSettingEntries method to CommandLauncherFactoryManager
to convert include paths to locally cached paths copied from
image
- add verifyLanguageSettingEntries method to ICommandLauncherFactory
- fix copy header logic in ContainerCommandLauncherFactory
- add verifyLanguageSettingEntries method to
ContainerCommandLauncherFactory that looks to see if the
project is currently enabled for container build and any
include path entries are ones that have been copied over as
part of a CopyVolumesFromImage job in which case they are
replaced in the entries list
- fix the ContainerPropertyTab performOK method to always
refresh the builtin specs for the time-being so switching
can be done between container and regular build
Change-Id: I004e916253cbaae9c6dfed1ef4f5844678fe0dd9
- change CommandBuilder to accept a project as an argument
to its constructor and to pass this as an argument to
the CommandLauncherFactoryManager
- have StepBuilder pass project when creating a CommandBuilder
Change-Id: I54073b791fb48a7fd62ce98a93dcfbdcd6d76d2b
- add logic in ContainerPropertyTab to kick off gcc specs discovery
when the OK button is pressed
- also fix bug in ContainerPropertyTab whereby the image name
was being reset to blank when a change occurred in connection combo
- add setLanguageSettngEntries method to CommandLauncherFactoryManager
- add registerLanguangeSettingEntries method to ICommandLauncherFactory
and ContainerCommandLauncherFactory
Change-Id: I22f60a5ff42f9312cba42ca4d3b6f78225783378
- in Connection combo modify listener, just return if the
Connection combo doesn't have a selection and set
connection to null and connection name to empty string
Change-Id: Ib6274eb27b9a3128a538da4df520b7b83ce1e575
- fix erroneous check in Configuration to use the optionalProps
variable instead of props
- in ContainerCommandLauncher add the project directory as an
additional directory so all sources and make macros are
available to the Container
Change-Id: I13099d246456aa350bebbbae32cc152b3b4598bc
- add IOptionalBuildObjectPropertiesContainer interface to use for
objects that supply optional build properties
- add new IOptionalBuildProperties interface that defines
optional build properties donated by external plug-ins
- add new
- change IConfiguration to an IOptionalBuildObjectPropertiesContainer
- change IManagedProject to be an
IOptionalBuildObjectPropertiesContainer
- fix ProcessClosure to ensure that readers are not null before
accessing them
- fix Container launch delegate to look at project optional
build properties for active configuration to fetch connection
and image info and use said info to find a matching
launch or create a new one
- have Container launch delegate use the image name as part of
the launch config name
- have Container launch short-cut also use the project's
optional build properties for the active config to get
connection and image information before any defaulting
- change AutotoolsNewMarkerGenerator to store the command
launcher as an ICommandLauncher
- add new CommandLauncherFactory extension to cdt.core that
allows plug-ins to specify a CommandLauncherFactory that
will return an ICommandLauncher based on the project
- add macros for new extension to CCorePlugin
- add new CommandLauncherFactoryManager class that loads
CommandLauncherFactory extensions and is used to give
an ICommandLauncher wrapper that will go through the list
of CommandLauncherFactory extensions until one returns
non-null ICommandLauncher
- add code to RemoteCommandLauncher so it will use the
CommandLauncherFactoryManager to get the local launcher
- also change RemoteCommandLauncher to check at execution
time whether the command is local and in that case use
the local command launcher
- add new ICommandLauncherFactory interface
- add new ContainerCommandLauncher to launch
- add new ContainerCommandLauncherFactory class for returning
a ContainerCommandLauncher instance to launch commands
in a Docker Container
- change MakeBuilder to use CommandLauncherFactoryManager to get
its ICommandLauncher
- change CommandBuilder to use CommandLauncherFactoryManager too
- ditto for Builder and AbstractBuiltinSpecsDetector and
ExternalToolInvoker
- change Configuration to load/store optional build properties
as well as return the properties to get/set
- ditto for MultiConfiguration
- change ManagedProject to implement IOptionalBuildOptionProperties
interface
- ditto for ProjectType
- create new OptionalBuildProperties class to store optional
build properties for a configuration
- bump cdt.managedbuilder.core to 8.5.0
- bump cdt.docker.launcher to 1.1.0
- use CommandLauncherFactory extension to define
ContainerCommandLauncherFactory
- add optional ContainerPropertyTab which allows the end-user to
optionally choose to build a C/C++ project in a Container
and specify the connection/image to use
Change-Id: Id4d202d5eeb0dd52e528a45bf44d3e386f67376d
- Change parser to include virtual specifier in function declarator
location
- Change DeclaratorWriter to write all virtual specifiers in their
initial order
Change-Id: Iff381394b834146c1b63877bc9eb84517d31e078
Note, can't simply check isDisposed as that still leaves a race
condition between isDisposed call and asyncExec call
Change-Id: I3e0e196d9d1dd9b9c8d4048a1aec55405d6dd6e0
This allows querying alias template instances for their arguments (for
e.g. instantiating dependent arguments later).
Change-Id: I7cc3dfcef75fe0faf104dc7bfe11e2acd90a4748
We previously modelled alias template specializations as alias template
instances, which was conceptually incorrect and problematic for a number
of reasons.
Change-Id: Ibca8b87bb3d54cd3ae312254a02e8522e446331d
Besides the UX advantages of typedef preservation (such as refactorings
preserving typedefs), it's important for correctness because the
arguments of template aliases can be subject to SFINAE even if they
don't participate in the target type.
Change-Id: I4e71372553dc418d1b8c3e27bd2c0387a41a3269
When checking whether gathering the build output from a
CBuildConfiguration, if a binary is a shared library and is an
ELF file, dig deeper and see if it has an INTERP section in the
program header. That tells us it's actually a PIE executable and
add it to the list.
As a rider to this bill, improve the error message when a Qt install
can't be found for a given toolchain/target.
Change-Id: I8fd0bf2d204e9425b02916d7b17f4309a5ad9dd5
(cherry picked from commit 14b07f490c)
If we are merging two env vars and the operations are both
append or prepend, keep that as the operation instead of
replace.
Change-Id: I758a54b8903eabafac38bf2f3f7d7065c0373e70
Changed isApplicable to not retrieve the TU from the editor if it is not
open. Applying the quick fix will still open the editor.
Change-Id: Ib328ffa2054145eda8b2e72fe646fca2e7fc7905
Signed-off-by: Thomas Corbat <tcorbat@hsr.ch>
Needed as otherwise tycho picks up the java executable from the path and
execs with it.
Change-Id: I44b838454e7faaa0e3bbcdfcd1e66d65ca8b5ac2
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
This is needed so the lucene indexes generated are used in Oxygen. The
current lucene 3 indexes shipped are just ignored by the platform as
lucene 6 can't load them and the data is reindexed.
Change-Id: Ic171dee653c05230f0454f4e736160f02c7eefc0
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
Add Arduino Serial Monitor as a Terminal Connector type. It uses the
Terminal's new cdtserial connector for communication and adds a
config panel that lets you pick the Arduino remote connection to
auto select the serial port. Also switched the Arduino launch
to fetch the serial port out of the global registry to pause and
resume the port while launching. The Terminal does not use the
remote connection to get the serial port.
Note: also adding the terminal as a dependency for builds. Yes,
further adds to our build cycle, but we're dealing with it so far
with o.e.remote.
Change-Id: I5a7cc9ffbf8ae60cd86e0e5440547d12202acbac
If the solib-search-path path contains a space, CDT adds doubles quote
to escape the space (in MIStandardParameterAdjustable class) . But Gdb
client doesn’t understand the double quotes path.
This patch do not add double quotes when the path contains spaces.
Change-Id: I080be17023647dfac2b00296cdd54c7f9499102a
Signed-off-by: Vincent Guignot <vincent.guignot@ingenico.com>