Search in sources :

Example 1 with VersionComparator

use of org.eclipse.n4js.semver.Semver.VersionComparator in project n4js by eclipse.

the class SemverConverter method simplifyHyphenRange.

private static List<SimpleVersion> simplifyHyphenRange(HyphenVersionRange hvr) {
    VersionNumberDescriptor vndFrom = SemverUtils.getVersionNumberDescriptor(hvr.getFrom());
    VersionNumberDescriptor vndTo = SemverUtils.getVersionNumberDescriptor(hvr.getTo());
    VersionComparator toComparator = VersionComparator.SMALLER_EQUALS;
    if (vndTo.minor == null || vndTo.patch == null) {
        toComparator = VersionComparator.SMALLER;
    }
    return packRange(vndFrom, VersionComparator.GREATER_EQUALS, vndTo, toComparator);
}
Also used : VersionNumberDescriptor(org.eclipse.n4js.semver.SemverUtils.VersionNumberDescriptor) VersionComparator(org.eclipse.n4js.semver.Semver.VersionComparator)

Example 2 with VersionComparator

use of org.eclipse.n4js.semver.Semver.VersionComparator in project n4js by eclipse.

the class SemverSerializer method serialize.

/**
 * @return string representation of {@link SimpleVersion}
 */
public static String serialize(SimpleVersion sv) {
    if (sv == null)
        return "";
    String str = "";
    for (VersionComparator vc : sv.getComparators()) {
        str += serialize(vc);
    }
    if (sv.isWithLetterV()) {
        str += "v";
    }
    str += serialize(sv.getNumber());
    return str;
}
Also used : VersionComparator(org.eclipse.n4js.semver.Semver.VersionComparator)

Example 3 with VersionComparator

use of org.eclipse.n4js.semver.Semver.VersionComparator in project n4js by eclipse.

the class SemverConverter method copyAndPack.

private static List<SimpleVersion> copyAndPack(SimpleVersion sv) {
    VersionNumberDescriptor verDescr = SemverUtils.getVersionNumberDescriptor(sv.getNumber());
    EList<VersionComparator> vComps = sv.getComparators();
    return pack(verDescr, vComps.toArray(new VersionComparator[vComps.size()]));
}
Also used : VersionNumberDescriptor(org.eclipse.n4js.semver.SemverUtils.VersionNumberDescriptor) VersionComparator(org.eclipse.n4js.semver.Semver.VersionComparator)

Example 4 with VersionComparator

use of org.eclipse.n4js.semver.Semver.VersionComparator in project n4js by eclipse.

the class SemverMatcher method matches.

/**
 * Checks whether a given proband matches the given constraint.
 */
private static boolean matches(VersionNumber proband, SimpleVersion constraint, RelationKind relationKind) {
    VersionNumber constraintVN = constraint.getNumber();
    VersionNumberRelation relation = relation(proband, constraintVN, relationKind);
    if (relation == VersionNumberRelation.Unrelated) {
        return false;
    }
    VersionComparator versionComparator = constraint.getComparators().get(0);
    switch(versionComparator) {
        case GREATER:
            return relation == VersionNumberRelation.Greater;
        case GREATER_EQUALS:
            return relation != VersionNumberRelation.Smaller;
        case SMALLER:
            return relation == VersionNumberRelation.Smaller;
        case SMALLER_EQUALS:
            return relation != VersionNumberRelation.Greater;
        case CARET:
        case TILDE:
        case EQUALS:
            throw new IllegalStateException("This comparator should have been replaced in SemverConverter#simplify.");
    }
    throw new IllegalStateException("The Impossible State.");
}
Also used : VersionComparator(org.eclipse.n4js.semver.Semver.VersionComparator) VersionNumber(org.eclipse.n4js.semver.Semver.VersionNumber)

Aggregations

VersionComparator (org.eclipse.n4js.semver.Semver.VersionComparator)4 VersionNumberDescriptor (org.eclipse.n4js.semver.SemverUtils.VersionNumberDescriptor)2 VersionNumber (org.eclipse.n4js.semver.Semver.VersionNumber)1