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

Bug 369676

Summary: Ensure that dependency-only metadata does not 'leak' into packaged eclipse repositories
Product: z_Archived Reporter: Igor Fedorenko <igor>
Component: TychoAssignee: Tobias Oberlies <t-oberlies>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: cvgaviao, gunnar, mn, sbouchet, t-oberlies
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 412416    
Bug Blocks: 398250, 402420    

Description Igor Fedorenko CLA 2012-01-25 10:30:37 EST
This is a follow-up for bug 364134. If for whatever reason reactor build order is wrong, packaged eclipse-repository may contain dependency-only p2 metadata from other reactor projects. We need to introduce safeguards to guarantee this does not happen.
Comment 1 Tobias Oberlies CLA 2012-02-24 11:20:09 EST
From what I can see, the leakage can also happen despite correct module build order: While working on eclipse-product (which will require the possibility of referencing product definitions across modules), I was surprised to see that the cross-reference already works - but apparently only due to this bug [1].

This is not good. I will try to address this problem through a "physical" separation between dependency-only and real metadata:
- Separate the publishing code for real & dependency-only metadata: Move all real metadata publishing from the P2Generator to the PublisherService
- Compute the "external" target platform separately, and only use that plus the real metadata publishing result for eclipse-repository.

[1] https://github.com/oberlies/tycho/commits/bug369676_demonstrate_leakage
Comment 2 Tobias Oberlies CLA 2012-06-27 07:34:09 EDT
(In reply to comment #1)
> From what I can see, the leakage can also happen despite correct module build
> order
The practical problem will be fixed with this change [1]. Note that the use case in which it occurred - references between eclipse-repository modules - was not officially supported yet (which doesn't mean that I haven't seen it used). The official support for the use case will come with bug 348586.

[1] https://git.eclipse.org/r/#/c/6494/
Comment 3 Tobias Oberlies CLA 2012-06-29 03:02:38 EDT
With commit a8932a8 [1] there are no more known cases where dependency-only metadata leaks into the build result.

[1] http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=a8932a8a90404b715a375a174f5609709d7c6fcf
Comment 4 Tobias Oberlies CLA 2014-03-26 12:44:39 EDT
There is now a separate target platform object with only final metadata from reactor projects [1], so this problem can no longer occur. The last known instance of this problem was bug 398250.

[1] http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=dd1e6a7c97962a646816dc0e4eb591e2264d3734