Merge branch 'master' of ssh://git.eclipse.org/gitroot/equinox/rt.equinox.p2 into bug350088
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
index f2b0120..9e71269 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
@@ -566,12 +566,17 @@
return VersionRange.emptyRange;
if (!entry.isRequires())
return new VersionRange(version, true, version, true);
- if (match == null)
+ if (match == null) {
+ if (entry.isPatch()) {
+ org.osgi.framework.Version osgiVersion = PublisherHelper.toOSGiVersion(version);
+ Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0);
+ return new VersionRange(version, true, upper, false);
+ }
// TODO should really be returning VersionRange.emptyRange here...
return null;
+ }
if (match.equals("perfect")) //$NON-NLS-1$
return new VersionRange(version, true, version, true);
-
org.osgi.framework.Version osgiVersion = PublisherHelper.toOSGiVersion(version);
if (match.equals("equivalent")) { //$NON-NLS-1$
Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0);