[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tycho-dev] Help investigate target platform repository problems
- From: Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx>
- Date: Mon, 11 May 2015 08:56:54 +0200
- Delivered-to: firstname.lastname@example.org
- User-agent: Unison/2.1.10
In https://git.eclipse.org/r/45492 I created a test for reproducing the
p2 mirroring issues during a p2 repository build. I've added some
notes/finding to: https://bugs.eclipse.org/371983:
The culprit seems to be within the "targetPlatformRepository".
When the p2 mirror application is invoked, only the category IU is
specified as source IU. The category IU correctly defines all three
bundles as requirements.
If an IU is included directly in the category via its identifier it's
also listed in targetPlatformRepository/content.xml. However, if it's
only included via query, it's not listed in
targetPlatformRepository/category.xml. Therefore, the mirror
application slicers fails to expand the category requirements.
When the p2 dependencies metadata for the category is created, the
following is generated:
- RequiredCapability(prr.example.bundle 0.0.0)
matchExpression: providedCapabilities.exists(x | x.name == $0 &&
x.namespace == $1)
- RequiredCapability(id ~= /prr.example.*/)
matchExpression: id ~= /prr.example.*/
Then, later one when the target platform is built, the p2 Projector
comes back with a solution that only includes prr.example.bundle but
non of the other bundles.
That doesn't seem right.
- The bundles are correctly discovered and added to the category.
- Mirroring fails because they are not visible in the target platform.
It looks like the query (matchExpression) is not matching and this the
content is not added to the target platform. Any where I can look to
influence the matching of the target platform repository?
It's weird that the query fails for the target platform repository but
works when creating the category IU.