Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 490594

Summary: Contribute a preview of properties views support in Neon M7
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: PropertiesAssignee: Pierre-Charles David <pierre-charles.david>
Status: CLOSED FIXED QA Contact: Laurent Redor <laurent.redor>
Severity: normal    
Priority: P3 CC: laurent.redor, maxime.porhel
Version: 3.1.0Keywords: triaged
Target Milestone: 4.0.0M7   
Hardware: All   
OS: All   
See Also: https://git.eclipse.org/r/69831
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=d3a2cc35d2d2bff440f1e3e5a0e8fb1553a89f42
https://git.eclipse.org/r/70206
https://git.eclipse.org/c/eef/org.eclipse.eef.git/commit/?id=c67128ae4e8a3055ed3da96044a82aa44a7fdc56
https://git.eclipse.org/r/70982
Whiteboard:

Description Pierre-Charles David CLA 2016-03-29 09:33:44 EDT
Currently work on Sirius properties view is only available by manually installing very specific features from non-standard repositories. Starting from Neon M7 it should be possible to install everything needed directly from the main SimRel repository (neon) by selecting a single Sirius feature.

More precisely, in Neon M7 we want a new feature to be visible and installable in the "Modeling" category (along with the other Sirius features), named "Sirius Properties View - Incubation" (or something similar that makes it clear that this is alpha status).

For this we need to, on the Sirius side of things:
- contribute the org.eclipse.sirius.incubation.interpreter feature in the SimRel repository. This one must be kept separate to avoid cyclic dependencies between Sirius and EEF 1.6. It will not be part of the "Modeling" category and thus not visible to end-users.
- contribute the org.eclipse.sirius.incubation.properties feature (the main "top-level" one) in the "Modeling" category (like the rest of the Sirius features) of the SimRel.

Note that both features above are in the "incubation" repository (e.g. http://download.eclipse.org/sirius/updates/milestones/4.0.0M6/neon/incubation) which is separate from the main one from which we pull all our current contributions to the SimRel, but this should not be an issue.

We also need a few things on the EEF side:
- publish the org.eclipse.eef.sdk 1.6 feature in a stable location (or a new feature with a subset, I'm not sure we need a full "SDK"). To my knowledge, only nightly builds are currently published.
- contribute org.eclipse.eef.sdk 1.6 to the SimRel aggregation, outside of any category.

In the end the end-user should see only the "Sirius Properties View - Incubation" feature, which will pull the hidden org.eclipse.eef.sdk feature and then transitively the (also hidden) org.eclipse.sirius.incubation.interpreter feature.

Other things to be aware of:
- to ensure upgradability to future non-incubation versions, should we remove the "incubation" segment of the Sirius-side feature ids?
- we should probably split the Sirius feature into a runtime part and a specifier part. Otherwise modelers that want the use Sirius-based properties views will need the whole Sirius specification environment (with all its dependencies, incl. JDT and PDE...). Is there a similar split needed on the EEF side? The is no "specifier environment" there, but we should make sure none of the plug-ins in the org.eclipse.eef.sdk pull unwanted dependencies (from a Sirius runtime point of view).
- we will also need reasonably complete specifier-oriented documentation on the Sirius side if we want adopters to actually use this. I'll open a separate ticket for that.
Comment 1 Pierre-Charles David CLA 2016-03-29 10:23:52 EDT
(In reply to Pierre-Charles David from comment #0)
> - we will also need reasonably complete specifier-oriented documentation on
> the Sirius side if we want adopters to actually use this. I'll open a
> separate ticket for that.

Done as bug #490604.
Comment 2 Eclipse Genie CLA 2016-04-04 10:27:49 EDT
New Gerrit change created: https://git.eclipse.org/r/69831
Comment 4 Pierre-Charles David CLA 2016-04-07 07:57:15 EDT
Commit d3a2cc35d2d2bff440f1e3e5a0e8fb1553a89f42 implements those two requirements:

> - to ensure upgradability to future non-incubation versions, should we remove the "incubation" segment of the Sirius-side feature ids?
> - we should probably split the Sirius feature into a runtime part and a specifier part.

Specifically, the "incubation" repository now contains the following features:
* "org.eclipse.sirius.incubation", which still aggregates all incubation features;
* "org.eclipse.sirius.incubation.interpreter" which only provider the interpreter API that EEF 1.6's runtime depends on;
* "org.eclipse.sirius.properties.feature" which includes the runtime part only of the Sirius Properties Views support. This part depends on the EEF 1.6 runtime;
* "org.eclipse.sirius.specifier.properties.feature" which includes the VSM editor extensions required to specify Properties Views models;
* "org.eclipse.sirius.samples.properties.feature" which includes a few very simple sample VSMs to illustrate the various widgets we support. This part is currently incomplete and may change significantly in the future.
Comment 5 Eclipse Genie CLA 2016-04-08 04:01:49 EDT
New Gerrit change created: https://git.eclipse.org/r/70206
Comment 7 Eclipse Genie CLA 2016-04-19 12:23:11 EDT
New Gerrit change created: https://git.eclipse.org/r/70982
Comment 8 Pierre-Charles David CLA 2016-05-04 11:37:11 EDT
The contribution of a complete combination of Sirius & EEF 1.6 is at: https://git.eclipse.org/r/#/c/72045/

As of this writing no complete aggregration build has passed with that patch, but the validation is OK, so I'm closing this ticket. I'll reopen in case of last-minute issue.
Comment 9 Laurent Redor CLA 2016-05-26 11:00:00 EDT
This issue concerns only M7, a more global bugzilla for this feature is bug 482528.
Comment 10 Pierre-Charles David CLA 2016-06-24 08:02:49 EDT
Available in Sirius 4.0.0.