| Summary: | Introduce library extension bundles for non Sirius-specifc code | ||
|---|---|---|---|
| Product: | [Modeling] Sirius | Reporter: | Pierre-Charles David <pierre-charles.david> |
| Component: | Core | Assignee: | Pierre-Charles David <pierre-charles.david> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P1 | CC: | alex.lagarde, florian.barbin, stephane.begaudeau |
| Version: | unspecified | Keywords: | triaged |
| Target Milestone: | 1.0.0M5 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Pierre-Charles David
Marking as P1/major for 1.0.0M4, as this will break all the concerned APIs, so we should do this as early as possible. This library bundle should definitely include org.eclipse.sirius.tools.internal.resource.ResourceSetUtil, which allows to load EMF Resources within a ProgressMonitor and provide progression feedback while loading the resource. It may also be useful to provide another UI library bundle, including for example the BooleanFieldEditorWithHelp provided by sirius.ui. It makes censes for this component to be used by sirius contributors The org.eclipse.sirius.ui.tools.internal.util.ItemSearcher could be written without relying on sirius and extracted in the UI library bundle. (In reply to Alex Lagarde from comment #3) > It may also be useful to provide another UI library bundle That's the plan, see http://wiki.eclipse.org/Sirius/Modularization#Library_Extensions_2 for a (partial) list of library extensions which could be extracted. Will you keep using eclipse extension points for your services and dependencies to eclipse runtime? Some services could be realy useful in stand alone environments. (In reply to Stephane Begaudeau from comment #6) > Will you keep using eclipse extension points for your services and > dependencies to eclipse runtime? Some services could be realy useful in > stand alone environments. I agree that as a general rule these libraries should not use or define Eclipse extension points (and they should not use or define any other kind of singleton either). All those can be defined in the other Sirius plug-ins, but the library extensions should be usable in standalone mode. We'll see if this is workable in practice. See commit 80e4a71e5ba13b29c2583f6793835670a062317b and preceding for a first pass, which introduces several new library extension plug-ins. Some are empty, some already have a little content. The scope of this ticket is not to fill them completly but to initialize the structure and provide enough examples. Before I close this, the remaining task is to provide a clear reference document (probably on the wiki) explaining the purpose of these extensions and the associated coding rules (e.g. naming, dependencies allowed or forbidden, etc.). See https://wiki.eclipse.org/Sirius/Library_Extensions. It's far from perfect, but will do as a first iteration. Validated using: * Luna M4 * Sirius 1.0M5rc1 (1.0.0-N20140127-060036) Available in Sirius 1.0.0M5, see https://wiki.eclipse.org/Sirius/1.0.0M5 for availability details. |