From 54823e6fab07f95556f3a26b7c1c28c20dfa0c0b Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Tue, 19 Apr 2022 19:59:09 +0200 Subject: Revert "Jonmv/require compile version leq parent" --- .../container/plugin/mojo/ApplicationMojo.java | 11 +-- .../com/yahoo/container/plugin/mojo/Version.java | 80 ---------------------- .../yahoo/container/plugin/mojo/VersionTest.java | 31 --------- 3 files changed, 3 insertions(+), 119 deletions(-) delete mode 100644 vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/Version.java delete mode 100644 vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/VersionTest.java diff --git a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java index 5873db262d9..1bbdfc9914a 100644 --- a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java +++ b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java @@ -59,16 +59,11 @@ public class ApplicationMojo extends AbstractMojo { if ( ! applicationDestination.exists()) return; - // Compile version is the build version of the parent project, unless specifically set. - MavenProject parent = project; - while (parent.getParent() != null) parent = parent.getParent(); - Version parentVersion = Version.from(parent.getVersion()); - Version compileVersion = vespaversion == null ? parentVersion : Version.from(vespaversion); - if (parentVersion.compareTo(compileVersion) < 0) - throw new IllegalArgumentException("compile version (" + compileVersion + ") cannot be higher than parent version (" + parentVersion + ")"); + if (vespaversion == null) // Get the build version of the parent project unless specifically set. + vespaversion = project.getProperties().getProperty("vespaversion"); String metaData = String.format("{\"compileVersion\": \"%s\",\n \"buildTime\": %d}", - compileVersion, + vespaversion, System.currentTimeMillis()); try { Files.write(applicationDestination.toPath().resolve("build-meta.json"), diff --git a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/Version.java b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/Version.java deleted file mode 100644 index 050871043ca..00000000000 --- a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/Version.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.yahoo.container.plugin.mojo; - -import java.util.Comparator; -import java.util.Objects; - -import static java.lang.Integer.min; -import static java.lang.Integer.parseInt; - -/** - * @author jonmv - */ -public class Version implements Comparable { - - private static final Comparator comparator = Comparator.comparingInt(Version::major) - .thenComparing(Version::isSnapshot) - .thenComparing(Version::minor) - .thenComparing(Version::micro); - - private final int major; - private final int minor; - private final int micro; - private final boolean snapshot; - - private Version(int major, int minor, int micro, boolean snapshot) { - if (major < 0 || minor < 0 || micro < 0) throw new IllegalArgumentException("version numbers must all be non-negative"); - this.major = major; - this.minor = minor; - this.micro = micro; - this.snapshot = snapshot; - } - - public static Version of(int major, int minor, int micro) { - return new Version(major, minor, micro, false); - } - - public static Version ofSnapshot(int major) { - return new Version(major, 0, 0, true); - } - - public static Version from(String version) { - if (version.endsWith("-SNAPSHOT")) { - String[] parts = version.split("-"); - if (parts.length != 2) throw new IllegalArgumentException("snapshot version must only specify major, e.g., \"1-SNAPSHOT\""); - return ofSnapshot(parseInt(parts[0])); - } - String[] parts = version.split("\\."); - if (parts.length != 3) throw new IllegalArgumentException("release versions must specify major, minor and micro, separated by '.', e.g., \"1.2.0\""); - return of(parseInt(parts[0]), parseInt(parts[1]), parseInt(parts[2])); - } - - public int major() { return major; } - public int minor() { return minor; } - public int micro() { return micro; } - public boolean isSnapshot() { return snapshot; } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - Version version = (Version) o; - return major == version.major && minor == version.minor && micro == version.micro && snapshot == version.snapshot; - } - - @Override - public int hashCode() { - return Objects.hash(major, minor, micro, snapshot); - } - - /** Snapshots sort last within their major, and sorting is on major, then minor, then micro otherwise. */ - @Override - public int compareTo(Version other) { - return comparator.compare(this, other); - } - - @Override - public String toString() { - return isSnapshot() ? major + "-SNAPSHOT" : major + "." + minor + "." + micro; - } - -} diff --git a/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/VersionTest.java b/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/VersionTest.java deleted file mode 100644 index ed31f43d081..00000000000 --- a/vespa-application-maven-plugin/src/test/java/com/yahoo/container/plugin/mojo/VersionTest.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.yahoo.container.plugin.mojo; - -import org.junit.Test; - -import java.util.List; - -import static org.junit.Assert.assertEquals; - -/** - * @author jonmv - */ -public class VersionTest { - - @Test - public void test() { - assertEquals("1.2.0", Version.from("1.2.0").toString()); - assertEquals("3-SNAPSHOT", Version.from("3-SNAPSHOT").toString()); - - List versions = List.of(Version.of(1, 2, 3), - Version.of(1, 2, 4), - Version.of(1, 3, 2), - Version.ofSnapshot(1), - Version.of(2, 1, 0)); - - for (int i = 0; i < versions.size(); i++) - for (int j = 0; j < versions.size(); j++) - assertEquals(versions.get(i) + " should be less than " + versions.get(j), - Integer.compare(i, j), versions.get(i).compareTo(versions.get(j))); - } - -} -- cgit v1.2.3