1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00
Commit graph

146 commits

Author SHA1 Message Date
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
Nathan Ridge
9792a72dae Bug 525438 - Fix file path comparison in AbstractIndexAstChecker.getLineCommentsForLocation()
Using IPath.toPortableString() was causing a forward slash vs.
backward slash mismtach in the path comparison on Windows.

Change-Id: Ib3eb392065fb473f6b6e70cb1dcddceb34ae7240
2017-10-13 13:53:17 -04:00
Nathan Ridge
33d33a8cd6 Bug 525350 - Ensure a lookup point is always set during indexing, code analysis, and code completion
Also push a more accurate lookup point in a few places.

Change-Id: I635569178d8d9afd23f7782aeebdaed714f1a10d
2017-10-03 22:23:09 -04:00
Marc-Andre Laperle
0046099052 releng: Make use of Tycho POM-less functionality
This removes a lot of pom.xml from the source tree. This is using the
"POM-less" Tycho functionality.
See
https://wiki.eclipse.org/Tycho/Release_Notes/0.24#POM-less_Tycho_builds

One advantage of this is that you do not need to update the version in
the pom.xml when you change it in the MANIFEST.MF because the pom.xml is
automatically generated. This also reduces a lot of the duplicated
information and pom.xml repetition.

- Maven 3.3 and up is required.
- Only eclipse-plugins and eclipse-features can be pom-less.
Repositories, target and others still have pom.xml.
- New parent poms are added because a parent is necessary directly one
level above the plug-in/feature that will have its pom generated
- Some test plug-ins had to be renamed .test -> .tests because it's
required so that it detects that it's a test plug-in
- Some suites were renamed so that they all use the same consistent name
"AutomatedIntegrationSuite"
- Profiles were added for the more common test configurations. They are
activated by the presence of simple .properties files that only serve to
activate the correct profile. The profiles:
  - One for UI tests (UI present and start in UI thread)
  - One for SWTBot tests (UI present and do not start in UI thread)
Other test plug-ins that are too different are kept intact and still
have
a pom.xml
- Fragments are kept intact since they all have different target
platform configurations

Change-Id: I9d73380eb766f547830c552daf08053a30b1845c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2017-02-13 23:19:56 -04:00
Marc Khouzam
8cf5ed53f2 Update version to 9.3.0
Change-Id: Ic953ccc5d38ff3661ca44de21ed8c4b7dad5b246
2016-11-15 20:32:51 -05:00
Marc Khouzam
334777eb6e Update version to 9.2.0
Change-Id: I36ad4218b20b8ea70584c89f5be45c757bf4c714
2016-11-14 23:50:05 -05:00
Nathan Ridge
d77511f4c4 Bug 496720 - Respect scope filters for AST-based checkers
Change-Id: Ib96879ec50bdc5a14215abbe6d109bcf3767d4f4
2016-10-26 01:18:55 -04:00
Sergey Prigogin
64aec369e1 More robust implementation of ControlFlowGraphBuilder.isConstant method
Change-Id: I43fd84e8c374a638834be3c2aeb216b96fc6b461
2016-10-05 17:13:00 -07:00
Toni Suter
25d4502b80 Bug 490475. Support the evaluation of C++14 constexpr functions
Change-Id: I05029f26b6d33cbeeab8138a270b38c4018b64b5
Signed-off-by: Toni Suter <tsuter@hsr.ch>
Signed-off-by: Silvano Brugnoni <sbrugnon@hsr.ch>
2016-09-16 03:09:25 -04:00
Dan Crosscup
88df41a67f Bug 500884. Fixed ExternalToolInvoker so it starts the Build Console.
Build Console needs to be started before 
OutputStream and ErrorStream are retrieved for the Sniffer.

Change-Id: I1aea84ca9fa2e6806cb07513bb2c9cad47c11617
Signed-off-by: Dan Crosscup <tunzis@gmail.com>
2016-09-05 17:48:12 -06:00
Marc Khouzam
cd559dafaf Update version to 9.1.0
This commit used the script releng/scripts/ChangeFeaturesVersion.sh

Change-Id: I8274a6e8dd5c0f1e450f07952e138b265a441a62
2016-08-17 10:11:57 -04:00
Nathan Ridge
5344893756 Bug 496628 - Avoid codan markers that cover an entire class declaration
This fixes a regression from bug 486610 which introduced these in some cases.

Change-Id: I791528ce7f0bc061386aaa97dd9cecb7abeecd72
2016-07-06 23:16:22 -04:00
Marc Khouzam
9e1e981b4d Move the rest of the CDT plugins to java 8
This change was generated using the script:
releng/scripts/ChangeJavaVersion.sh

Change-Id: I2ad96dc682a5acb8529c3edec40de279c331b5a4
2016-06-22 14:51:43 -04:00
Alisson Linhares de Carvalho
9ba50a9462 Bug 486610 - Fixed a highlight problem in reportProblem method
Every time we report a problem in a declaration/expression that occupies more
than one line, the codan marks the entire line as a problem - including
everything before the node. This patch solves this inconvenient behavior.

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=486610 for a complete
explanation.

