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

Bug 331382

Summary: [releng] RAP continuously breaks simultaneous build
Product: [RT] RAP Reporter: Ralf Sternberg <rsternberg>
Component: RelengAssignee: Project Inbox <rap-inbox>
Status: ASSIGNED --- QA Contact:
Severity: normal    
Priority: P3 CC: david_williams, gunnar, Kenn.Hussey, michal.ruza
Version: 1.4   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 338528    
Bug Blocks:    

Description Ralf Sternberg CLA 2010-11-29 18:23:17 EST
Every time Indigo starts a new milestone or release candidate build, the RAP contribution breaks it.

Reason: The RAP target components contain copies of certain equinox, core, jetty etc. bundles taken from the current platform. At +0 time, the platform version n+1 is build together with RAP version n which causes conflicting dependencies on different versions of the same bundles.

Here's an example of the errors occuring:

-----
Software being installed: all.contributed.content.feature.group 1.0.0

Only one of the following can be installed at once: [org.eclipse.equinox.registry 3.5.100.v20101018, org.eclipse.equinox.registry 3.5.0.v20100503]

Cannot satisfy dependency: all.contributed.content.feature.group 1.0.0 depends on: org.eclipse.rap.runtime.sdk.feature.group 1.4.0.20100928-1646

Cannot satisfy dependency: all.contributed.content.feature.group 1.0.0 depends on: org.eclipse.sdk.ide 3.7.0.I20101028-1441

Cannot satisfy dependency: org.eclipse.platform.feature.group 3.7.0.v20100923-9fF7JHAiFsAuq4Goz-NCfThFOyVEwz0z0Pmu4 depends on: org.eclipse.rcp.feature.group [3.7.0.v20101022-9TBTFsGFwgqdN7ZkIU1WURQ]

Cannot satisfy dependency: org.eclipse.rap.runtime.sdk.feature.group 1.4.0.20100928-1646 depends on: org.eclipse.equinox.registry [3.5.0.v20100503]

Cannot satisfy dependency: org.eclipse.rcp.feature.group 3.7.0.v20101022-9TBTFsGFwgqdN7ZkIU1WURQ depends on: org.eclipse.equinox.registry [3.5.100.v20101018]

Cannot satisfy dependency: org.eclipse.sdk.feature.group 3.7.0.v20100629-7Q7t-DPX2naDL1jfutmm2idmoY-eH81sz-yIoQxy-Yeup depends on: org.eclipse.platform.feature.group [3.7.0.v20100923-9fF7JHAiFsAuq4Goz-NCfThFOyVEwz0z0Pmu4]

Cannot satisfy dependency: org.eclipse.sdk.ide 3.7.0.I20101028-1441 depends on: org.eclipse.sdk.feature.group [3.7.0.v20100629-7Q7t-DPX2naDL1jfutmm2idmoY-eH81sz-yIoQxy-Yeup]

Check the log file for more information: https://hudson.eclipse.org/hudson/view/Repository%20Aggregation/job/indigo.runAggregator/83/console
Comment 1 Ralf Sternberg CLA 2010-11-29 18:27:53 EST
Temporarily disabled the RAP contribution to prevent these errors for M4.
The RAP contribution can be disabled by adding the attibute enabled="false" to the root element <aggregator> of the rap.b3aggrcon file.
Comment 2 David Williams CLA 2010-11-29 19:22:46 EST
And ... without RAP, a feature in emf contribution needs to be disabled. 

That's in emf-emf.b3aggrcon, feature is 
org.eclipse.emf.rap.sdk.feature.group

Ideally, this project-to-project work would be done between you two projects, and leave me out of it :) ... but, I've disabled it this time. 

Remember to re-enable it and coordinate with EMF team.
Comment 3 Ralf Sternberg CLA 2010-12-10 05:09:21 EST
The problem is that the RAP feature *includes* copies of platform bundles instead of *depending* on them. Adding dependencies to the required platform bundles would solve the problem.
Unfortunately, we cannot use dependencies because of the fake dependency hack (A.PDE.Target.Platform, see bug 276000) that prevents installing a target component with dependencies.
Comment 4 Gunnar Wagenknecht CLA 2011-03-12 08:27:35 EST
FWIW, we face the same problem but with a different dimension. Technically, we are +4 but there is none. We "include" Equinox, Jetty and RAP. However, for "target components" I don't really see an alternative. If you just "require" instead of "include" not all dependencies get fetched into a target platform.
Comment 5 Ralf Sternberg CLA 2011-03-16 20:14:51 EDT
(In reply to comment #4)
> FWIW, we face the same problem but with a different dimension. Technically, we
> are +4 but there is none. We "include" Equinox, Jetty and RAP. However, for
> "target components" I don't really see an alternative. If you just "require"
> instead of "include" not all dependencies get fetched into a target platform.
Why wouldn't they? I'd expect that they do, given that the famous "Include required dependencies" checkbox is selected (which is the default). I've seen that Riena also require their dependencies instead of including them.
Comment 6 Gunnar Wagenknecht CLA 2011-03-17 03:35:03 EDT
(In reply to comment #5)
> Why wouldn't they? I'd expect that they do, given that the famous "Include
> required dependencies" checkbox is selected (which is the default). I've seen
> that Riena also require their dependencies instead of including them.

So this works if you check the box. However, it doesn't work if you uncheck the box. The box has to be unchecked if you are building products for multiple platforms. Otherwise you won't get all the necessary fragments. But I'm really not sure why such a limitation exists (opened bug 340276 to discuss this).