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

94 commits

Author SHA1 Message Date
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
Jonah Graham
48d2271a58 Bug 540373: Normalize newlines with .gitattributes
There is also a new script to verify completeness of .gitattributes:
releng/scripts/verify_gitattributes.sh

Change-Id: I2ce270852ab54b66b6c474a6ec94203fe5bba78b
2018-11-20 21:20:39 +00:00
Doug Schaefer
76e1842644 Implement ordering of toolchains.
Introduce toolchain types independent of providers.

Change-Id: I2cf3145920fcf4e7132468b6e653d7ea3e211127
2017-11-07 11:01:15 -05:00
Jeff Johnston
c96d126b86 Bug 513589 - Add support to build CDT projects in a Docker Container
- 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 CommandLauncherManager 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
  CommandLauncherManager 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 CommandLauncherManager to get
  its ICommandLauncher
- change CommandBuilder to use CommandLauncherManager 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.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
- in LanguageSettingsSerializableSettings class, call the
  CommandLauncherManager 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 CommandLauncherManager
  to get entries from image
- 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
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
  to use the CommandLauncherManager so entries will be transformed
  to use cached headers
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
  and selected volumes
- add properties to ContainerCommandLauncher to represent
  volumes and selected volumes for a configuration
- add ContainerDataVolumeDialog for specifying a volume
  mount by the end-user
- add a null detector for cfgDescription in
  LanguageSettingsSerializableProvider
- 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
- fix AbstractBuiltinSpecsDetector to pass in the current
  configuration description when getting the CommandLauncher
  since the current configuration may not be the active
  configuration
- change ContainerPropertyTab to add Elf and GNU Elf binary parsers
  when build in Container is chosen so that output executables
  are treated as Binaries by the CDT project
- add documentationl for the ContainerPropertyTab in Build Settings and
  the Data Volume dialog pop-up it brings up
- change CommandBuilder to accept a project as an argument
  to its constructor and to pass this as an argument to
  the CommandLauncherManager
- have StepBuilder pass project when creating a CommandBuilder

Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943
2017-10-22 05:38:51 -04:00
Doug Schaefer
7139dc2f1e Modernize Arduino plug-ins. Adjust APIs to suite.
Change-Id: Ic877c8f0992874e647d4b464502165d7bd3ebe0e
2016-04-28 11:14:07 -04:00
Doug Schaefer
6e1b9b408d Tighter integration of new build system with cdt.core.
Move the new build system to cdt.core and remove the previous
plugins. Hook the new system into scanner info and environment
variable manager.

Clean up API in preparation for Neon and API lockdown. Hook up
Qt to the new APIs.

Add discovery of MSYS2's toolchain and Qt and Qt's MinGW toolchain.

Change-Id: I85b1a91da4a44e86f0e9da9310f8106c894623e0
2016-04-14 16:19:37 -04:00
Doug Schaefer
e3496e1246 Bug 481978 - Big overhaul of new build system to work with Qt.
Moved new build system to it's own plug-ins. Cleaned up the root
build configuration and toolchain classes and use them for Qt local
run builds. Also hooks Qt local run launch delegate to launch target
manager and associated delegate interface.

Change-Id: I0c0f711ee53005edd399f6d24ba96658d606e1e5
2015-11-24 22:11:33 -05:00
Doug Schaefer
64bf3c4f69 Starting to put Qt onto the new build system and launch.
Change-Id: I3e65f5d69bfb35d16b2d1135f99517c7a2b2c437
2015-09-28 13:24:41 -04:00
Doug Schaefer
64c5782589 Bug 321443 - First implementation of new build model.
Includes adaptation of the Arduino build model where many of these
ideas started to the new model. And start of the Qt build system which
uses it.

Change-Id: Icb212185773ebc4d415e8a9862101744703ff80b
2015-08-31 14:14:21 -04:00
Alena Laskavaia
0377f941d2 fixed schema validation error on Mars
- these extension produce error that enablement reference is not defined

Change-Id: I1955ea467c1c7e24d0fd02b8e75bd5dc66edc060
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2015-03-15 13:26:57 -04:00
Doug Schaefer
c8ba1b6c3a Get rid of the extra schema includes to expressions.
This causes build errors when using Mars.

