Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2009-11-25 19:35:26 +0000
committerPascal Rapicault2009-11-25 19:35:26 +0000
commit12757e8dbd8e03294cf41d2212a566de33eb696c (patch)
treecbd39f7295dbc63e1f982ea433d62b0bb5431da7
parentf3b7029b69dbba05c8764c2d48803906aecc9762 (diff)
downloadrt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.tar.gz
rt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.tar.xz
rt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.zip
Release version changesR3_6_api_cleanup_v20091125
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java40
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java32
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java59
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java37
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java12
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java69
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java63
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java20
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch9
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java13
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java32
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java52
36 files changed, 274 insertions, 264 deletions
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
index 33a674532..2e11799a0 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/VersionlessArtifactKey.java
@@ -11,10 +11,9 @@
*******************************************************************************/
package org.eclipse.equinox.internal.p2.artifact.optimizers;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
-
import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey;
+import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
public class VersionlessArtifactKey extends ArtifactKey {
diff --git a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
index d25f3e713..83afcb79a 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
+++ b/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java
@@ -115,8 +115,6 @@ public class MetadataGeneratorHelper {
//TODO - need to come up with a way to infer launcher version
private static final Version LAUNCHER_VERSION = Version.createOSGi(1, 0, 0);
- private static final Version versionMax = Version.OSGi_MAX;
-
public static final ITouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", Version.createOSGi(1, 0, 0)); //$NON-NLS-1$
@@ -215,7 +213,7 @@ public class MetadataGeneratorHelper {
//Indicate the IU to which this CU apply
cu.setHost(new IRequiredCapability[] { //
- MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, iuId, new VersionRange(iuVersion, true, versionMax, true), null, false, false, true), //
+ MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, iuId, new VersionRange(iuVersion, true, Version.MAX_VERSION, true), null, false, false, true), //
MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), false), null, false, false, false)});
//Adds capabilities for fragment, self, and describing the flavor supported
@@ -249,7 +247,7 @@ public class MetadataGeneratorHelper {
if (!base.equals(org.osgi.framework.Version.emptyVersion)) {
updateRange = new VersionRange(Version.emptyVersion, true, Version.fromOSGiVersion(base), false);
} else {
- updateRange = new VersionRange("0.0.0"); //$NON-NLS-1$
+ updateRange = VersionRange.emptyRange;
}
return updateRange;
}
@@ -939,7 +937,7 @@ public class MetadataGeneratorHelper {
String configId = "config." + id;//$NON-NLS-1$
cu.setId(configId);
cu.setVersion(version);
- cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, versionMax, true), null, false, false)});
+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, Version.MAX_VERSION, true), null, false, false)});
cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configId, version)});
cu.setTouchpointType(TOUCHPOINT_NATIVE);
@@ -1006,7 +1004,7 @@ public class MetadataGeneratorHelper {
String configUnitId = configurationFlavor + launcherId;
cu.setId(configUnitId);
cu.setVersion(LAUNCHER_VERSION);
- cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, versionMax, true), null, false, false)});
+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, Version.MAX_VERSION, true), null, false, false)});
cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, LAUNCHER_VERSION)});
cu.setTouchpointType(TOUCHPOINT_NATIVE);
@@ -1198,14 +1196,16 @@ public class MetadataGeneratorHelper {
if (!entry.isRequires())
return new VersionRange(version, true, version, true);
String match = entry.getMatch();
+
+ org.osgi.framework.Version osgiVersion = Version.toOSGiVersion(version);
if (match == null || match.equals("compatible")) { //$NON-NLS-1$
- Version upper = Version.createOSGi(version.getMajor() + 1, 0, 0);
+ Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0);
return new VersionRange(version, true, upper, false);
}
if (match.equals("perfect")) //$NON-NLS-1$
return new VersionRange(version, true, version, true);
if (match.equals("equivalent")) { //$NON-NLS-1$
- Version upper = Version.createOSGi(version.getMajor(), version.getMinor() + 1, 0);
+ Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0);
return new VersionRange(version, true, upper, false);
}
if (match.equals("greaterOrEqual")) //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
index 087fc9c2f..13c104f2c 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
+++ b/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/mirror/VersionRangedName.java
@@ -48,6 +48,6 @@ public class VersionRangedName {
}
public String toString() {
- return id + "/" + (range == null ? "0.0.0" : range.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ return id + "/" + (range == null ? VersionRange.emptyRange.toString() : range.toString()); //$NON-NLS-1$
}
}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
index 6c68b90a6..12d20d482 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/BasicVersion.java
@@ -20,6 +20,46 @@ public abstract class BasicVersion extends Version {
private static final long serialVersionUID = -2983093417537485027L;
/**
+ * Returns the OSGi major component of this version identifier.
+ *
+ * @return The major component.
+ * @throws UnsupportedOperationException if the first element in the
+ * vector is not a number.
+ * @see #isOSGiCompatible()
+ */
+ public abstract int getMajor();
+
+ /**
+ * Returns the OSGi micro component of this version identifier.
+ *
+ * @return The micro component.
+ * @throws UnsupportedOperationException if the third element in the
+ * vector is not a number.
+ * @see #isOSGiCompatible()
+ */
+ public abstract int getMicro();
+
+ /**
+ * Returns the OSGi minor component of this version identifier.
+ *
+ * @return The minor component.
+ * @throws UnsupportedOperationException if the second element in the
+ * vector is not a number.
+ * @see #isOSGiCompatible()
+ */
+ public abstract int getMinor();
+
+ /**
+ * Returns the OSGi qualifier component of this version identifier.
+ *
+ * @return The qualifier component or <code>null</code> if not set.
+ * @throws UnsupportedOperationException if the fourth element in the
+ * vector is set to something other then a string.
+ * @see #isOSGiCompatible()
+ */
+ public abstract String getQualifier();
+
+ /**
* Appends the original for this version onto the <code>sb</code> StringBuffer
* if present.
* @param sb The buffer that will receive the raw string format
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
index 45f168bc0..7fb8b2954 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
@@ -42,7 +42,7 @@ public class InstallableUnit implements IInstallableUnit {
private ITouchpointType touchpointType;
- private Version version;
+ private Version version = Version.emptyVersion;
private IUpdateDescriptor updateInfo;
private ILicense[] licenses = NO_LICENSE;
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
index 30a27a858..3369d8621 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OSGiVersion.java
@@ -11,7 +11,6 @@
package org.eclipse.equinox.internal.p2.metadata;
import org.eclipse.equinox.internal.provisional.p2.metadata.IVersionFormat;
-import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
import org.eclipse.osgi.util.NLS;
/**
@@ -19,6 +18,7 @@ import org.eclipse.osgi.util.NLS;
* @noextend This class is not intended to be subclassed by clients.
*/
public class OSGiVersion extends BasicVersion {
+
private static final long serialVersionUID = -4530178927569560877L;
private static final boolean[] allowedOSGiChars;
@@ -61,13 +61,21 @@ public class OSGiVersion extends BasicVersion {
return true;
}
- OSGiVersion(Comparable[] vector) {
- if (vector.length != 4)
+ static BasicVersion fromVector(Comparable[] vector, Comparable pad) {
+ if (vector.length != 4) {
+ if (vector.length == 0) {
+ if (pad == null)
+ return (BasicVersion) emptyVersion;
+ if (pad == VersionVector.MAX_VALUE)
+ return (BasicVersion) MAX_VERSION;
+ }
throw new IllegalArgumentException();
- this.major = ((Integer) vector[0]).intValue();
- this.minor = ((Integer) vector[1]).intValue();
- this.micro = ((Integer) vector[2]).intValue();
- this.qualifier = vector[3];
+ }
+ int major = ((Integer) vector[0]).intValue();
+ int minor = ((Integer) vector[1]).intValue();
+ int micro = ((Integer) vector[2]).intValue();
+ Comparable qualifier = vector[3];
+ return (major == 0 && minor == 0 && micro == 0 && qualifier == VersionVector.MINS_VALUE) ? (BasicVersion) emptyVersion : new OSGiVersion(major, minor, micro, qualifier);
}
public OSGiVersion(int major, int minor, int micro, Comparable qualifier) {
@@ -175,16 +183,6 @@ public class OSGiVersion extends BasicVersion {
}
}
- // Preserve singletons during deserialization
- private Object readResolve() {
- Version v = this;
- if (equals(OSGi_MIN))
- v = OSGi_MIN;
- else if (equals(OSGi_MAX))
- v = OSGi_MAX;
- return v;
- }
-
public Comparable[] getVector() {
return new Comparable[] {VersionParser.valueOf(major), VersionParser.valueOf(minor), VersionParser.valueOf(micro), qualifier};
}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
index 1e7bd2372..2723c9be3 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/OmniVersion.java
@@ -31,6 +31,10 @@ import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
public class OmniVersion extends BasicVersion {
private static final long serialVersionUID = 1996212688810048879L;
+ private static OmniVersion minimumVersion;
+
+ private static OmniVersion maximumVersion;
+
private final Comparable[] vector;
private final Comparable padValue;
@@ -45,7 +49,32 @@ public class OmniVersion extends BasicVersion {
*/
private final String original;
- public OmniVersion(Comparable[] array, Comparable padValue, IVersionFormat format, String original) {
+ static BasicVersion fromVector(Comparable[] vector, Comparable padValue, IVersionFormat format, String original) {
+ if (vector.length == 0) {
+ if (padValue == null)
+ return (BasicVersion) emptyVersion;
+ if (padValue == VersionVector.MAX_VALUE)
+ return (BasicVersion) MAX_VERSION;
+ }
+ if (vector.length == 3 && padValue == null && vector[0] == VersionParser.ZERO_INT && vector[1] == VersionParser.ZERO_INT && vector[2] == VersionParser.ZERO_INT)
+ return (BasicVersion) emptyVersion;
+
+ return new OmniVersion(vector, padValue, format, original);
+ }
+
+ public static Version createMinVersion() {
+ if (minimumVersion == null)
+ minimumVersion = new OmniVersion(new Comparable[0], null, null, null);
+ return minimumVersion;
+ }
+
+ public static Version createMaxVersion() {
+ if (maximumVersion == null)
+ maximumVersion = new OmniVersion(new Comparable[0], VersionVector.MAX_VALUE, null, null);
+ return maximumVersion;
+ }
+
+ private OmniVersion(Comparable[] array, Comparable padValue, IVersionFormat format, String original) {
this.vector = array;
this.padValue = padValue;
this.format = format;
@@ -108,7 +137,7 @@ public class OmniVersion extends BasicVersion {
*/
public boolean isOSGiCompatible() {
if (vector.length < 3 || vector.length > 4)
- return false;
+ return (this == emptyVersion || this == MAX_VERSION);
if (getPad() != null)
return false;
@@ -162,15 +191,19 @@ public class OmniVersion extends BasicVersion {
* @param sb The buffer that will receive the version string
*/
public void toString(StringBuffer sb) {
- sb.append(RAW_PREFIX);
- VersionVector.toString(sb, vector, padValue, false);
- if (format != null || original != null) {
- sb.append('/');
- if (format != null)
- format.toString(sb);
- if (original != null) {
- sb.append(':');
- originalToString(sb, false);
+ if (this == emptyVersion)
+ sb.append("0.0.0"); //$NON-NLS-1$
+ else {
+ sb.append(RAW_PREFIX);
+ VersionVector.toString(sb, vector, padValue, false);
+ if (format != null || original != null) {
+ sb.append('/');
+ if (format != null)
+ format.toString(sb);
+ if (original != null) {
+ sb.append(':');
+ originalToString(sb, false);
+ }
}
}
}
@@ -186,8 +219,8 @@ public class OmniVersion extends BasicVersion {
Version v = this;
if (equals(MAX_VERSION))
v = MAX_VERSION;
- else if (equals(MIN_VERSION))
- v = MIN_VERSION;
+ else if (equals(emptyVersion))
+ v = emptyVersion;
return v;
}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
index 5cdb2e1fb..50faa7a1c 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionFormat.java
@@ -26,6 +26,17 @@ import org.eclipse.osgi.util.NLS;
* @noextend This class is not intended to be subclassed by clients.
*/
public class VersionFormat implements IVersionFormat, Serializable {
+
+ /**
+ * The string representation of the Omni Version format used for parsing OSGi versions.
+ */
+ public static final String OSGI_FORMAT_STRING = "n[.n=0;[.n=0;[.S='';=[A-Za-z0-9_-];]]]"; //$NON-NLS-1$
+
+ /**
+ * The string representation of the Omni Version format used for parsing raw versions.
+ */
+ public static final String RAW_FORMAT_STRING = "r(.r)*p?"; //$NON-NLS-1$
+
private static final long serialVersionUID = -5689435955091405520L;
static class TreeInfo extends ArrayList {
@@ -174,17 +185,7 @@ public class VersionFormat implements IVersionFormat, Serializable {
Comparable[] padReturn = new Comparable[1];
Comparable[] vector = RAW_FORMAT.parse(version, 0, version.length(), padReturn);
Comparable pad = padReturn[0];
- if (vector.length == 0) {
- if (pad == null)
- return (BasicVersion) Version.MIN_VERSION;
- if (pad == VersionVector.MAX_VALUE)
- return (BasicVersion) Version.MAX_VERSION;
- }
-
- if (originalFormat == OSGI_FORMAT)
- return new OSGiVersion(vector);
-
- return new OmniVersion(vector, pad, originalFormat, original);
+ return (originalFormat == OSGI_FORMAT) ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, originalFormat, original);
}
static void rawToString(StringBuffer sb, boolean forRange, Comparable e) {
@@ -264,17 +265,7 @@ public class VersionFormat implements IVersionFormat, Serializable {
Comparable[] padReturn = new Comparable[1];
Comparable[] vector = parse(version, 0, version.length(), padReturn);
Comparable pad = padReturn[0];
- if (vector.length == 0) {
- if (pad == null)
- return Version.MIN_VERSION;
- if (pad == VersionVector.MAX_VALUE)
- return Version.MAX_VERSION;
- }
-
- if (this == OSGI_FORMAT)
- return new OSGiVersion(vector);
-
- return new OmniVersion(vector, pad, this, version);
+ return (this == OSGI_FORMAT) ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, this, version);
}
Comparable[] parse(String version, int start, int maxPos, Comparable[] padReturn) {
@@ -344,7 +335,7 @@ class RawFormat extends VersionFormat {
public Version parse(String version, int start, int maxPos) {
Comparable[] padReturn = new Comparable[1];
Comparable[] vector = parse(version, start, maxPos, padReturn);
- return new OmniVersion(vector, padReturn[0], null, null);
+ return OmniVersion.fromVector(vector, padReturn[0], null, null);
}
// Preserve singleton when deserialized
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
index 4dca9d224..412c2bfa0 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/VersionParser.java
@@ -89,8 +89,10 @@ public abstract class VersionParser {
Comparable pad = null;
VersionFormat fmt = null;
char c = version.charAt(pos);
- if (isDigit(c))
- return new OSGiVersion(VersionFormat.OSGI_FORMAT.parse(version, pos, maxPos, padReturn));
+ if (isDigit(c)) {
+ vector = VersionFormat.OSGI_FORMAT.parse(version, pos, maxPos, padReturn);
+ return OSGiVersion.fromVector(vector, padReturn[0]);
+ }
if (!isLetter(c))
throw new IllegalArgumentException();
@@ -133,7 +135,7 @@ public abstract class VersionParser {
if (pos == maxPos)
// This was a pure raw version
//
- return new OmniVersion(vector, pad, null, null);
+ return OmniVersion.fromVector(vector, pad, null, null);
if (version.charAt(pos) != '/')
throw new IllegalArgumentException(NLS.bind(Messages.expected_slash_after_raw_vector_0, version.substring(start, maxPos)));
@@ -161,7 +163,7 @@ public abstract class VersionParser {
//
if (vector == null)
throw new IllegalArgumentException(NLS.bind(Messages.only_format_specified_0, version.substring(start, maxPos)));
- return fmt == VersionFormat.OSGI_FORMAT ? (Version) new OSGiVersion(vector) : (Version) new OmniVersion(vector, pad, fmt, null);
+ return fmt == VersionFormat.OSGI_FORMAT ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, fmt, null);
}
}
@@ -181,7 +183,7 @@ public abstract class VersionParser {
vector = fmt.parse(version, pos, maxPos, padReturn);
pad = padReturn[0];
}
- return fmt == VersionFormat.OSGI_FORMAT ? (Version) new OSGiVersion(vector) : (Version) new OmniVersion(vector, pad, fmt, version.substring(pos));
+ return fmt == VersionFormat.OSGI_FORMAT ? OSGiVersion.fromVector(vector, pad) : OmniVersion.fromVector(vector, pad, fmt, version.substring(pos));
}
static boolean isDigit(char c) {
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
index f003b91d9..1956b2c93 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java
@@ -10,7 +10,6 @@
package org.eclipse.equinox.internal.provisional.p2.metadata;
-
/**
* Identifies a particular touchpoint. A touchpoint is identified by an id
* and a version.
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
index 7f968aaf0..cd6e91aca 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IVersionFormat.java
@@ -19,16 +19,6 @@ package org.eclipse.equinox.internal.provisional.p2.metadata;
public interface IVersionFormat {
/**
- * The string representation of the Omni Version format used for parsing OSGi versions.
- */
- static final String OSGI_FORMAT_STRING = "n[.n=0;[.n=0;[.S='';=[A-Za-z0-9_-];]]]"; //$NON-NLS-1$
-
- /**
- * The string representation of the Omni Version format used for parsing raw versions.
- */
- static final String RAW_FORMAT_STRING = "r(.r)*p?"; //$NON-NLS-1$
-
- /**
* The string that by default will be interpreted as the logical max string when parsing
* optional elements of type string and a default that is the empty string (i.e. OSGi)
*/
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
index f50d4a49c..ea50dc4e2 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Version.java
@@ -37,26 +37,17 @@ import org.eclipse.equinox.internal.p2.metadata.*;
* to test.
*/
public abstract class Version implements Comparable, Serializable {
- /**
- * The empty OSGi version "0.0.0". Equivalent to calling
- * <code>Version.createOSGi(0,0,0)</code>.
- */
- public static final Version OSGi_MIN = new OSGiVersion(0, 0, 0, VersionVector.MINS_VALUE);
- public static final Version OSGi_MAX = new OSGiVersion(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, VersionVector.MAXS_VALUE);
-
- public static final Version emptyVersion = OSGi_MIN;
-
public static final String RAW_PREFIX = "raw:"; //$NON-NLS-1$
/**
* The version that is semantically greater then all other versions.
*/
- public static final Version MAX_VERSION = Version.create(RAW_PREFIX + "MpM"); //$NON-NLS-1$
+ public static final Version MAX_VERSION = OmniVersion.createMaxVersion();
/**
* The version that is semantically less then all other versions.
*/
- public static final Version MIN_VERSION = Version.create(RAW_PREFIX + "-M"); //$NON-NLS-1$
+ public static final Version emptyVersion = OmniVersion.createMinVersion();
private static final long serialVersionUID = 6218979149720923857L;
@@ -136,13 +127,13 @@ public abstract class Version implements Comparable, Serializable {
if (version == null)
return null;
if (version.getMajor() == Integer.MAX_VALUE && version.getMicro() == Integer.MAX_VALUE && version.getMicro() == Integer.MAX_VALUE)
- return OSGi_MAX;
+ return MAX_VERSION;
return createOSGi(version.getMajor(), version.getMinor(), version.getMicro(), version.getQualifier());
}
/**
* Parses a version identifier from the specified string. This method is for backward
- * compatibility with OSGi and will return the OSGi {@link #emptyVersion} when
+ * compatibility with OSGi and will return the OSGi &quot;0.0.0&quot; version when
* the provided string is empty or <code>null</code>.
*
* @param version String representation of the version identifier. Leading
@@ -157,9 +148,9 @@ public abstract class Version implements Comparable, Serializable {
*/
public static Version parseVersion(String version) {
if (version == null || version.length() == 0)
- return emptyVersion;
+ return Version.emptyVersion;
Version v = create(version);
- return v == null ? emptyVersion : v;
+ return v == null ? Version.emptyVersion : v;
}
/**
@@ -172,11 +163,13 @@ public abstract class Version implements Comparable, Serializable {
public static org.osgi.framework.Version toOSGiVersion(Version version) {
if (version == null)
return null;
- if (version == OSGi_MIN || version == MIN_VERSION)
+ if (version == emptyVersion)
return org.osgi.framework.Version.emptyVersion;
- if (version == OSGi_MAX || version == MAX_VERSION)
+ if (version == MAX_VERSION)
return new org.osgi.framework.Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
- return new org.osgi.framework.Version(version.getMajor(), version.getMinor(), version.getMicro(), version.getQualifier());
+
+ BasicVersion bv = (BasicVersion) version;
+ return new org.osgi.framework.Version(bv.getMajor(), bv.getMinor(), bv.getMicro(), bv.getQualifier());
}
/**
@@ -185,36 +178,6 @@ public abstract class Version implements Comparable, Serializable {
public abstract IVersionFormat getFormat();
/**
- * Returns the OSGi major component of this version identifier.
- *
- * @return The major component.
- * @throws UnsupportedOperationException if the first element in the
- * vector is not a number.
- * @see #isOSGiCompatible()
- */
- public abstract int getMajor();
-
- /**
- * Returns the OSGi micro component of this version identifier.
- *
- * @return The micro component.
- * @throws UnsupportedOperationException if the third element in the
- * vector is not a number.
- * @see #isOSGiCompatible()
- */
- public abstract int getMicro();
-
- /**
- * Returns the OSGi minor component of this version identifier.
- *
- * @return The minor component.
- * @throws UnsupportedOperationException if the second element in the
- * vector is not a number.
- * @see #isOSGiCompatible()
- */
- public abstract int getMinor();
-
- /**
* Returns the <code>original</code> part of the string for this version
* or <code>null</code> if no such part was provided when the version was
* created. An OSGi type version will always return the OSGi string representation.
@@ -232,16 +195,6 @@ public abstract class Version implements Comparable, Serializable {
public abstract Comparable getPad();
/**
- * Returns the OSGi qualifier component of this version identifier.
- *
- * @return The qualifier component or <code>null</code> if not set.
- * @throws UnsupportedOperationException if the fourth element in the
- * vector is set to something other then a string.
- * @see #isOSGiCompatible()
- */
- public abstract String getQualifier();
-
- /**
* An element from the raw vector representation of this version.
* @param index The zero based index of the desired element
* @return An element from the raw vector
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
index 3f6369c1f..eee28ab91 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/VersionRange.java
@@ -32,7 +32,7 @@ public class VersionRange implements Serializable {
*
* An empty OSGi Version range.
*/
- public static final VersionRange emptyRange = new VersionRange(Version.OSGi_MIN, true, Version.OSGi_MAX, true);
+ public static final VersionRange emptyRange = new VersionRange(Version.emptyVersion, true, Version.MAX_VERSION, true);
private final Version minVersion;
private final boolean includeMin;
@@ -71,26 +71,19 @@ public class VersionRange implements Serializable {
public VersionRange(Version minVersion, boolean includeMin, Version maxVersion, boolean includeMax) {
if (minVersion == null) {
if (maxVersion == null) {
- // For backward compatibility with the OSGi version version range
- minVersion = Version.OSGi_MIN;
- maxVersion = Version.OSGi_MAX;
+ minVersion = Version.emptyVersion;
+ maxVersion = Version.MAX_VERSION;
} else
- minVersion = maxVersion.getFormat() == VersionFormat.OSGI_FORMAT ? Version.OSGi_MIN : Version.MIN_VERSION;
+ minVersion = Version.emptyVersion;
} else {
if (maxVersion == null)
- maxVersion = minVersion.getFormat() == VersionFormat.OSGI_FORMAT ? Version.OSGi_MAX : Version.MAX_VERSION;
+ maxVersion = Version.MAX_VERSION;
else {
if (minVersion != maxVersion && minVersion.equals(maxVersion))
maxVersion = minVersion;
else if (!(minVersion.getFormat() == null ? maxVersion.getFormat() == null : minVersion.getFormat().equals(maxVersion.getFormat()))) {
- // We always allow the MIN and MAX boundaries but if the other end is OSGi, then they too must be OSGi
- if (minVersion.equals(Version.MIN_VERSION)) {
- if (maxVersion.getFormat() == VersionFormat.OSGI_FORMAT)
- minVersion = Version.OSGi_MIN;
- } else if (maxVersion.equals(Version.MAX_VERSION)) {
- if (minVersion.getFormat() == VersionFormat.OSGI_FORMAT)
- maxVersion = Version.OSGi_MAX;
- } else
+ // We always allow the MIN and MAX boundaries
+ if (!(minVersion.equals(Version.emptyVersion) || maxVersion.equals(Version.MAX_VERSION)))
throw new IllegalArgumentException(NLS.bind(Messages.range_boundaries_0_and_1_cannot_have_different_formats, minVersion, maxVersion));
}
}
@@ -117,9 +110,9 @@ public class VersionRange implements Serializable {
}
if (pos >= top) {
- minVersion = Version.OSGi_MIN;
+ minVersion = Version.emptyVersion;
includeMin = true;
- maxVersion = Version.OSGi_MAX;
+ maxVersion = Version.MAX_VERSION;
includeMax = true;
return;
}
@@ -234,27 +227,14 @@ public class VersionRange implements Serializable {
}
}
}
- BasicVersion minV = VersionFormat.parseRaw(minStr, fmt, origMin);
-
- // We might have parsed the Version.MIN_VERSION. If so, replace it. The format is incorrect.
- //
- boolean isOSGi = (fmt == VersionFormat.OSGI_FORMAT);
- boolean isMinMin = (minV.getSegmentCount() == 0 && minV.getPad() == null);
- minVersion = isMinMin ? (isOSGi ? Version.OSGi_MIN : Version.MIN_VERSION) : minV;
-
+ minVersion = VersionFormat.parseRaw(minStr, fmt, origMin);
if (maxStr != null) {
if (maxStr.equals(minStr))
- maxVersion = minV;
- else {
- BasicVersion maxV = VersionFormat.parseRaw(maxStr, fmt, origMax);
-
- // We might have parsed the Version.MAX_VERSION. If so, replace it. The format is incorrect.
- //
- boolean isMaxMax = (maxV.getSegmentCount() == 0 && maxV.getPad() == VersionVector.MAX_VALUE);
- maxVersion = isMaxMax ? (isOSGi ? Version.OSGi_MAX : Version.MAX_VERSION) : maxV;
- }
+ maxVersion = minVersion;
+ else
+ maxVersion = VersionFormat.parseRaw(maxStr, fmt, origMax);
} else
- maxVersion = (fmt == VersionFormat.OSGI_FORMAT ? Version.OSGi_MAX : Version.MAX_VERSION);
+ maxVersion = Version.MAX_VERSION;
} else {
if (fmt == null)
fmt = VersionFormat.OSGI_FORMAT;
@@ -265,7 +245,7 @@ public class VersionRange implements Serializable {
else
maxVersion = fmt.parse(maxStr);
} else {
- maxVersion = (fmt == VersionFormat.OSGI_FORMAT) ? Version.OSGi_MAX : Version.MAX_VERSION;
+ maxVersion = Version.MAX_VERSION;
}
}
validateRange();
@@ -290,7 +270,7 @@ public class VersionRange implements Serializable {
* Returns the version format.
*/
public IVersionFormat getFormat() {
- return minVersion.equals(Version.MIN_VERSION) ? maxVersion.getFormat() : minVersion.getFormat();
+ return minVersion.equals(Version.emptyVersion) ? maxVersion.getFormat() : minVersion.getFormat();
}
/**
@@ -421,9 +401,15 @@ public class VersionRange implements Serializable {
}
public void toString(StringBuffer result) {
+ boolean gtEqual = includeMin && includeMax && Version.MAX_VERSION.equals(maxVersion);
+ if (gtEqual && Version.emptyVersion.equals(minVersion)) {
+ minVersion.toString(result);
+ return;
+ }
+
IVersionFormat fmt = getFormat();
if (fmt == VersionFormat.OSGI_FORMAT) {
- if (includeMin && includeMax && Version.OSGi_MAX.equals(maxVersion)) {
+ if (gtEqual) {
minVersion.toString(result);
} else {
result.append(includeMin ? '[' : '(');
@@ -435,7 +421,6 @@ public class VersionRange implements Serializable {
return;
}
- boolean gtEqual = includeMin && includeMax && Version.MAX_VERSION.equals(maxVersion);
result.append("raw:"); //$NON-NLS-1$
if (gtEqual) {
((BasicVersion) minVersion).rawToString(result, true);
@@ -456,7 +441,7 @@ public class VersionRange implements Serializable {
if (gtEqual) {
((BasicVersion) minVersion).originalToString(result, true);
} else {
- if (Version.MIN_VERSION.equals(minVersion))
+ if (Version.emptyVersion.equals(minVersion))
((BasicVersion) minVersion).rawToString(result, true);
else
((BasicVersion) minVersion).originalToString(result, true);
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
index 883614bad..a0152a1e5 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/InstallableUnitQuery.java
@@ -10,7 +10,6 @@
*******************************************************************************/
package org.eclipse.equinox.internal.provisional.p2.metadata.query;
-
import org.eclipse.equinox.internal.provisional.p2.metadata.*;
/**
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
index b1d8d64c4..fabb34ba6 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java
@@ -73,7 +73,8 @@ public class JREAction extends AbstractPublisherAction {
String configId = "config." + iu.getId();//$NON-NLS-1$
cu.setId(configId);
cu.setVersion(iu.getVersion());
- cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, Version.OSGi_MAX, true), null, false, false)});
+ VersionRange range = iu.getVersion() == Version.emptyVersion ? VersionRange.emptyRange : new VersionRange(iu.getVersion(), true, Version.MAX_VERSION, true);
+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, null, false, false)});
cu.setProperty(InstallableUnitDescription.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString());
cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configId, iu.getVersion())});
cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE);
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
index bbdb2fee4..c2c06337b 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileParser.java
@@ -477,15 +477,19 @@ public class AdviceFileParser {
}
if (version.indexOf(QUALIFIER_SUBSTITUTION) != -1) {
- String qualifier = hostVersion.isOSGiCompatible() ? hostVersion.getQualifier() : null;
- if (qualifier == null)
- qualifier = ""; //$NON-NLS-1$
- if (qualifier.length() == 0) {
- // Note: this works only for OSGi versions and version ranges
- // where the qualifier if present must be at the end of a version string
- version = replace(version, "." + QUALIFIER_SUBSTITUTION, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ try {
+ String qualifier = Version.toOSGiVersion(hostVersion).getQualifier();
+ if (qualifier == null)
+ qualifier = ""; //$NON-NLS-1$
+ if (qualifier.length() == 0) {
+ // Note: this works only for OSGi versions and version ranges
+ // where the qualifier if present must be at the end of a version string
+ version = replace(version, "." + QUALIFIER_SUBSTITUTION, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ version = replace(version, QUALIFIER_SUBSTITUTION, qualifier);
+ } catch (UnsupportedOperationException e) {
+ // Version cannot be converted to OSGi
}
- version = replace(version, QUALIFIER_SUBSTITUTION, qualifier);
}
return version;
}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
index 9fae23423..a0acf40c6 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
@@ -111,8 +111,9 @@ public class BundlesAction extends AbstractPublisherAction {
//Indicate the IU to which this CU apply
Version hostVersion = Version.parseVersion(configInfo.getVersion());
+ VersionRange range = hostVersion == Version.emptyVersion ? VersionRange.emptyRange : new VersionRange(hostVersion, true, Version.MAX_VERSION, true);
cu.setHost(new IRequiredCapability[] { //
- MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, hostId, new VersionRange(hostVersion, true, Version.OSGi_MAX, true), null, false, false, true), //
+ MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, hostId, range, null, false, false, true), //
MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(Version.createOSGi(1, 0, 0), true, Version.createOSGi(2, 0, 0), false), null, false, false, false)});
//Adds capabilities for fragment, self, and describing the flavor supported
@@ -238,7 +239,7 @@ public class BundlesAction extends AbstractPublisherAction {
if (!base.equals(org.osgi.framework.Version.emptyVersion)) {
updateRange = new VersionRange(Version.emptyVersion, true, Version.fromOSGiVersion(base), false);
} else {
- updateRange = new VersionRange("0.0.0"); //$NON-NLS-1$
+ updateRange = VersionRange.emptyRange;
}
return updateRange;
}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
index bde18cf85..562499038 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java
@@ -568,12 +568,14 @@ public class FeaturesAction extends AbstractPublisherAction {
return null;
if (match.equals("perfect")) //$NON-NLS-1$
return new VersionRange(version, true, version, true);
+
+ org.osgi.framework.Version osgiVersion = Version.toOSGiVersion(version);
if (match.equals("equivalent")) { //$NON-NLS-1$
- Version upper = Version.createOSGi(version.getMajor(), version.getMinor() + 1, 0);
+ Version upper = Version.createOSGi(osgiVersion.getMajor(), osgiVersion.getMinor() + 1, 0);
return new VersionRange(version, true, upper, false);
}
if (match.equals("compatible")) { //$NON-NLS-1$
- Version upper = Version.createOSGi(version.getMajor() + 1, 0, 0);
+ Version upper = Version.createOSGi(osgiVersion.getMajor() + 1, 0, 0);
return new VersionRange(version, true, upper, false);
}
if (match.equals("greaterOrEqual")) //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
index 2ac829ec0..26b7abd2c 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/analyzer/VersionAnalyzer.java
@@ -9,11 +9,10 @@
******************************************************************************/
package org.eclipse.equinox.p2.internal.repository.tools.analyzer;
-import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
-
import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository;
+import org.eclipse.equinox.p2.repository.tools.analyzer.IUAnalyzer;
/**
* This service checks that each IU has a proper version number
@@ -28,7 +27,7 @@ public class VersionAnalyzer extends IUAnalyzer {
return;
}
if (iu.getVersion().isOSGiCompatible()) {
- String qualifier = iu.getVersion().getQualifier();
+ String qualifier = Version.toOSGiVersion(iu.getVersion()).getQualifier();
if (qualifier != null && qualifier.equals("qualifier")) {
error(iu, "[ERROR] IU: " + iu.getId() + " has not replaced its qualifiier");
return;
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
index a428bc891..62b3087f0 100644
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
+++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/persistence/XMLParser.java
@@ -682,7 +682,7 @@ public abstract class XMLParser extends DefaultHandler implements XMLConstants {
public VersionRange checkVersionRange(String element, String attribute, String value) {
try {
- if (value != null && !value.equals("0.0.0")) //$NON-NLS-1$
+ if (value != null)
return new VersionRange(value);
} catch (IllegalArgumentException iae) {
invalidAttributeValue(element, attribute, value);
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch b/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
index 424b7b77b..068c2e896 100644
--- a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
+++ b/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="false"/>
@@ -40,7 +40,7 @@
</listAttribute>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.equinox.p2.examples.rcp.sdkui*1.0.0.qualifier,org.eclipse.ui.examples.fieldassist,org.eclipse.pde.ui.tests,test271339,org.eclipse.equinox.p2.tests.optimizers,JobTest,org.eclipse.pde.build.tests,RCPMail,org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,org.eclipse.equinox.p2.examples.rcp.cloud,org.eclipse.equinox.internal.p2.ui.analysis,org.eclipse.equinox.p2.testserver,org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.examples.rcp.sdkui*1.0.0.qualifier,org.eclipse.ui.examples.undo,org.eclipse.ui.tests,org.eclipse.ui.examples.job,org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates,org.eclipse.equinox.http,Snippets,org.eclipse.equinox.p2.examples.rcp.prestartupdate,org.eclipse.equinox.p2.tools,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.wst.server.discovery"/>
+<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.equinox.p2.testserver,org.eclipse.equinox.p2.ui.admin.rcp,org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility,org.eclipse.equinox.p2.examples.rcp.cloud,org.eclipse.equinox.p2.tools,org.eclipse.pde.build.tests,org.eclipse.equinox.p2.tests.optimizers,org.eclipse.equinox.p2.examples.rcp.prestartupdate,org.eclipse.pde.ui.tests,org.eclipse.equinox.http,org.eclipse.equinox.p2.ui.admin"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -53,7 +53,6 @@
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.5.0_11"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.equinox.p2.tests.ui.AutomatedTests"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -consoleLog -noExit"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.equinox.p2.tests.ui"/>
@@ -61,8 +60,8 @@
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.http.registry@default:default,org.objectweb.asm@default:default,org.eclipse.ui.console@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.compare.win32@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.debug.core@default:default,org.eclipse.help@default:default,org.junit@default:default,org.hamcrest.core@default:default,org.sat4j.pb*2.1.1.v20090825@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.help.appserver@default:default,org.eclipse.pde.ui@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.ide.application@default:default,com.jcraft.jsch@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.equinox.security@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.jdt.junit.core@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.update.ui@default:default,org.apache.commons.httpclient@default:default,org.eclipse.ui.cheatsheets@default:default,org.apache.ant@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.pde.launching@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.compare@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.search@default:default,org.eclipse.pde.core@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.platform@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.ui.win32@default:false,org.eclipse.equinox.app@default:default,org.eclipse.team.cvs.ui@default:default,org.sat4j.core*2.1.1.v20090825@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.rcp@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.net@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.update.core@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.ui@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.jdt@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.jface@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jsch.core@default:default,org.mortbay.jetty.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.jdt.doc.user@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.releng.tools@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.ui.browser@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.osgi.services@default:default,org.apache.jasper@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.swt.win32.win32.x86@default:false,javax.servlet.jsp@default:default,org.eclipse.team.core@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.core.filesystem@default:default,org.apache.commons.codec@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.apache.lucene.analysis@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.common@2:true,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.core.resources.win32.x86@default:false,org.apache.lucene@default:default,org.eclipse.equinox.event@default:default,org.eclipse.equinox.util@default:default,org.apache.commons.el@default:default,org.eclipse.cvs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.net.win32.x86@default:false,org.eclipse.equinox.preferences@default:default,org.eclipse.swt@default:default,org.eclipse.pde.build@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.text@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.jdt.core@default:default,org.eclipse.help.ui@default:default,org.eclipse.pde@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.core.resources@default:default,org.eclipse.ecf@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.help.base@default:default,org.eclipse.pde.api.tools.ui@default:default,org.junit4@default:default,org.eclipse.ui.ide@default:default,org.eclipse.core.net@default:default,com.ibm.icu@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.debug.ui@default:default,org.eclipse.help.webapp@default:default,org.eclipse.ant.ui@default:default,javax.servlet@default:default,org.apache.commons.logging@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.team.ui@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ui.presentations.r21@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.jobs@default:default,org.mortbay.jetty.server@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.core@default:default,org.eclipse.ui.intro@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.core.databinding.property@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.boot@default:default,org.eclipse.sdk@default:default,org.eclipse.ui.views@default:default,org.eclipse.osgi.util@default:default,org.eclipse.jface.text@default:default,org.eclipse.core.expressions@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.core.runtime@default:true,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.core.commands@default:default,org.eclipse.equinox.p2.afterthefact@default:default,org.easymock@default:default,org.eclipse.equinox.p2.installer@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.equinox.p2.weblistener@default:default,org.eclipse.osgi@-1:true,org.eclipse.equinox.common@2:true,org.eclipse.jface@default:default,org.eclipse.pde.core@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.operations@default:default,ie.wombat.jbdiff@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.equinox.p2.artifact.processors@default:default,org.sat4j.pb*2.1.1.v20090825@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.sat4j.core*2.1.0.v20090520@default:default,org.sat4j.core*2.1.1.v20090825@default:default,org.eclipse.core.expressions@default:default,org.eclipse.text@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.p2.touchpoint.osgi@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.core.resources@default:default,org.eclipse.search@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.ui.console@default:default,org.eclipse.jface.text@default:default,org.eclipse.update.ui@default:default,org.eclipse.ui.forms@default:default,org.eclipse.equinox.p2.diagnostic@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.ui.tests.harness@default:default,org.eclipse.test.performance@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.core.net@default:default,org.eclipse.equinox.p2.sar@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.pde.ui@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.sdk@default:default,org.eclipse.equinox.p2.tests.verifier@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.core.databinding@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.tests@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.tests.ui@default:default,org.sat4j.pb*2.1.0.v20090520@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.platform@default:default,org.eclipse.jdt.core@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.frameworkadmin.test@default:default,org.eclipse.core.tests.harness@default:default,org.eclipse.equinox.p2.common*2.0.0.qualifier@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.team.cvs.core@default:default,org.eclipse.osgi.services@default:default,org.eclipse.core.boot@default:default,org.eclipse.ant.ui@default:default,org.eclipse.core.runtime@default:true,org.eclipse.debug.core@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.team.core@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.lucene.analysis@default:default,org.eclipse.osgi.util@default:default,org.eclipse.swt@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.ui.editors@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.pde.api.tools.ui@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.junit4@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.rcp@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.compare.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.pde.ds.core@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.ui.presentations.r21@default:default,org.sat4j.core@default:default,org.apache.jasper@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.update.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui.ide@default:default,org.eclipse.core.resources@default:default,javax.servlet.jsp@default:default,org.eclipse.sdk@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.help.webapp@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.pde.ui@default:default,org.mortbay.jetty.server@default:default,org.eclipse.pde@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ui.win32@default:false,org.eclipse.help.appserver@default:default,org.eclipse.core.databinding@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.core@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.core.databinding.property@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.equinox.common@2:true,org.eclipse.jface@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.variables@default:default,org.eclipse.equinox.event@default:default,org.eclipse.equinox.util@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.team.cvs.ssh2@default:default,org.hamcrest.core@default:default,org.eclipse.ui.net@default:default,org.eclipse.jsch.core@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.help.base@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.equinox.security@default:default,org.eclipse.compare.win32@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.pde.ui.templates@default:default,org.apache.lucene@default:default,org.eclipse.jface.text@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.jdt@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.update.ui@default:default,org.eclipse.ui.views@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.ant.core@default:default,org.eclipse.text@default:default,org.eclipse.pde.launching@default:default,org.apache.commons.httpclient@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.platform@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.console@default:default,org.eclipse.compare@default:default,javax.servlet@default:default,com.jcraft.jsch@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.expressions@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ecf@default:default,org.eclipse.help.ui@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.ui.views.properties.tabbed@default:default,com.ibm.icu@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.sat4j.pb@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.core.commands@default:default,org.junit@default:default,org.eclipse.update.configurator@3:true,org.mortbay.jetty.util@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.ui.externaltools@default:default,org.apache.commons.logging@default:default,org.eclipse.ui.forms@default:default,org.eclipse.pde.doc.user@default:default,org.apache.commons.el@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.equinox.http.registry@default:default,org.apache.ant@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.cvs@default:default,org.eclipse.ant.launching@default:default,org.eclipse.search@default:default,org.eclipse.ui@default:default,org.apache.commons.codec@default:default,org.eclipse.help@default:default,org.eclipse.releng.tools@default:default,org.eclipse.pde.core@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ui.intro@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.core.net@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.common@default:default,org.eclipse.equinox.p2.weblistener@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.equinox.p2.exemplarysetup@default:default,org.eclipse.equinox.frameworkadmin.test@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.equinox.p2.artifact.optimizers@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.test.performance@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.afterthefact@default:default,org.eclipse.ui.ide@default:default,org.eclipse.equinox.p2.tests.ui@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.pde.core@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.equinox.p2.diagnostic@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.pde.build@default:default,org.eclipse.equinox.p2.artifact.processors@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.p2.sar@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.pde.ui@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,ie.wombat.jbdiff.test@default:default,org.eclipse.equinox.p2.metadata@default:default,ie.wombat.jbdiff@default:default,org.eclipse.equinox.p2.tests.verifier@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.equinox.p2.installer@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.tests@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.publisher@default:default,org.easymock@default:default,org.eclipse.equinox.p2.touchpoint.osgi@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.core.tests.harness@default:default"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
index 9ebc1ef75..c8d60a703 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/FormatRangeTest.java
@@ -66,7 +66,7 @@ public class FormatRangeTest extends VersionTesting {
}
public void testGreaterThanMinimum() {
- // any version equal or greater than Version.MIN_VERSION is ok
+ // any version equal or greater than Version.emptyVersion is ok
VersionRange lowerBound = new VersionRange("raw:-M");
assertIncludedInRange("0.1", lowerBound, "raw:-M");
assertIncludedInRange("1.0", lowerBound, OSGI_PREFIX + "0.9.0");
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
index 7595e5404..23ea949e0 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiRangeTest.java
@@ -50,8 +50,8 @@ public class OSGiRangeTest extends VersionTesting {
assertTrue("1.1", lowerBound.isIncluded(Version.parseVersion("1.0")));
assertTrue("1.2", lowerBound.isIncluded(Version.parseVersion("1.9.9.x")));
assertTrue("1.3", lowerBound.isIncluded(Version.parseVersion("999.999.999.foo")));
- assertTrue("2.0", !lowerBound.isIncluded(Version.parseVersion("raw:M")));
- assertTrue("2.1", !lowerBound.isIncluded(Version.parseVersion("raw:2147483647.2147483647.2147483647.0")));
+ assertTrue("2.0", lowerBound.isIncluded(Version.parseVersion("raw:M")));
+ assertTrue("2.1", lowerBound.isIncluded(Version.parseVersion("raw:2147483647.2147483647.2147483647.0")));
}
@@ -94,16 +94,16 @@ public class OSGiRangeTest extends VersionTesting {
/**
* Tests that null values passed to the {@link VersionRange} constructor
- * are interpreted as OSGi ranges.
+ * are not interpreted as MIN/MAX versions.
*/
public void testNullConstructor() {
VersionRange range = new VersionRange(null);
- assertEquals("1.0", range.getMinimum(), Version.createOSGi(0, 0, 0));
- assertEquals("1.1", range.getMaximum(), Version.createOSGi(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, "zzz"));
+ assertEquals("1.0", range.getMinimum(), Version.emptyVersion);
+ assertEquals("1.1", range.getMaximum(), Version.MAX_VERSION);
range = new VersionRange(null, true, null, true);
- assertEquals("2.0", range.getMinimum(), Version.createOSGi(0, 0, 0));
- assertEquals("2.1", range.getMaximum(), Version.createOSGi(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, "zzz"));
+ assertEquals("2.0", range.getMinimum(), Version.emptyVersion);
+ assertEquals("2.1", range.getMaximum(), Version.MAX_VERSION);
}
public void testSerialize() {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
index 3f1c4f7f0..19ee6baaa 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/OSGiVersionTest.java
@@ -33,7 +33,7 @@ public class OSGiVersionTest extends VersionTesting {
public void testOSGiStrings() {
- Version v = Version.parseVersion("");
+ Version v = Version.parseVersion(null);
assertEquals("0.0.0", v.toString());
assertNotNull(v = Version.parseVersion(""));
assertEquals("0.0.0", v.toString());
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
index 471faa58b..a9e2893fb 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/PerformanceTest.java
@@ -30,7 +30,7 @@ public class PerformanceTest extends TestCase {
public void testStringCreationPerformance() {
// Ensure that classes are loaded etc.
- Version.MAX_VERSION.compareTo(Version.MIN_VERSION);
+ Version.MAX_VERSION.compareTo(Version.emptyVersion);
org.osgi.framework.Version.emptyVersion.compareTo(org.osgi.framework.Version.emptyVersion);
// Create all versions in string format
@@ -51,7 +51,7 @@ public class PerformanceTest extends TestCase {
public void testCreationPerformance() {
// Ensure that classes are loaded etc.
- Version.MAX_VERSION.compareTo(Version.MIN_VERSION);
+ Version.MAX_VERSION.compareTo(Version.emptyVersion);
org.osgi.framework.Version.emptyVersion.compareTo(org.osgi.framework.Version.emptyVersion);
long start = System.currentTimeMillis();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
index 648be5dd7..78ed9852b 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawRangeWithOriginalTest.java
@@ -11,7 +11,9 @@
package org.eclipse.equinox.p2.tests.omniVersion;
-import org.eclipse.equinox.internal.provisional.p2.metadata.*;
+import org.eclipse.equinox.internal.p2.metadata.VersionFormat;
+import org.eclipse.equinox.internal.provisional.p2.metadata.Version;
+import org.eclipse.equinox.internal.provisional.p2.metadata.VersionRange;
/**
* Tests inclusion of original version range string in raw format.
@@ -45,6 +47,11 @@ public class RawRangeWithOriginalTest extends VersionTesting {
assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]").toString());
}
+ public void testSimpleFormatToString() {
+ // range brackets are normalized in toString - not needed in original
+ assertEquals("raw:[1.0,2.0]/format(n.n):1.0,2.0", new VersionRange("format(n.n):[1.0,2.0]").toString());
+ }
+
public void testRawWithSimpleFormatSerialized() {
assertSerialized(new VersionRange("raw:[1.0,2.0]/format(n.n):[1.0,2.0]"));
// range brackets are normalized in toString - not needed in original
@@ -162,7 +169,7 @@ public class RawRangeWithOriginalTest extends VersionTesting {
}
public void testOSGiMinBoundary() {
- String rangeString = "raw:[-M,2.1.0.'']/format(" + IVersionFormat.OSGI_FORMAT_STRING + "):-M,2.1.0";
+ String rangeString = "raw:[-M,2.1.0.'']/format(" + VersionFormat.OSGI_FORMAT_STRING + "):-M,2.1.0";
VersionRange range = new VersionRange(rangeString);
VersionRange range1 = new VersionRange("[0.0.0,2.1.0]");
@@ -205,7 +212,7 @@ public class RawRangeWithOriginalTest extends VersionTesting {
}
public void testOSGiMaxBoundary() {
- String rangeString = "raw:[2.1.0.'',MpM]/format(" + IVersionFormat.OSGI_FORMAT_STRING + "):2.1.0,MpM";
+ String rangeString = "raw:[2.1.0.'',MpM]/format(" + VersionFormat.OSGI_FORMAT_STRING + "):2.1.0,MpM";
VersionRange range = new VersionRange(rangeString);
VersionRange range1 = new VersionRange("2.1.0");
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
index b58dcdd60..f0b919dd9 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/omniVersion/RawVersionTest.java
@@ -150,7 +150,7 @@ public class RawVersionTest extends VersionTesting {
assertNotNull(v = Version.create(s = "raw:M"));
assertEquals(s, v.toString());
assertNotNull(v = Version.create(s = "raw:-M"));
- assertEquals(s, v.toString());
+ assertEquals("0.0.0", v.toString());
assertNotNull(v = Version.create(s = "raw:1.m"));
assertEquals(s, v.toString());
assertNotNull(v = Version.create(s = "raw:1.M"));
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
index 5018df664..934814334 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AbstractPublisherActionTest.java
@@ -145,7 +145,7 @@ public class AbstractPublisherActionTest extends AbstractProvisioningTest {
iu.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability("ns2", "name2", null)});
iu.setMetaRequiredCapabilities(createRequiredCapabilities("ns3", "name3", null, ""));
- assertNotSame(9, iu.getProvidedCapabilities()[0].getVersion().getMajor());
+ assertNotSame(9, Version.toOSGiVersion(iu.getProvidedCapabilities()[0].getVersion()).getMajor());
assertTrue(iu.getRequiredCapabilities()[0].isGreedy());
assertTrue(iu.getMetaRequiredCapabilities()[0].isGreedy());
@@ -158,7 +158,7 @@ public class AbstractPublisherActionTest extends AbstractProvisioningTest {
TestAction action = new TestAction();
action.testProcessCapabilityAdvice(iu, info);
- assertEquals(9, iu.getProvidedCapabilities()[0].getVersion().getMajor());
+ assertEquals(9, Version.toOSGiVersion(iu.getProvidedCapabilities()[0].getVersion()).getMajor());
assertFalse(iu.getRequiredCapabilities()[0].isGreedy());
assertFalse(iu.getMetaRequiredCapabilities()[0].isGreedy());
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
index 0daa3eeaf..fb80ac4b2 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java
@@ -21,7 +21,7 @@ import org.eclipse.equinox.internal.provisional.p2.metadata.*;
import org.eclipse.equinox.p2.publisher.*;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
-@SuppressWarnings( {"cast", "restriction", "unchecked"})
+@SuppressWarnings({"cast", "restriction", "unchecked"})
public abstract class ActionTest extends AbstractProvisioningTest {
protected static final String COMMA_SEPARATOR = ","; //$NON-NLS-1$
protected static final String JAR = "jar";//$NON-NLS-1$
@@ -64,7 +64,7 @@ public abstract class ActionTest extends AbstractProvisioningTest {
for (int i = 0; i < required.length; i++)
if (required[i].getName().equalsIgnoreCase(name) && required[i].getNamespace().equalsIgnoreCase(namespace) && required[i].getRange().equals(range))
return;
- Assert.fail("Missing RequiredCapability: " + name + range.toString()); //$NON-NLS-1$
+ Assert.fail("Missing RequiredCapability: " + name + " " + range.toString()); //$NON-NLS-1$
}
protected IInstallableUnit mockIU(String id, Version version) {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
index a0d8c33fc..65252e913 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/AdviceFileParserTest.java
@@ -18,7 +18,7 @@ import org.eclipse.equinox.p2.publisher.eclipse.AdviceFileParser;
public class AdviceFileParserTest extends TestCase {
public void testNoAdvice() {
- AdviceFileParser parser = new AdviceFileParser("id", Version.MIN_VERSION, Collections.EMPTY_MAP);
+ AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, Collections.EMPTY_MAP);
parser.parse();
assertNull(parser.getAdditionalInstallableUnitDescriptions());
assertNull(parser.getProperties());
@@ -30,11 +30,11 @@ public class AdviceFileParserTest extends TestCase {
public void testAdviceVersion() {
Map map = new HashMap();
map.put("advice.version", "1.0");
- AdviceFileParser parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
map.put("advice.version", "999");
- parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ parser = new AdviceFileParser("id", Version.emptyVersion, map);
try {
parser.parse();
} catch (IllegalStateException e) {
@@ -50,7 +50,7 @@ public class AdviceFileParserTest extends TestCase {
map.put("properties.1.name", "testName2");
map.put("properties.1.value", "testValue2");
- AdviceFileParser parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
assertEquals("testValue1", parser.getProperties().getProperty("testName1"));
assertEquals("testValue2", parser.getProperties().getProperty("testName2"));
@@ -74,7 +74,7 @@ public class AdviceFileParserTest extends TestCase {
map.put("provides.1.name", "testName2");
map.put("provides.1.version", "$version$");
- parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
capabilities = parser.getProvidedCapabilities();
assertEquals(2, capabilities.length);
@@ -83,7 +83,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(Version.create("1.2.3"), capabilities[0].getVersion());
assertEquals("testNamespace2", capabilities[1].getNamespace());
assertEquals("testName2", capabilities[1].getName());
- assertEquals(Version.MIN_VERSION, capabilities[1].getVersion());
+ assertEquals(Version.emptyVersion, capabilities[1].getVersion());
}
public void testRequiresAdvice() {
@@ -111,7 +111,7 @@ public class AdviceFileParserTest extends TestCase {
//default
// map.put("requires.1.multiple", Boolean.FALSE.toString());
- parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
capabilities = parser.getRequiredCapabilities();
assertEquals(2, capabilities.length);
@@ -123,7 +123,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(true, capabilities[0].isMultiple());
assertEquals("testNamespace2", capabilities[1].getNamespace());
assertEquals("testName2", capabilities[1].getName());
- assertEquals(new VersionRange(Version.MIN_VERSION.toString()), capabilities[1].getRange());
+ assertEquals(new VersionRange(Version.emptyVersion.toString()), capabilities[1].getRange());
assertEquals(false, capabilities[1].isGreedy());
assertEquals(false, capabilities[1].isOptional());
assertEquals(false, capabilities[1].isMultiple());
@@ -154,7 +154,7 @@ public class AdviceFileParserTest extends TestCase {
//default
// map.put("requires.1.multiple", Boolean.FALSE.toString());
- parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
capabilities = parser.getMetaRequiredCapabilities();
assertEquals(2, capabilities.length);
@@ -166,7 +166,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(true, capabilities[0].isMultiple());
assertEquals("testNamespace2", capabilities[1].getNamespace());
assertEquals("testName2", capabilities[1].getName());
- assertEquals(new VersionRange(Version.MIN_VERSION.toString()), capabilities[1].getRange());
+ assertEquals(new VersionRange(Version.emptyVersion.toString()), capabilities[1].getRange());
assertEquals(false, capabilities[1].isGreedy());
assertEquals(false, capabilities[1].isOptional());
assertEquals(false, capabilities[1].isMultiple());
@@ -179,7 +179,7 @@ public class AdviceFileParserTest extends TestCase {
map.put("instructions.unconfigure", "removeProgramArg(programArg:-startup); removeProgramArg(programArg:@artifact);)");
map.put("instructions.unconfigure.import", "some.removeProgramArg");
- AdviceFileParser parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
ITouchpointInstruction configure = (ITouchpointInstruction) parser.getTouchpointInstructions().get("configure");
assertEquals(null, configure.getImportAttribute());
@@ -263,7 +263,7 @@ public class AdviceFileParserTest extends TestCase {
map.put("units.1.hostRequirements.1.greedy", Boolean.FALSE.toString());
map.put("units.1.hostRequirements.1.optional", Boolean.FALSE.toString());
- AdviceFileParser parser = new AdviceFileParser("id", Version.MIN_VERSION, map);
+ AdviceFileParser parser = new AdviceFileParser("id", Version.emptyVersion, map);
parser.parse();
InstallableUnitDescription[] descriptions = parser.getAdditionalInstallableUnitDescriptions();
IInstallableUnit iu0 = MetadataFactory.createInstallableUnit(descriptions[0]);
@@ -312,7 +312,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(true, required[0].isMultiple());
assertEquals("testNamespace2", required[1].getNamespace());
assertEquals("testName2", required[1].getName());
- assertEquals(new VersionRange(Version.MIN_VERSION.toString()), required[1].getRange());
+ assertEquals(new VersionRange(Version.emptyVersion.toString()), required[1].getRange());
assertEquals(false, required[1].isGreedy());
assertEquals(false, required[1].isOptional());
assertEquals(false, required[1].isMultiple());
@@ -324,7 +324,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(Version.create("1.2.3"), provided[0].getVersion());
assertEquals("testNamespace2", provided[1].getNamespace());
assertEquals("testName2", provided[1].getName());
- assertEquals(Version.MIN_VERSION, provided[1].getVersion());
+ assertEquals(Version.emptyVersion, provided[1].getVersion());
IRequiredCapability[] metarequirements = iu1.getMetaRequiredCapabilities();
assertEquals(2, metarequirements.length);
@@ -336,7 +336,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(true, metarequirements[0].isMultiple());
assertEquals("testNamespace2", metarequirements[1].getNamespace());
assertEquals("testName2", metarequirements[1].getName());
- assertEquals(new VersionRange(Version.MIN_VERSION.toString()), metarequirements[1].getRange());
+ assertEquals(new VersionRange(Version.emptyVersion.toString()), metarequirements[1].getRange());
assertEquals(false, metarequirements[1].isGreedy());
assertEquals(false, metarequirements[1].isOptional());
assertEquals(false, metarequirements[1].isMultiple());
@@ -367,7 +367,7 @@ public class AdviceFileParserTest extends TestCase {
assertEquals(true, hostRequired[0].isMultiple());
assertEquals("testNamespace2", hostRequired[1].getNamespace());
assertEquals("testName2", hostRequired[1].getName());
- assertEquals(new VersionRange(Version.MIN_VERSION.toString()), hostRequired[1].getRange());
+ assertEquals(new VersionRange(Version.emptyVersion.toString()), hostRequired[1].getRange());
assertEquals(false, hostRequired[1].isGreedy());
assertEquals(false, hostRequired[1].isOptional());
assertEquals(false, hostRequired[1].isMultiple());
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
index 5616dd19d..eb9ad3d6a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
@@ -71,8 +71,8 @@ public class BundlesActionTest extends ActionTest {
private final Version TEST2_PROVX_VERSION = Version.emptyVersion;
private final VersionRange TEST2_IUA_VERSION_RANGE = VersionRange.emptyRange;
private final VersionRange TEST2_IUB_VERSION_RANGE = VersionRange.emptyRange;
- private final VersionRange TEST2_IUC_VERSION_RANGE = new VersionRange(Version.create("1.0.0"), true, Version.OSGi_MAX, true);//$NON-NLS-1$
- private final VersionRange TEST1_IUD_VERSION_RANGE = new VersionRange(Version.create("1.3.0"), true, Version.OSGi_MAX, true);//$NON-NLS-1$
+ private final VersionRange TEST2_IUC_VERSION_RANGE = new VersionRange(Version.create("1.0.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$
+ private final VersionRange TEST1_IUD_VERSION_RANGE = new VersionRange(Version.create("1.3.0"), true, Version.MAX_VERSION, true);//$NON-NLS-1$
protected TestArtifactRepository artifactRepository = new TestArtifactRepository();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
index a5887ce22..0be24d208 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java
@@ -24,7 +24,7 @@ import org.eclipse.equinox.p2.publisher.actions.VersionAdvice;
import org.eclipse.equinox.p2.publisher.eclipse.EquinoxLauncherCUAction;
import org.eclipse.equinox.spi.p2.publisher.PublisherHelper;
-@SuppressWarnings( {"restriction", "unchecked"})
+@SuppressWarnings({"restriction", "unchecked"})
public class EquinoxLauncherCUActionTest extends ActionTest {
private static String a_ID = "iua.source"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
index cff3ae0bb..60e6b7ec7 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java
@@ -93,7 +93,7 @@ public class JREActionTest extends ActionTest {
assertTrue(((ITouchpointInstruction) instructions.get("uninstall")).getBody().equals("cleanupzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$ //$NON-NLS-2$
}
IRequiredCapability[] requiredCapability = bar.getRequiredCapabilities();
- verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(JREVersion, true, Version.OSGi_MAX, true)); //$NON-NLS-1$
+ verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(JREVersion, true, Version.MAX_VERSION, true)); //$NON-NLS-1$
assertTrue(requiredCapability.length == 1);
IProvidedCapability[] providedCapability = bar.getProvidedCapabilities();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
index 5cf97caf6..356377118 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
@@ -164,7 +164,7 @@ public class AbstractReconcilerTest extends AbstractProvisioningTest {
File file = null;
if (propertyToPlatformArchive != null) {
property = getValueFor(propertyToPlatformArchive);
- String message = "Need to set the " + "\"" + property + "\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder.";
+ String message = "Need to set the " + "\"" + propertyToPlatformArchive + "\" system property with a valid path to the platform binary drop or copy the archive to be a sibling of the install folder.";
if (property == null) {
fail(message);
}
diff --git a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
index 287552796..2901c9598 100644
--- a/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
+++ b/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/mirror/VersionRangedName.java
@@ -46,6 +46,6 @@ public class VersionRangedName {
}
public String toString() {
- return id + "/" + (range == null ? "0.0.0" : range.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ return id + "/" + (range == null ? VersionRange.emptyRange.toString() : range.toString()); //$NON-NLS-1$ //$NON-NLS-2$
}
}
diff --git a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
index 56cfd90a5..f99d43d66 100644
--- a/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
+++ b/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java
@@ -126,29 +126,37 @@ public class SiteXMLAction extends AbstractPublisherAction {
if (version.equals(Version.emptyVersion)) {
query = new PipedQuery(new IQuery[] {new InstallableUnitQuery(id), new LatestIUVersionQuery()});
collector = new Collector();
- } else if (version.getQualifier() != null && version.getQualifier().endsWith(QUALIFIER)) {
- final String v = versionString.substring(0, versionString.indexOf(QUALIFIER));
- IQuery qualifierQuery = new InstallableUnitQuery(id) {
- private String qualifierVersion = v.endsWith(".") ? v.substring(0, v.length() - 1) : v; //$NON-NLS-1$
-
- public boolean isMatch(Object object) {
- if (super.isMatch(object)) {
- IInstallableUnit candidate = (IInstallableUnit) object;
- return candidate.getVersion().toString().startsWith(qualifierVersion);
- }
- return false;
- }
- };
- query = new PipedQuery(new IQuery[] {qualifierQuery, new LatestIUVersionQuery()});
- collector = new Collector();
} else {
- query = new InstallableUnitQuery(id, version);
- collector = new Collector() {
- public boolean accept(Object object) {
- super.accept(object);
- return false; //stop searching once we've found one
- }
- };
+ String qualifier;
+ try {
+ qualifier = Version.toOSGiVersion(version).getQualifier();
+ } catch (UnsupportedOperationException e) {
+ qualifier = null;
+ }
+ if (qualifier != null && qualifier.endsWith(QUALIFIER)) {
+ final String v = versionString.substring(0, versionString.indexOf(QUALIFIER));
+ IQuery qualifierQuery = new InstallableUnitQuery(id) {
+ private String qualifierVersion = v.endsWith(".") ? v.substring(0, v.length() - 1) : v; //$NON-NLS-1$
+
+ public boolean isMatch(Object object) {
+ if (super.isMatch(object)) {
+ IInstallableUnit candidate = (IInstallableUnit) object;
+ return candidate.getVersion().toString().startsWith(qualifierVersion);
+ }
+ return false;
+ }
+ };
+ query = new PipedQuery(new IQuery[] {qualifierQuery, new LatestIUVersionQuery()});
+ collector = new Collector();
+ } else {
+ query = new InstallableUnitQuery(id, version);
+ collector = new Collector() {
+ public boolean accept(Object object) {
+ super.accept(object);
+ return false; //stop searching once we've found one
+ }
+ };
+ }
}
collector = results.query(query, collector, null);

Back to the top