addonscript-java/src/main/java/ley/anvil/addonscript/wrapper/Versions.java
2020-07-27 20:59:21 +02:00

37 lines
1.1 KiB
Java

package ley.anvil.addonscript.wrapper;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import javax.annotation.Nullable;
public class Versions {
VersionRange range;
String latest;
public Versions(String range) throws InvalidVersionSpecificationException {
this.range = VersionRange.createFromVersionSpec(range);
String noBrack = range.replace("[", "").replace("]", "").replace("(", "").replace(")", "");
String[] parts = noBrack.split(",");
for (int i = parts.length - 1; i >= 0; i--) {
if (this.range.containsVersion(new DefaultArtifactVersion(parts[i]))) {
latest = parts[i];
break;
}
}
}
public boolean contains(String version) {
return range.containsVersion(new DefaultArtifactVersion(version));
}
@Nullable
public String getLatestKnown() {
return latest;
}
}