Change-Id: I742cbaac8a1392676695d574355597b0cfc87385
Signed-off-by: Alisson Linhares de Carvalho <arescarv@gmail.com>
2016-02-23 16:59:59 -05:00
Marc Khouzam
2ad68f7f80 Update copyright dates
Change-Id: I94ac38c37657e270f62db9bbd2859c2c6de40e5f
2016-02-11 01:50:14 -05:00
Marc Khouzam
b745736775 Incremented CDT features version to 9.0.0
This includes bumping the standalone debugger to 9.0.0

Change-Id: I55fae1cec995b5f6865a5b174c004ed1b76e9bea
2016-01-18 16:37:47 -05:00
Alena Laskavaia
05daa126a0 Bug 383576 - Ability to ignore codan errors using line comments
Change-Id: I806e1787fb6cc3be8865cee1d397d581ae4acd8e
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2016-01-11 12:49:09 -05:00
Alena Laskavaia
aa4f014a3a fixing some comments
Change-Id: I020815ce6099d743067974a97b8b63539e408f15
2016-01-07 20:49:41 -05:00
Marc Khouzam
f3ff649041 Fix copyright of all CDT plugins using the copyright tool from platform.
This commit does not add missing copyrights, just updates the date on
the existing ones.

Change-Id: I646f5afd533a1fcc539bdf2e0686b22f406ecf65
2016-01-03 20:38:31 -05:00
Marc Khouzam
bb61124897 Incremented CDT feature version to 8.8.0
Change-Id: Ib1189a08a5f0225fd676b682dc8a10477ad3acc5
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-06-10 09:33:49 -04:00
Marc Khouzam
e820f872ad Incremented CDT feature version to 8.7.0
Change-Id: Ife0feaaa9263d2b7797e31d628250bd26caff1b5
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2015-05-04 21:07:13 -04:00
Sergey Prigogin
711ec8df95 Bug 461538 - "noreturn" attribute in destructor is not accounted for
Change-Id: Ia3c3bdfdb26ff18092fd20be02f178ebb71848bb
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2015-04-06 17:35:03 -04:00
Sergey Prigogin
94aa97e0b6 Cosmetics.
Change-Id: I473deba48684e751905fbfa487df6fe9146781c2
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2015-04-03 12:05:27 -07:00
Sergey Prigogin
bec85475fd Reverted erroneous commits.
Change-Id: I7e914e27413f102d4b84c62f53f300c4ec5d23e8
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2015-04-03 13:37:47 -04:00
Sergey Prigogin
4d1b8a8e26 Cosmetics 2015-04-02 20:41:39 -07:00
Alena Laskavaia
50775fe2fb codan: encapsulated builder and added vm var to disable (for tests)
- refactored the code so client who run codan always go though builder
to call checkers
- added vm arg -Dcodan.disabled=true to be used mostly by junit to not
run codan at all

Change-Id: Ie85e20f23b6ded8fffe5064adc1f9193a6f9a146
2015-03-18 21:03:03 -04:00
Sergey Prigogin
ad308251da Code streamlining. 2015-03-07 23:58:05 -08:00
Sergey Prigogin
7020c95a8b Cosmetics. 2015-03-07 23:45:29 -08:00
Alena Laskavaia
dd528c19b6 codan: added AbstractCElementChecker class
this allows to run on translation unit but without index locking
useful for externl tools

Change-Id: If0788eee7d322aa4cafb7985e0c8f742c31369ae
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2015-03-06 15:38:44 -05:00
Alena Laskavaia
7ecd20efa9 codan: refactored external tool invoke to be more useful
Change-Id: Ide621e5541febe8fda784605ef4d5e23476669d4
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2015-03-05 15:18:31 -05:00
Alena Laskavaia
82274d4060 added codan marker generator
its required for some cdt classes like console parsers

Change-Id: Ibde68774656a15c735dce08d5f3041dc56a7266f
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
2015-03-05 09:19:54 -05:00
Nathan Ridge
43097ce04e Bug 455828 - Proper handling of 'switch' without explicit default
(including empty switch)

Change-Id: I3e20400f86c5e4273d8b0c62ed9ac3f429a84879
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-02-18 19:30:08 -05:00
Nathan Ridge
3586267e6b Bug 455828 - Proper handling of 'break' inside compound statement in a
case of a switch

Change-Id: I73329a8769bc20a4fc4e017faad627e03adce9d9
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-02-18 19:08:59 -05:00
Alena Laskavaia
3cf5ec86ee Bug 327375 control flow graph regression - dead connector nodes
basically for the code like
if (a) return 1; else return 2;
a++; // this should be a dead code node

but we don't check connector node of "if" and don't add
it to dead nodes graph resulting it this code not being marked as dead,
which can lead to false positives or false negatives for checkers that
use that. Same apply for other control statements...

