diff options
author | Pascal Rapicault | 2009-11-25 19:35:26 +0000 |
---|---|---|
committer | Pascal Rapicault | 2009-11-25 19:35:26 +0000 |
commit | 12757e8dbd8e03294cf41d2212a566de33eb696c (patch) | |
tree | cbd39f7295dbc63e1f982ea433d62b0bb5431da7 | |
parent | f3b7029b69dbba05c8764c2d48803906aecc9762 (diff) | |
download | rt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.tar.gz rt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.tar.xz rt.equinox.p2-12757e8dbd8e03294cf41d2212a566de33eb696c.zip |
Release version changesR3_6_api_cleanup_v20091125
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 "0.0.0" 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); |