Bug 416628 - "Export" of entries of language settings providers to referencing projects
Summary: "Export" of entries of language settings providers to referencing projects
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build (show other bugs)
Version: Next   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 8.3.0   Edit
Assignee: Andrew Gvozdev CLA
QA Contact: Andrew Gvozdev CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-05 09:54 EDT by Andrew Gvozdev CLA
Modified: 2013-09-21 13:14 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Gvozdev CLA 2013-09-05 09:54:40 EDT
"Paths and Symbols" tabs have "Export" feature when include directories, macros and other entries can be "Exported" to referenced projects. "Preprocessor Include Paths..." should have equivalent feature.
Comment 1 Andrew Gvozdev CLA 2013-09-08 08:31:37 EDT
Implemented on master. Now there is a new language settings provider to access exported entries from referenced projects.
Comment 2 CDT Genie CLA 2013-09-08 09:22:06 EDT
*** cdt git genie on behalf of Andrew Gvozdev ***

    bug 416628: "Export" of entries of language settings providers to referencing projects - added provider to do that

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=6856d55b68a7b7f82ab1b9e56a7b7462029b748f
Comment 3 CDT Genie CLA 2013-09-08 09:22:08 EDT
*** cdt git genie on behalf of Andrew Gvozdev ***

    bug 416628: "Export" of entries of language settings providers to referencing projects - added capability

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=da95189bb4aec52af57fa17ae5f322a4a87f42fc
Comment 4 Andrew Gvozdev CLA 2013-09-10 08:17:00 EDT
There are some new intermittently failing test cases on Hudson where ReferencedProjectsLanguageSettingsProvider participates in the stack trace:

org.eclipse.cdt.core.settings.model.CConfigurationDescriptionExportSettings.testProjectImport (from org.eclipse.cdt.core.suite.AutomatedIntegrationSuite)
Expected number (0) of non-OK status objects in log differs from actual (1).  Error: Resource '/libProj' does not exist. Resource '/libProj' does not exist. 
Stacktrace

junit.framework.AssertionFailedError: Expected number (0) of non-OK status objects in log differs from actual (1).
	Error: Resource '/libProj' does not exist. Resource '/libProj' does not exist.
