diff --git a/arduino-core/src/cc/arduino/contributions/VersionHelper.java b/arduino-core/src/cc/arduino/contributions/VersionHelper.java index caf98c8f1..bead8d46e 100644 --- a/arduino-core/src/cc/arduino/contributions/VersionHelper.java +++ b/arduino-core/src/cc/arduino/contributions/VersionHelper.java @@ -65,4 +65,7 @@ public class VersionHelper { } } + public static int compare(String a, String b) { + return valueOf(a).get().compareTo(valueOf(b).get()); + } } diff --git a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java index 485d6183b..6c42ddcfb 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/ContributedLibrary.java @@ -32,12 +32,13 @@ package cc.arduino.contributions.libraries; import cc.arduino.contributions.DownloadableContribution; import processing.app.I18n; import processing.app.packages.UserLibrary; +import static processing.app.I18n.tr; import java.util.Comparator; import java.util.List; import java.util.Optional; -import static processing.app.I18n.tr; +import cc.arduino.contributions.VersionHelper; public abstract class ContributedLibrary extends DownloadableContribution { @@ -181,6 +182,10 @@ public abstract class ContributedLibrary extends DownloadableContribution { return versionEquals && nameEquals; } + public boolean isBefore(ContributedLibrary other) { + return VersionHelper.compare(getVersion(), other.getVersion()) < 0; + } + @Override public int hashCode() { String hashingData = "CONTRIBUTEDLIB" + getName() + getVersion();