Bug 465567 - API for nested projects
Summary: API for nested projects
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.5   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks: 465883
  Show dependency tree
 
Reported: 2015-04-27 08:16 EDT by Donat Csikos CLA
Modified: 2019-10-22 09:54 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Donat Csikos CLA 2015-04-27 08:16:50 EDT
If I understand the current state of the platform UI correctly the nested project representation happens automatically based on the physical folder structure.

As we are trying to develop Buildship - Gradle integration for Eclipse - we see this as a restriction: with Gradle one can define a project hierarchy independently from the where a given element is stored.

Consequently we're seeking a way to explicitly define hierarchy information on a project. Is there a way to do this?
Comment 1 Brian de Alwis CLA 2015-04-28 16:32:40 EDT
Michael did the work for representing the nested projects.  All this state is maintained by the UI layer, and required no changes to the Core Resources.  He created a NestedProjectManager that is responsible for building and managing the nesting state, and then a JFace tree-based content provider that would reify that nesting state into a tree.
Comment 2 Mickael Istria CLA 2015-04-28 18:56:33 EDT
Brian is right. This API is pure usage of Eclipse CNF framework and its extension points: http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fcnf.htm
I believe you'd also like to develop your own extensions to CNF for BuildShip. Both Hierarchical Project view and Buildship can probably remain independant and compatible together.
Comment 3 Donat Csikos CLA 2015-04-29 04:42:44 EDT
It's good to know that the whole implementation is CNF-based. With this I will prototype the same thing for Buildship. 

But this means that Buildship will have a slightly modified version of the org.eclipse.ui.navigator.resources where IPath.isPrefixOf() is replaced with the logic from Gradle.

I still can imagine an extension point where a contributor can define for example a project nature and the hierarchy definition between the elements. I'm confident that other projects will benefit from organizing large projects in a custom-defined hierarchy.
Comment 4 Lars Vogel CLA 2019-10-21 08:57:21 EDT
Donat, can this bug be closed?
Comment 5 Donat Csikos CLA 2019-10-22 09:54:10 EDT
Yes, let's close it.