...
Caused by: org.eclipse.core.internal.resources.ResourceException: Resource '/libProj' does not exist.
	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:341)
	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:215)
	at org.eclipse.core.internal.resources.Project.checkAccessible(Project.java:147)
	at org.eclipse.core.internal.resources.Project.getDescription(Project.java:428)
	at org.eclipse.cdt.internal.core.settings.model.SettingsContext.getEclipseProjectDescription(SettingsContext.java:53)
	at org.eclipse.cdt.internal.core.settings.model.SettingsContext.getEclipseProjectDescription(SettingsContext.java:60)
	at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.getConvertedDescription(XmlProjectDescriptionStorage.java:417)
	at org.eclipse.cdt.internal.core.settings.model.xml.XmlProjectDescriptionStorage.getProjectDescription(XmlProjectDescriptionStorage.java:244)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescriptionInternal(CProjectDescriptionManager.java:436)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:418)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:412)
	at org.eclipse.cdt.internal.core.settings.model.CProjectDescriptionManager.getProjectDescription(CProjectDescriptionManager.java:405)
	at org.eclipse.cdt.core.model.CoreModel.getProjectDescription(CoreModel.java:1441)
	at org.eclipse.cdt.core.model.CoreModelUtil.getReferencedConfigurationDescriptions(CoreModelUtil.java:701)
	at org.eclipse.cdt.internal.core.language.settings.providers.ReferencedProjectsLanguageSettingsProvider.getSettingEntries(ReferencedProjectsLanguageSettingsProvider.java:45)
	at org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer$LanguageSettingsWorkspaceProvider.getSettingEntries(LanguageSettingsProvidersSerializer.java:179)
	at org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer.getSettingEntriesPooled(LanguageSettingsProvidersSerializer.java:1412)
	at org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer.getSettingEntriesUpResourceTree(LanguageSettingsProvidersSerializer.java:1440)
	at org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer.getSettingEntriesByKind(LanguageSettingsProvidersSerializer.java:1499)
	at org.eclipse.cdt.internal.core.language.settings.providers.LanguageSettingsProvidersSerializer.getSettingEntriesByKind(LanguageSettingsProvidersSerializer.java:1541)
	at org.eclipse.cdt.core.settings.model.util.PathEntryTranslator.collectResourceDataEntries(PathEntryTranslator.java:2064)
	at org.eclipse.cdt.core.settings.model.util.PathEntryTranslator.access$11(PathEntryTranslator.java:2037)
	at org.eclipse.cdt.core.settings.model.util.PathEntryTranslator$1.visit(PathEntryTranslator.java:2025)
	at org.eclipse.cdt.core.settings.model.util.PathSettingsContainer.doAccept(PathSettingsContainer.java:519)
	at org.eclipse.cdt.core.settings.model.util.PathSettingsContainer.accept(PathSettingsContainer.java:515)
	at org.eclipse.cdt.core.settings.model.util.PathEntryTranslator.collectEntries(PathEntryTranslator.java:2017)
	at org.eclipse.cdt.internal.core.settings.model.ConfigBasedPathEntryStore.getEntries(ConfigBasedPathEntryStore.java:237)
	at org.eclipse.cdt.internal.core.settings.model.ConfigBasedPathEntryStore.getRawPathEntries(ConfigBasedPathEntryStore.java:118)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.getRawPathEntries(PathEntryStoreProxy.java:105)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getRawPathEntries(PathEntryManager.java:633)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:534)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:518)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:504)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreChangedOperation.executeOperation(PathEntryStoreChangedOperation.java:41)
	at org.eclipse.cdt.internal.core.model.CModelOperation.execute(CModelOperation.java:341)
	at org.eclipse.cdt.internal.core.model.CModelOperation.run(CModelOperation.java:607)
	at org.eclipse.cdt.internal.core.model.CModelOperation.runOperation(CModelOperation.java:635)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.pathEntryStoreChanged(PathEntryManager.java:1300)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.notifyListeners(PathEntryStoreProxy.java:68)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.fireContentChangedEvent(PathEntryStoreProxy.java:61)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.postProcessProviderChange(PathEntryStoreProxy.java:152)
	at org.eclipse.cdt.internal.core.settings.model.AbstractCExtensionProxy.checkUpdateProvider(AbstractCExtensionProxy.java:121)
	at org.eclipse.cdt.internal.core.settings.model.AbstractCExtensionProxy.providerRequested(AbstractCExtensionProxy.java:38)
	at org.eclipse.cdt.internal.core.model.PathEntryStoreProxy.getRawPathEntries(PathEntryStoreProxy.java:104)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getRawPathEntries(PathEntryManager.java:633)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:534)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:518)
	at org.eclipse.cdt.internal.core.model.PathEntryManager.getResolvedPathEntries(PathEntryManager.java:504)
	at org.eclipse.cdt.core.model.CoreModel.getResolvedPathEntries(CoreModel.java:964)
	at org.eclipse.cdt.internal.core.model.CProject.getResolvedPathEntries(CProject.java:413)
	at org.eclipse.cdt.internal.core.model.CProject.getOutputEntries(CProject.java:540)
	at org.eclipse.cdt.internal.core.model.CProject.isOnOutputEntry(CProject.java:578)
	at org.eclipse.cdt.internal.core.model.CContainer.computeChild(CContainer.java:258)
	at org.eclipse.cdt.internal.core.model.CContainer.computeChildren(CContainer.java:225)
	at org.eclipse.cdt.internal.core.model.CContainer.buildStructure(CContainer.java:191)
	at org.eclipse.cdt.internal.core.model.Openable.generateInfos(Openable.java:273)
	at org.eclipse.cdt.internal.core.model.CElement.openWhenClosed(CElement.java:430)
	at org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java:308)
	at org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java:298)
	at org.eclipse.cdt.internal.core.model.Parent.getChildren(Parent.java:55)
	at org.eclipse.cdt.internal.core.model.CElement.accept(CElement.java:527)
	at org.eclipse.cdt.internal.core.model.CElement.accept(CElement.java:529)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.createDelegate(PDOMRebuildTask.java:112)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:75)
	at org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:137)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Comment 5 Andrew Gvozdev CLA 2013-09-12 08:51:49 EDT
Hopefully fixed on master.
Comment 6 CDT Genie CLA 2013-09-12 09:22:13 EDT
*** cdt git genie on behalf of Andrew Gvozdev ***

    bug 416628: to fix intermittently failing test case

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=75d1510005d75387b8aa4de2affebdff38a51ed0
Comment 7 Andrew Gvozdev CLA 2013-09-12 10:44:44 EDT
Still seeing the issue with failing test case.
Comment 8 CDT Genie CLA 2013-09-21 07:22:10 EDT
*** cdt git genie on behalf of Andrew Gvozdev ***

    bug 416628: to fix intermittently failing test case

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=d7dc313c499830cef8fd9d82b06b8416425bd797
Comment 9 CDT Genie CLA 2013-09-21 07:22:14 EDT
*** cdt git genie on behalf of Andrew Gvozdev ***

    bug 416628: Handle case when projects reference each other recursively

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=f49338fed1edc59fd58456165f135d19d0779ea4
Comment 10 Andrew Gvozdev CLA 2013-09-21 13:14:09 EDT
Hopefully fixed now.