Change-Id: I5b7aaa261e252b7aa7a2afe5a86398c4f24af0aa
Reviewed-on: https://git.eclipse.org/r/38174
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2014-12-14 17:42:12 -05:00
Teodor Madan
660fa3fdfe Include expressionLanguage.exsd - fix occasional PDE errors
"referenced element 'enablement' is not defined"


  
Change-Id: I40a84a249e0e2488e4600a67a9eab935298048e4
Reviewed-on: https://git.eclipse.org/r/33499
Tested-by: Hudson CI
Reviewed-by: Teodor Madan <teodor.madan@freescale.com>
Tested-by: Teodor Madan <teodor.madan@freescale.com>
2014-09-22 02:26:34 -04:00
Daniel Pesch
eb5c0c8a55 Bug 425538 - Syntax errors in QML reported as "C/C++ Problems" because errors from Qt Linguist
The problem is solved by allowing to ignore duplicated markers in case
there is already loaded a plugin that could handle QML files

The ProblemMarkerFilter extension point allows to filter out unneeded
problem markers. For example during building of Qt base project with QML
files tool Qt Linguist could report syntax errors in some qml file.
These errors are presented as "C/C++ Problems" in qml files because they
match format CDT expects for errors. If there is already installed plug-in
that handles QML files it is a wise to ignore such errors because they
are already reported as "QML Problems" with more meaningful descriptions.

Change-Id: I3a0a1b58e9690bed9c2774e4328760c695d54a54
Signed-off-by: Daniel Pesch <dpesch@blackberry.com>
Reviewed-on: https://git.eclipse.org/r/20581
Tested-by: Hudson CI
Reviewed-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2014-01-16 10:46:50 -05:00
Andrew Eidsness
5e130ab883 Bug 422804: Allow contributors to add data to the PDOM
The CDT persists an index of source code relationships by processing the
AST produced by the parser.  There is an existing extension-point that
allows contributors to create new linkages in this persisted file.
However there is no mechanism allowing contributors to influence the
data that is stored to the file.

This introduces a new extension-point allowing contributors to
participate in processing the AST that is being persisted to the index.
The intent is for this to be used to store data into the contributor's
new Linkage.

There is no change in functionality for existing linkages.  A
contributor will soon be added in the Qt plugin.

Change-Id: I845c90cbf7c713e23319e2ed1168eb7d74db5868
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/19089
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-29 00:27:15 -05:00
Jesse Weinstein
484c089036 [bug 417138] Various schema cleanups; English grammar fixes; adding translatable, identifier-type, etc.
Change-Id: I1c10b4171bba0f8d64f41970eae1b2971bc53476
Signed-off-by: Jesse Weinstein <Jesse.Weinstein@clinicomp.com>
Reviewed-on: https://git.eclipse.org/r/16395
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2013-09-12 22:54:21 -04:00
Andrew Gvozdev
da95189bb4 bug 416628: "Export" of entries of language settings providers to referencing projects - added capability 2013-09-08 08:09:10 -04:00
Andrew Gvozdev
ff5cecb5f8 Clarified JavaDoc for LanguageSettingsSerializableProvider. 2013-06-18 10:48:00 -04:00
Andrew Eidsness
2279927623 Bug 400020: Allow tagging of IBindings
This new extension point allows contributors to put their own
information into the PDOM and to later retrieve it for their own
purposes.

There are many details in the bug.  The idea is that contributors
provide an implementation of IBindingTagger, which is given a chance to
examine IBindings when they are created.  The ITagWriter interface
allows the contributor to create a new tag which can then have data
written to it.

