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);
}
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;
}
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()]));
}
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.");
}
Aggregations