Community
Participate
Working Groups
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.
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
(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/
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
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