The ITagService interface (accessible from CCorePlugin.getTagService()
provides a way for the contributor to later get an instance of
ITagReader to retrieve tags from bindings.

ITags are copied to the PDOM when the associated binding is persisteed.

Contributors use a unique id (based on their plugin id), so that
multiple contributors are able to independently tag a given binding.

In-memory tags are not cached.  I've done some timing tests using my
sample implementation and found no measurable difference.  The full log
lines look like:

	!MESSAGE Indexed 'simple-01' (2 sources, 184 headers) in <see below>
sec: 21,550 declarations; 35,394 references; 0 unresolved inclusions; 1
syntax errors; 0 unresolved names (0.00%)

I did 5 tests using the current master (no tagging-related code), the
times were:
	18.86 sec
	 9.17 sec
	 5.91 sec
	 4.79 sec
	 4.83 sec

And then I ran the same sequence of tests using the code in this
commit:
	18.73 sec
	 9.39 sec
	 6.50 sec
	 4.78 sec
	 5.27 sec

If performance does become a problem, then caching could be introduced
with a new implementation of ITaggableService.  The two problems are
finding a key other than the identity of the IBinding (since IBindings
are re-created often) and properly evicting stale entries when the
binding is no longer valid.

The process of copying tags from an in-memory IBinding to a PDOMBinding,
is a synchronization.  This means that tags that are no longer
applicable, will be removed from the persistent store.

While developing this I found that PDOMBindings are not deleted from the
Database (only the names that reference them are deleted), so there is
no provision for deleting all tags at once.

New database locks are not needed.  By the time the persistent tags are
accessed, higher levels of code have already taken a read or write lock
as appropriate.

There are new unit tests covering the changes to the PDOM.

Change-Id: I8da1bf5eeba7e1fc2ca7ec308ed8e212629986a4
Reviewed-on: https://git.eclipse.org/r/10407
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
2013-02-20 11:27:03 -05:00
Eugene Ostroukhov
fda18aa3a1 Bug 387935 - Codan does not see symbols from pre-built indexes
This change fixes:
	1. Codan no longer shows errors on symbols from pre-built indexes
	2. Mark occurances in the editor no properly recognizes occurances 
	   of the same symbol.

Change-Id: I1f3b347524a89f7a4c11b128f15f8fdcffe2afdf
Reviewed-on: https://git.eclipse.org/r/7388
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2012-08-24 14:57:15 -04:00
Andrew Gvozdev
2b5e3e6a20 bug 328007: [sd90] Design user interface for new scanner discovery 2012-05-01 23:05:37 -04:00
Alex Ruiz
ba5775f033 Bug 372551. Fixed semantics of ErrorParserManager (e.g.
getErrorParserAvailableIds()) get by removing knowledge of
contexts from internal data structures (introduced in previous change
set).

Change-Id: Ia1ff68841f3b494a209e8cdf45325d640fd74ddf
Reviewed-on: https://git.eclipse.org/r/5656
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2012-04-25 16:44:50 -04:00
Alex Ruiz
1f83e4aa21 Bug 372551. Codan support for writing checkers that invoke external
tools.

Change-Id: Ia5cfd24d54ec6e67e08f24a367a6bc689ae407d0
Reviewed-on: https://git.eclipse.org/r/5586
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2012-04-18 15:52:48 -04:00
Doug Schaefer
6fcb52fe97 Add real categories for templates. Organize selection in tree. 2012-01-27 13:41:24 -05:00
Markus Schorn
fa55d3662d Bug 368160: Dependent projects and SDKs. 2012-01-27 11:00:22 +01:00
Andrew Gvozdev
b4230c0fff bug 290631: Added New Scanner Discovery core functionality from branch
sd90 (Not connected to the rest of the code yet)
2012-01-26 15:30:43 -05:00
Sergey Prigogin
9972595fc7 Initial support for non-PDOM index fragments contributed through an
extension.
2011-10-17 18:08:11 -07:00
Markus Schorn
bc53d099c3 Bug 343437: Support for UNC include directories, by Greg Watson. 2011-04-28 14:10:29 +00:00
Chris Recoskie
ff9885b6e4 Bug 133881 - Make refreshing after building optional
Work in progress.
2011-04-21 19:15:20 +00:00
Chris Recoskie
7038788c04 further changes for Bug 291815 - Add an extension point to allow utilities for virtual EFS filesystems 2010-05-25 17:58:41 +00:00
Chris Recoskie
947eedd5bc - Merged changes from cdt_5_0 to HEAD. Too many to mention individually.
- Reworked IFileSystem utility so that now it is noimplement/noextend.  Clients should now extend from concrete class FileSystemUtility instead to better insulate them from future API changes.
- Reworked the resulting concurrency fixes - indexing and scanner discovery now synchronize on the project root as a scheduling rule.  Original HEAD behaviour was to synch on the project's .settings folder for indexing, but that deadlocked with scanner discovery.
- Fixed remote indexing.  Changes on HEAD that deprecated CodeReader broke the ability for remote translation units to provide the path to load the file content from.  Added API to ITranslationUnit for this purpose.
2010-05-11 22:50:20 +00:00
Doug Schaefer
673ce7a0a9 New ScannerInfoProvider extension point allowing providers to be associated with build commands in the project description. 2009-12-08 18:51:56 +00:00
Andrew Gvozdev
cb676ddd09 bug 293572: No schema found for org.eclipse.cdt.core.ScannerInfoProvider/BinaryParser extension points 2009-10-29 16:44:43 +00:00
Andrew Gvozdev
dbbdbd8f95 bug 109139: Generic Error parser
(RegexErrorParser)
2009-09-11 02:09:38 +00:00
James Blackburn
16ad8a3172 Bug 189109 Add ErrorParser extension point schema 2009-06-28 14:03:45 +00:00
Chris Recoskie
6b87d8c5bc RESOLVED - bug 252966: ProjectDescription Storage: It should be possible to extend / override persistence mechanism
https://bugs.eclipse.org/bugs/show_bug.cgi?id=252966
2009-02-03 19:17:38 +00:00
Chris Recoskie
38fb615b8d RESOLVED - bug 252966: ProjectDescription Storage: It should be possible to extend / override persistence mechanism
https://bugs.eclipse.org/bugs/show_bug.cgi?id=252966
2009-01-21 15:51:07 +00:00
Andrew Ferguson
d96259e1bc 201087: apply contributions from James Blackburn 2008-02-22 17:34:43 +00:00
Andrew Ferguson
65ff00c607 Fix documentation, schema fix is contributed by Tim Kelly (Nokia) 2008-02-21 17:19:45 +00:00
Anton Leherbauer
ef7458bcf9 Cleanup obsolete extension points 2008-01-08 11:27:57 +00:00
Andrew Ferguson
9644f4a11e 203553: Merge contributions from Beth Tibbitts 2007-09-18 09:02:04 +00:00
Andrew Ferguson
30f802ec61 201087: add additional description for the templateAssociations extension point 2007-09-17 16:02:16 +00:00
Andrew Ferguson
90b276e9c0 203553: Apply patch plus additional docs improvements on behalf on Beth Tibbitts. Remove unused usageDescription attribute. 2007-09-17 14:17:15 +00:00
Andrew Ferguson
dcb1c0b585 bring list of extension points up to date, change externalized string to string literal for language.exsd as externalized strings don't seem to be supported here 2007-06-21 09:54:00 +00:00
Mikhail Sennikovsky
2f72db3571 1. Schema fixes
2. test tool-chain definition fixes
2007-06-08 10:42:23 +00:00
Chris Recoskie
9c5aa180e8 RESOLVED - bug 186834: [C99 parser] gcc should be the default language
https://bugs.eclipse.org/bugs/show_bug.cgi?id=186834

Patch from Jason Montojo
2007-05-17 16:29:56 +00:00
Mikhail Sennikovsky
13968f3102 patch from Bala Torati with small modifications
1. Fix for [Bug 184449] [Template Engine] It should be possible to press "Finish" on the first wizard page for templates having default values assigned
2. Fix for [Bug 184593] [Template Engine] Need a way to add tool-chain associations to existing templates
3. Fix for [Bug 184455] [Template Engine] NPE in template engine tests
2007-05-10 16:03:53 +00:00
Mikhail Sennikovsky
c5603e5a0e Template Engine submission from Bala Torati (Symbian) with some modifications and bug-fixes (see Bug 160012) 2007-04-26 17:07:39 +00:00
Anton Leherbauer
fb48e813d1 Document language extension point schema 2007-04-24 11:36:40 +00:00
Mikhail Sennikovsky
88d14ca7c4 schema fixes 2007-04-17 11:19:22 +00:00
Mikhail Sennikovsky
cb19d69cff 1. Fix for [Bug 182711] [Project Model] CoreModel.create(IFile) cannot be used in jobs
2. External setting provider mechanism
3. other bug-fixes
2007-04-17 11:14:13 +00:00