| Summary: | [metadata] support mutually exclusive connectors | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Igor Burilo <igor.burilo> |
| Component: | p2 | Assignee: | Pascal Rapicault <pascal> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | P3 | CC: | pascal, thomas |
| Version: | unspecified | ||
| Target Milestone: | 3.6 M7 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
|
Description
Igor Burilo
Moving this to P2 where we'll be tracking changes to discovery now. I knew this was coming :) In this release, through the revamping of IRequiredCapability in IRequirement, it should not be possible to write an expression to capture this. Note though that this new metadata would only work for 3.6 and up. Assigning to Thomas for addition of a test case in the planner bucket. Igor, note that at this point we still have to work on our persistence story and this may not be ready for M6. The persistence support is now in, so you should be able to make use of this. However note that this will only work on 3.6 and up. Here is an example out of a test: String orExpression = "providedCapabilities.exists(pc | pc.namespace == 'org.eclipse.equinox.p2.iu' && (pc.name == 'org.eclipse.mylyn34' || pc.name == 'org.eclipse.mylyn35'))"; IExpression expr = ExpressionUtil.parse(orExpression); IMatchExpression matchExpression = ExpressionUtil.getFactory().matchExpression(expr); IRequirement orRequirement = MetadataFactory.createRequirement(matchExpression, null, 0, 1, true); I'm still leaving this open to do further testing. |