Bug 498252 - Migrate the e4 spies to PDE
Summary: Migrate the e4 spies to PDE
Status: RESOLVED FIXED
Alias: None
Product: PDE
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.21   Edit
Hardware: PC All
: P3 enhancement (vote)
Target Milestone: 4.22 M1   Edit
Assignee: Lars Vogel CLA
QA Contact:
URL:
Whiteboard:
Keywords: noteworthy
Depends on:
Blocks: 576300 576355
  Show dependency tree
 
Reported: 2016-07-21 04:14 EDT by Lars Vogel CLA
Modified: 2021-09-30 11:43 EDT (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Vogel CLA 2016-07-21 04:14:25 EDT
The e4 tools project has indicates that they would like to migrate the e4 spies to a regular project. 

PDE seems like the logical choice, as PDE contains already spies for the the plug-in development and the main developer (Olivier Prouvost) is already actively contributing to the PDE project. I'm also active in the spies and I'm already a PDE commmitter.
Comment 1 Dani Megert CLA 2016-07-21 05:46:02 EDT
Please provide the following additional information:
- What spies are available and what are they used for?
- Do all of them target plug-in development?
- What additional dependencies do they add?
- Would they remain a separate feature/download, or is the plan to ship them
  as part of the SDK?
Comment 2 Olivier Prouvost CLA 2016-07-21 11:23:10 EDT
Avaiable spies are : 

* model spy : to display the live model
* context spy : for injection context
* bundle spy : for OSGi bundles 
* event spy : for IEventBroker events
* css spy : to edit/check the CSS
* preference spy : to display preference values. 

All these spies depends on the org.eclipse.e4.tools.spy.spyPart extension point which provides the key bindings into the dedicated E4 spy window. 

Dependencies of org.eclipse.e4.tools are basic dependencies found in the PDE too : 
javax.inject;bundle-version="1.0.0",org.eclipse.e4.ui.
 model.workbench,org.eclipse.core.runtime;bundle-version="3.9.0",org.e
 clipse.e4.core.di,org.eclipse.e4.core.services,org.eclipse.e4.ui.work
 bench,org.eclipse.e4.ui.services,org.eclipse.e4.core.contexts,org.ecl
 ipse.e4.ui.di,org.eclipse.equinox.event

Other pure PDE spies could also be created : memory spy, swt layout spy (provided these days), operation stack spy, ...  
On the other hand, developper could also define their own spy for their development : mockito spy, test spy, whatever spy... 

It would be nice to provide this platform for all of us.
Comment 3 Lars Vogel CLA 2016-07-21 11:24:49 EDT
For clarification: the SWT layout spy has been contributed to PDE this week by Stefan Xenos.
Comment 4 Olivier Prouvost CLA 2016-07-21 11:32:34 EDT
And as the spies are not available in PDE, Stefan had to redefine everything : 

* can not reuse the spyPart extension point
* can not write the spy in a pure E4 way 
* redefine all key bindings using old fashion extension point (with extension point * only the key binding must be provided)
* redefine a category for pde spies besides the E4 tools spies

If spies are available, his handler class will disappear, the layoutSpy can use injection, the 'dialog' is useless,  ...
Comment 5 Lars Vogel CLA 2016-09-13 14:52:21 EDT
(In reply to Olivier Prouvost from comment #4)

> If spies are available, his handler class will disappear, the layoutSpy can
> use injection, the 'dialog' is useless,  ...

Olivier, the PMC is fine with the move, under the restriction that spies must follow the same rules as the existing PDE code (code must be clean, string externalized, etc.) See https://wiki.eclipse.org/Eclipse/PMC

Are you willing to help with this? If yes, we could start moving the e4 spies to PDE.
Comment 6 Olivier Prouvost CLA 2016-09-14 05:59:23 EDT
Hi Lars, 

Sure... But I am really busy up to mid of October... But I will try to work on it anyway.
Comment 7 Patrik Suzzi CLA 2017-04-15 04:52:56 EDT
This migration seems complex. Can we break it down into sub-tasks?
Comment 8 Olivier Prouvost CLA 2017-04-16 11:33:20 EDT
@Patrik Do you mean we should open a bug for each spy to migrate ?
Comment 9 Patrik Suzzi CLA 2017-04-18 11:26:08 EDT
(In reply to Olivier Prouvost from comment #8)
> @Patrik Do you mean we should open a bug for each spy to migrate?

Yes. I think this will make easier getting help from contributors.
Comment 10 Alexander Kurtakov CLA 2021-02-14 13:52:18 EST
Remove target milestone. Please set one when actually starting to work on it.
Comment 11 Eclipse Genie CLA 2021-09-15 11:03:41 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185479
Comment 13 Eclipse Genie CLA 2021-09-17 07:16:38 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185546
Comment 14 Eclipse Genie CLA 2021-09-17 07:23:58 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185548
Comment 16 Eclipse Genie CLA 2021-09-17 09:49:52 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185554
Comment 17 Eclipse Genie CLA 2021-09-17 09:52:04 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185557
Comment 18 Lars Vogel CLA 2021-09-17 10:40:56 EDT
First spy added to the PDE feature. Lets see if that creates issues in the nightly build before continuing.
Comment 22 Andrey Loskutov CLA 2021-09-20 05:46:19 EDT
We have new test fails in SDK build on all platforms:

1) https://download.eclipse.org/eclipse/downloads/drops4/I20210919-1800/testresults/html/org.eclipse.e4.ui.tests_ep422I-unit-cen64-gtk3-java11_linux.gtk.x86_64_11.html

java.lang.NullPointerException
at org.eclipse.e4.ui.internal.workbench.ResourceHandler.loadMostRecentModel(ResourceHandler.java:182)
at org.eclipse.e4.ui.tests.application.ResourceHandlerTest.testDynamicElementsDoNotGetPersisted(ResourceHandlerTest.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

2) https://download.eclipse.org/eclipse/downloads/drops4/I20210919-1800/testresults/html/org.eclipse.releng.tests_ep422I-unit-cen64-gtk3-java11_linux.gtk.x86_64_11.html


Plugin directory missing required files: /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.core_1.0.0.v20210917-1440.jar; /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.core.source_1.0.0.v20210917-1440.jar; /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.model.source_0.12.100.v20210917-1439.jar;

java.lang.AssertionError: Plugin directory missing required files: /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.core_1.0.0.v20210917-1440.jar; /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.core.source_1.0.0.v20210917-1440.jar; /home/jenkins/agent/workspace/ep422I-unit-cen64-gtk3-java11/workarea/I20210919-1800/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.pde.spy.model.source_0.12.100.v20210917-1439.jar;
at org.junit.Assert.fail(Assert.java:89)
at org.junit.Assert.assertTrue(Assert.java:42)
at org.eclipse.releng.tests.BuildTests.testPluginFiles(BuildTests.java:420)
Comment 23 Andrey Loskutov CLA 2021-09-20 07:04:39 EDT
Also looking on the code in plugin.xml from org.eclipse.pde.tools.spy we see a warning "schema/spyPart.exsd" does not reference a schema file.
And that seems to be either unneeded contribution or missing exsd file.
Comment 24 Lars Vogel CLA 2021-09-20 07:29:53 EDT
I have a look tonight...
Comment 25 Eclipse Genie CLA 2021-09-20 11:26:35 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185612
Comment 26 Eclipse Genie CLA 2021-09-20 11:38:49 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185615
Comment 27 Eclipse Genie CLA 2021-09-20 12:03:28 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185618
Comment 32 Ed Merks CLA 2021-09-21 03:42:48 EDT
Looking at the problem report here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=576130

It appears problematic that PDE's feature now depends on something that transitively depends on org.eclipse.emf.databinding but that plugin is not the platform's repository.
Comment 33 Eclipse Genie CLA 2021-09-21 11:39:27 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185660
Comment 34 Eclipse Genie CLA 2021-09-21 11:46:53 EDT
New Gerrit change created: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/185661
Comment 35 Lars Vogel CLA 2021-09-21 11:54:59 EDT
(In reply to Ed Merks from comment #32)
> Looking at the problem report here:
> 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=576130
> 
> It appears problematic that PDE's feature now depends on something that
> transitively depends on org.eclipse.emf.databinding but that plugin is not
> the platform's repository.

eclipse.platform.ui.tools provides this and IIRC we adjusted our target platform a few years back to include org.eclipse.emf.databinding as dependency. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=468327 for reference.
Comment 36 Ed Merks CLA 2021-09-21 12:12:18 EDT
(In reply to Lars Vogel from comment #35)
> (In reply to Ed Merks from comment #32)
> > Looking at the problem report here:
> > 
> > https://bugs.eclipse.org/bugs/show_bug.cgi?id=576130
> > 
> > It appears problematic that PDE's feature now depends on something that
> > transitively depends on org.eclipse.emf.databinding but that plugin is not
> > the platform's repository.
> 
> eclipse.platform.ui.tools provides this and IIRC we adjusted our target
> platform a few years back to include org.eclipse.emf.databinding as
> dependency. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=468327 for
> reference.

You'll note that this just illustrates that you are getting the IUs from some EMF repository, and that you clearly do require them.  But this does nothing to help ensure that these three IUs end up in your own IBuild repository.

Given that PDE itself now depends transitively on these, I think this will need to be fixed.
Comment 39 Lars Vogel CLA 2021-09-22 02:59:37 EDT
AFAICS the unit test failures are fixed.

Ed, anything we need to do in release with the dependencies?
Comment 40 Ed Merks CLA 2021-09-22 04:49:56 EDT
(In reply to Lars Vogel from comment #39)
> AFAICS the unit test failures are fixed.
> 
> Ed, anything we need to do in release with the dependencies?

Yes, as described here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=576130#c7

You can review the report generated daily to see that org.eclipse.emf.databinding, org.eclipse.emf.edit, and org.eclipse.emf.databinding.edit are not present in the I-build repository:

https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/eclipse/updates/4.22-I-builds/index.html

As such, it's not possible to resolve all of the PDE feature's transitive dependencies purely from an I-build repository, which is what causes Bug 576130 to arise, but only for 4.22.  This deficiency will also prevent installing the PDE tools feature in an IDE purely from a 4.22 repository.  I tested that this fails to install the spy components.

I'll provide Gerrit contributions for what's needed to make this complete and consistent with how the emf.common and emf.ecore dependencies are handled.
Comment 41 Eclipse Genie CLA 2021-09-22 04:53:41 EDT
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.releng.aggregator/+/185692
Comment 42 Lars Vogel CLA 2021-09-22 04:54:21 EDT
(In reply to Ed Merks from comment #40)
> (In reply to Lars Vogel from comment #39)
> > AFAICS the unit test failures are fixed.
> > 
> > Ed, anything we need to do in release with the dependencies?
> 
> Yes, as described here:
> 
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=576130#c7

> I'll provide Gerrit contributions for what's needed to make this complete
> and consistent with how the emf.common and emf.ecore dependencies are
> handled.

Thanks.
Comment 43 Eclipse Genie CLA 2021-09-22 04:56:54 EDT
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.releng/+/185693
Comment 44 Ed Merks CLA 2021-09-22 05:05:27 EDT
It looks like https://git.eclipse.org/r/c/platform/eclipse.platform.releng.aggregator/+/185692 doesn't do builds, but https://git.eclipse.org/r/c/platform/eclipse.platform.releng/+/185693 does.  But without the changes to the target platform from the former, I don't think the change to the SDK feature.xml is doing to build.

What to do?
Comment 45 Ed Merks CLA 2021-09-22 05:06:21 EDT
I was wrong, the build is just very slow to start, nevertheless I don't think the SDK feature change will work without the TP change being committed first...
Comment 46 Ed Merks CLA 2021-09-22 06:18:47 EDT
Is it okay (normal practice) that I submit the following myself now that it passed the build?

https://git.eclipse.org/r/c/platform/eclipse.platform.releng.aggregator/+/185692
Comment 47 Lars Vogel CLA 2021-09-22 06:42:25 EDT
(In reply to Ed Merks from comment #46)
> Is it okay (normal practice) that I submit the following myself now that it
> passed the build?
> 
> https://git.eclipse.org/r/c/platform/eclipse.platform.releng.aggregator/+/
> 185692

I think this is fine.
Comment 49 Ed Merks CLA 2021-09-22 07:45:27 EDT
Note that https://git.eclipse.org/r/c/platform/eclipse.platform.releng/+/185693 can't pass until there is a new I-build with the changes for https://git.eclipse.org/r/c/platform/eclipse.platform.releng.aggregator/+/185692 because that test build expects to resolve all dependencies from the IBuild rather than using the *.target to resolve dependencies.

I.e., I see this:

[INFO] Fetching org.eclipse.emf.common_2.23.0.v20210618-0700.jar from https://download.eclipse.org/eclipse/updates/4.22-I-builds/I20210919-0120/plugins/ (367.01kB)
Comment 51 Ed Merks CLA 2021-09-23 06:31:13 EDT
The EMF plugins and features, including their sources are all in the repository now, e.g., 

https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/eclipse/updates/4.22-I-builds/http___download.eclipse.org_eclipse_updates_4.22-I-builds_I20210922-1800/org.eclipse.emf.databinding_1.5.0.v20180706-1146.html

The next I-Build will include them in the SDK feature/product...

So I think this aspect is done.
Comment 52 Lars Vogel CLA 2021-09-23 06:34:25 EDT
(In reply to Ed Merks from comment #51)
> The EMF plugins and features, including their sources are all in the
> repository now, e.g., 
> 
> https://download.eclipse.org/oomph/archive/reports/download.eclipse.org/
> eclipse/updates/4.22-I-builds/http___download.eclipse.org_eclipse_updates_4.
> 22-I-builds_I20210922-1800/org.eclipse.emf.databinding_1.5.0.v20180706-1146.
> html
> 
> The next I-Build will include them in the SDK feature/product...
> 
> So I think this aspect is done.

Thanks, Ed. I plan to migrate more spies in the next iteration but I hope they do not have additional dependencies.
Comment 53 Sebastian Ratz CLA 2021-09-27 04:48:16 EDT
(In reply to Eclipse Genie from comment #50)
> Gerrit change
> https://git.eclipse.org/r/c/platform/eclipse.platform.releng/+/185693 was
> merged to [master].
> Commit:
> http://git.eclipse.org/c/platform/eclipse.platform.releng.git/commit/
> ?id=8176ad39b7e2078d30ca24a1b04d366125b1d3dd

With this change, the combination of
- Using update sites 
  https://download.eclipse.org/releases/2021-09
  https://download.eclipse.org/eclipse/updates/4.22-I-builds/
- Having org.eclipse.emf.sdk installed
is not possible anymore:

Cannot complete the install because of a conflicting dependency.
  Software being installed: EMF Common Developer Resources 2.24.0.v20210924-1718 (org.eclipse.emf.common.source.feature.group 2.24.0.v20210924-1718)
  Software currently installed: EMF - Eclipse Modeling Framework SDK 2.27.0.v20210816-1137 (org.eclipse.emf.sdk.feature.group 2.27.0.v20210816-1137)
  Only one of the following can be installed at once: 
    EMF Common Developer Resources 2.23.0.v20210618-0700 (org.eclipse.emf.common.source.feature.jar 2.23.0.v20210618-0700)
    EMF Common Developer Resources 2.24.0.v20210924-1718 (org.eclipse.emf.common.source.feature.jar 2.24.0.v20210924-1718)
  Cannot satisfy dependency:
    From: EMF Common Developer Resources 2.23.0.v20210618-0700 (org.eclipse.emf.common.source.feature.group 2.23.0.v20210618-0700)
    To: org.eclipse.equinox.p2.iu; org.eclipse.emf.common.source.feature.jar [2.23.0.v20210618-0700,2.23.0.v20210618-0700]
  Cannot satisfy dependency:
    From: EMF Common Developer Resources 2.24.0.v20210924-1718 (org.eclipse.emf.common.source.feature.group 2.24.0.v20210924-1718)
    To: org.eclipse.equinox.p2.iu; org.eclipse.emf.common.source.feature.jar [2.24.0.v20210924-1718,2.24.0.v20210924-1718]
  Cannot satisfy dependency:
    From: EMF - Eclipse Modeling Framework SDK 2.27.0.v20210816-1137 (org.eclipse.emf.sdk.feature.group 2.27.0.v20210816-1137)
    To: org.eclipse.equinox.p2.iu; org.eclipse.emf.source.feature.group [2.27.0.v20210816-1137,2.27.0.v20210816-1137]
  Cannot satisfy dependency:
    From: EMF - Eclipse Modeling Framework Runtime and Tools Developer Resources 2.27.0.v20210816-1137 (org.eclipse.emf.source.feature.group 2.27.0.v20210816-1137)
    To: org.eclipse.equinox.p2.iu; org.eclipse.emf.common.source.feature.group [2.23.0.v20210618-0700,2.23.0.v20210618-0700]


since the platform I-builds repo only contains / depends on *parts* of EMF, not the whole SDK.

Is there way around this other than also adding the EMF nightly/milestone update site?
Comment 54 Ed Merks CLA 2021-09-27 05:28:21 EDT
(In reply to Sebastian Ratz from comment #53)
> (In reply to Eclipse Genie from comment #50)
> > Gerrit change
> > https://git.eclipse.org/r/c/platform/eclipse.platform.releng/+/185693 was
> > merged to [master].
> > Commit:
> > http://git.eclipse.org/c/platform/eclipse.platform.releng.git/commit/
> > ?id=8176ad39b7e2078d30ca24a1b04d366125b1d3dd
> 
> With this change, the combination of
> - Using update sites 
>   https://download.eclipse.org/releases/2021-09
>   https://download.eclipse.org/eclipse/updates/4.22-I-builds/
> - Having org.eclipse.emf.sdk installed
> is not possible anymore:
> 
> Cannot complete the install because of a conflicting dependency.
>   Software being installed: EMF Common Developer Resources
> 2.24.0.v20210924-1718 (org.eclipse.emf.common.source.feature.group
> 2.24.0.v20210924-1718)
>   Software currently installed: EMF - Eclipse Modeling Framework SDK
> 2.27.0.v20210816-1137 (org.eclipse.emf.sdk.feature.group
> 2.27.0.v20210816-1137)
>   Only one of the following can be installed at once: 
>     EMF Common Developer Resources 2.23.0.v20210618-0700
> (org.eclipse.emf.common.source.feature.jar 2.23.0.v20210618-0700)
>     EMF Common Developer Resources 2.24.0.v20210924-1718
> (org.eclipse.emf.common.source.feature.jar 2.24.0.v20210924-1718)
>   Cannot satisfy dependency:
>     From: EMF Common Developer Resources 2.23.0.v20210618-0700
> (org.eclipse.emf.common.source.feature.group 2.23.0.v20210618-0700)
>     To: org.eclipse.equinox.p2.iu; org.eclipse.emf.common.source.feature.jar
> [2.23.0.v20210618-0700,2.23.0.v20210618-0700]
>   Cannot satisfy dependency:
>     From: EMF Common Developer Resources 2.24.0.v20210924-1718
> (org.eclipse.emf.common.source.feature.group 2.24.0.v20210924-1718)
>     To: org.eclipse.equinox.p2.iu; org.eclipse.emf.common.source.feature.jar
> [2.24.0.v20210924-1718,2.24.0.v20210924-1718]
>   Cannot satisfy dependency:
>     From: EMF - Eclipse Modeling Framework SDK 2.27.0.v20210816-1137
> (org.eclipse.emf.sdk.feature.group 2.27.0.v20210816-1137)
>     To: org.eclipse.equinox.p2.iu; org.eclipse.emf.source.feature.group
> [2.27.0.v20210816-1137,2.27.0.v20210816-1137]
>   Cannot satisfy dependency:
>     From: EMF - Eclipse Modeling Framework Runtime and Tools Developer
> Resources 2.27.0.v20210816-1137 (org.eclipse.emf.source.feature.group
> 2.27.0.v20210816-1137)
>     To: org.eclipse.equinox.p2.iu;
> org.eclipse.emf.common.source.feature.group
> [2.23.0.v20210618-0700,2.23.0.v20210618-0700]
> 
> 
> since the platform I-builds repo only contains / depends on *parts* of EMF,
> not the whole SDK.
> 
> Is there way around this other than also adding the EMF nightly/milestone
> update site?

The bundles its complaining about above are ones that were already in the SDK feature and the ranges are quite broad such that it should not require updating anything to the newer versions of EMF in the platform repository...

    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.common.source.feature.group' range='[2.7.0,3.0.0)'/>
    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.ecore.source.feature.group' range='[2.7.0,3.0.0)'/>
    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.edit.source.feature.group' range='[2.16.0,3.0.0)'/>
    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.databinding.source.feature.group' range='[1.7.0,2.0.0)'/>
    <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.databinding.edit.source.feature.group' range='[1.8.0,2.0.0)'/>

What's not clear from the above 'explanation' from p2 is what requires the two different versions?
Comment 55 Ed Merks CLA 2021-09-27 05:50:36 EDT
Sebastian, could you describe steps to reproduce such a problem.  I.e., what product is installed? Did you only additionally install the EMF SDK?  And then, to produce the error, what did you try to install?
Comment 56 Sebastian Ratz CLA 2021-09-27 05:53:08 EDT
The simrel repo contains everything:
org.eclipse.emf.sdk
- org.eclipse.emf
  - org.eclipse.emf.common
  - org.eclipse.emf.databinding
  ...
- org.eclipse.emf.source
  - org.eclipse.emf.common.source
  - org.eclipse.emf.databinding.source
  ...

The eclipse Platform (I-build) repo only parts:
  - org.eclipse.emf.common
  - org.eclipse.emf.databinding
  - org.eclipse.emf.common.source
  - org.eclipse.emf.databinding.source

org.eclipse.emf.sdk is installed from the last stable simrel repo.

Now, with the I-Build repo in addition, these 4 features exist in newer versions, but they cannot be updated.

The version ranges for the SDK / source features are exact matches:

https://download.eclipse.org/releases/2021-09/202109151000/content.jar


    <unit id='org.eclipse.emf.sdk.feature.group' version='2.27.0.v20210816-1137' singleton='false'>
      ...
        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.feature.group' range='[2.27.0.v20210816-1137,2.27.0.v20210816-1137]'/>
        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.source.feature.group' range='[2.27.0.v20210816-1137,2.27.0.v20210816-1137]'/>
        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.doc.feature.group' range='[2.25.0.v20210405-0703,2.25.0.v20210405-0703]'/>
        <required namespace='org.eclipse.equinox.p2.iu' name='org.eclipse.emf.example.installer' range='[1.10.0.v20200518-1440,1.10.0.v20200518-1440]'/>
      ...
    </unit>
Comment 57 Ed Merks CLA 2021-09-27 06:36:25 EDT
(In reply to Sebastian Ratz from comment #56)
> The simrel repo contains everything:
> org.eclipse.emf.sdk
> - org.eclipse.emf
>   - org.eclipse.emf.common
>   - org.eclipse.emf.databinding
>   ...
> - org.eclipse.emf.source
>   - org.eclipse.emf.common.source
>   - org.eclipse.emf.databinding.source
>   ...
> 

Yes, EMF's SDK has always been this way.


> The eclipse Platform (I-build) repo only parts:
>   - org.eclipse.emf.common
>   - org.eclipse.emf.databinding
>   - org.eclipse.emf.common.source
>   - org.eclipse.emf.databinding.source
> 

Yes, that's always been the case, there are just a few more now than before

> org.eclipse.emf.sdk is installed from the last stable simrel repo.
> 
> Now, with the I-Build repo in addition, these 4 features exist in newer
> versions, but they cannot be updated.
> 

So it was a check for updates operation that failed?

> The version ranges for the SDK / source features are exact matches:
> 
> https://download.eclipse.org/releases/2021-09/202109151000/content.jar
> 
> 
>     <unit id='org.eclipse.emf.sdk.feature.group'
> version='2.27.0.v20210816-1137' singleton='false'>
>       ...
>         <required namespace='org.eclipse.equinox.p2.iu'
> name='org.eclipse.emf.feature.group'
> range='[2.27.0.v20210816-1137,2.27.0.v20210816-1137]'/>
>         <required namespace='org.eclipse.equinox.p2.iu'
> name='org.eclipse.emf.source.feature.group'
> range='[2.27.0.v20210816-1137,2.27.0.v20210816-1137]'/>
>         <required namespace='org.eclipse.equinox.p2.iu'
> name='org.eclipse.emf.doc.feature.group'
> range='[2.25.0.v20210405-0703,2.25.0.v20210405-0703]'/>
>         <required namespace='org.eclipse.equinox.p2.iu'
> name='org.eclipse.emf.example.installer'
> range='[1.10.0.v20200518-1440,1.10.0.v20200518-1440]'/>
>       ...
>     </unit>

Yes, EMF's SDK *includes* exactly all the features in the EMF repository.  You can only update it from a repository containing all the features it includes.

But this also has always been the case so I don't think there is a new problem here though, is there?
Comment 58 Sebastian Ratz CLA 2021-09-27 07:05:42 EDT
I've never seen this issue during previous update checks, before the source features were added to Platform's target definition.

But what's happening now looks correct and consistent.


I have now added update site

https://download.eclipse.org/modeling/emf/emf/builds/nightly/latest/

to my dev IDE and also to our I-build integration test jobs.

Everything works well again.
Comment 59 Vikas Chandra CLA 2021-09-28 02:58:01 EDT
Can this bug be marked as resolved?
Comment 60 Ed Merks CLA 2021-09-28 03:12:44 EDT
(In reply to Vikas Chandra from comment #59)
> Can this bug be marked as resolved?

In comment https://bugs.eclipse.org/bugs/show_bug.cgi?id=498252#c52 it suggest there will be more activities...
Comment 61 Lars Vogel CLA 2021-09-28 03:29:36 EDT
I will create new bugs for next spies. This one has already lots of commits.

Thanks, Ed for the help.
Comment 62 Eclipse Genie CLA 2021-09-30 11:27:40 EDT
New Gerrit change created: https://git.eclipse.org/r/c/www.eclipse.org/eclipse/news/+/185997