Change-Id: Iafb4b48ca960f0ffab2c0265285a31cb08eb0d11
2015-02-18 16:42:59 -05:00
Nathan Ridge
d0ef9d1d82 Bug 455828 - General cleanup in ControlFlowGraphBuilder
Change-Id: I46cfe23fc10bed235d091afaec8eec29dd7d62ac
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
2015-02-17 20:07:04 -05:00
Sergey Prigogin
252eaf4c0f Incremented CDT feature version to 8.6.0.
Change-Id: Ic90c8e6a68d21e5b90ec3fac997da6a95a29bedf
Signed-off-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Reviewed-on: https://git.eclipse.org/r/39066
Tested-by: Hudson CI
2015-01-06 19:40:38 -05:00
Alena Laskavaia
24d2e1a4c8 Bug 447486 - codan - CCE is thrown by control flow graph builder
- addOutgoing cannot join JumpNode - block will be added to dead list
instead
- addjusted goto code to not use addOutgoing but using setJump directly
- corrected code that doing fake return to deal jump nodes at the end
- corrected code that marks up dead code to remove jump targets
- corrected code that calculates all nodes in the graph to take into
account dangling labels
- fixed CFG viewer to show unconnected labeled statements

Change-Id: Ie4d9e37678e3ebaae8e9f268e6f37342e14a1444
Reviewed-on: https://git.eclipse.org/r/38189
Tested-by: Hudson CI
Reviewed-by: Elena Laskavaia <elaskavaia.cdt@gmail.com>
2014-12-14 13:09:13 -05:00
Nathan Ridge
517b811599 Bug 452325 - Protect against IVariable.getInitialValue() calling itself
recursively along any code path

Change-Id: Idbf46ca82b431e72bf6b2598427430c37ef65cc4
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
Reviewed-on: https://git.eclipse.org/r/37220
Tested-by: Hudson CI
Reviewed-by: Elena Laskavaia <elaskavaia.cdt@gmail.com>
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-12-08 13:39:24 -05:00
Alena Laskavaia
d2f248dc70 Bug 353352 - CFG doesn't handle range-based for loop
Change-Id: Ic71c15d26d31d954fbc4c91882dd9361d9b23eae
2014-09-09 22:44:58 -04:00
Sergey Prigogin
d87c480f47 Proper reporting of unsupported statement types.
Change-Id: I4e4745bf7661329873107e8849f6200577756891
Reviewed-on: https://git.eclipse.org/r/31725
Tested-by: Hudson CI
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-08-14 17:50:36 -04:00
Sergey Prigogin
d8154bd340 Inremented branding plugin version to 8.5 2014-07-21 17:39:01 -07:00
Alena Laskavaia
db43e03878 Bug 394521 Do Constant folding propagation when building CFG
When building control flow graph we can consider constants
and not add some branches in decisions nodes, that make CFG
more accurate and elimate some false positives

Change-Id: I19c623e1e6d2dc7416a0e796a98168df7a976111
Signed-off-by: Alena Laskavaia <elaskavaia.cdt@gmail.com>
Reviewed-on: https://git.eclipse.org/r/28726
2014-06-21 10:57:37 -04:00
Alena Laskavaia
16037a5f38 Bug 350168 - Return checker won't report errors in dead code
Also Bug 356908, Bug 348386

Change-Id: I48d2f74e05d2d6d7a7bf0589408ca90bc07a6922
Reviewed-on: https://git.eclipse.org/r/28527
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
2014-06-16 10:26:43 -04:00
Sergey Prigogin
dc19bb3b6b Bug 431544 - UnsupportedOperationException in
ControlFlowGraphBuilder.build

Change-Id: I91fd0b4e1a816b80a4bbad5e7a8ee1f61f9862a9
Reviewed-on: https://git.eclipse.org/r/24214
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-03-31 13:52:52 -04:00
Sergey Prigogin
14bea54256 Cosmetics. 2014-03-31 10:44:07 -07:00
Sergey Prigogin
5d7a19fa6c Enabled JDK 1.7.
Change-Id: Ic2a161ea3c318dc1e8ba01c271c936bf5ed8763d
Reviewed-on: https://git.eclipse.org/r/21020
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-01-24 13:38:55 -05:00
Sergey Prigogin
1d166260a8 Bumped up CDT version to 8.4.
Change-Id: I1229344feaaed4a3551ceb7b1ef1410545048b55
Reviewed-on: https://git.eclipse.org/r/20908
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2014-01-21 17:35:29 -05:00
Sergey Prigogin
fb08c843e9 Bug 400073 - Indexer runs out of memory.
An attempt to reduce memory consumption.
2013-12-05 19:47:34 -08:00
Andrew Gvozdev
652ce4748e Fixed parent pom version to reference 2013-08-27 15:16:24 -04:00
Sergey Prigogin
bc98f57d9a Cosmetics. 2013-07-21 21:39:18 -07:00