From 73889f9e380bdb869b9af170889a832261dda49f Mon Sep 17 00:00:00 2001 From: Andrea Peruffo Date: Fri, 16 Dec 2022 16:37:25 +0000 Subject: [PATCH 1/3] Generate a Versions file to be consumed at runtime --- operator-framework-core/pom.xml | 13 +++++++++++++ .../io/javaoperatorsdk/operator/Versions.java | 8 ++++++++ 2 files changed, 21 insertions(+) create mode 100644 operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java diff --git a/operator-framework-core/pom.xml b/operator-framework-core/pom.xml index bb8e3bcda7..da1da49555 100644 --- a/operator-framework-core/pom.xml +++ b/operator-framework-core/pom.xml @@ -47,6 +47,19 @@ full + + org.codehaus.mojo + templating-maven-plugin + 1.0.0 + + + filtering-java-templates + + filter-sources + + + + diff --git a/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java b/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java new file mode 100644 index 0000000000..346d24cb6f --- /dev/null +++ b/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java @@ -0,0 +1,8 @@ +package io.javaoperatorsdk.operator; + +public final class Versions { + + public static final String JOSDK = "${project.version}"; + public static final String KUBERNETES_CLIENT = "${fabric8-client.version}"; + +} From 19b31b05d2e35120ae4e89e2cc26fc4e0407fd08 Mon Sep 17 00:00:00 2001 From: Andrea Peruffo Date: Tue, 20 Dec 2022 11:02:46 +0000 Subject: [PATCH 2/3] review comments --- .../io/javaoperatorsdk/operator/Versions.java | 8 -------- .../javaoperatorsdk/operator/api/config/Versions.java | 10 ++++++++++ .../javaoperatorsdk/operator/api/config/Version.java | 5 ++++- 3 files changed, 14 insertions(+), 9 deletions(-) delete mode 100644 operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java create mode 100644 operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/api/config/Versions.java diff --git a/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java b/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java deleted file mode 100644 index 346d24cb6f..0000000000 --- a/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/Versions.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.javaoperatorsdk.operator; - -public final class Versions { - - public static final String JOSDK = "${project.version}"; - public static final String KUBERNETES_CLIENT = "${fabric8-client.version}"; - -} diff --git a/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/api/config/Versions.java b/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/api/config/Versions.java new file mode 100644 index 0000000000..8d67199510 --- /dev/null +++ b/operator-framework-core/src/main/java-templates/io/javaoperatorsdk/operator/api/config/Versions.java @@ -0,0 +1,10 @@ +package io.javaoperatorsdk.operator.api.config; + +public final class Versions { + + private Versions() {} + + protected static final String JOSDK = "${project.version}"; + protected static final String KUBERNETES_CLIENT = "${fabric8-client.version}"; + +} diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Version.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Version.java index 6bfb5bb2e5..a9cbaa5d44 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Version.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Version.java @@ -6,7 +6,10 @@ /** A class encapsulating the version information associated with this SDK instance. */ public class Version { - public static final Version UNKNOWN = new Version("unknown", "unknown", Date.from(Instant.EPOCH)); + public static final Version UNKNOWN = + new Version(Versions.JOSDK, "unknown", Date.from(Instant.EPOCH)); + public static final Version KUBENETES_CLIENT = + new Version(Versions.KUBERNETES_CLIENT, "unknown", Date.from(Instant.EPOCH)); private final String sdk; private final String commit; From 52643d387869140f3dcba31d599ed3e6bab38a6c Mon Sep 17 00:00:00 2001 From: Andrea Peruffo Date: Wed, 21 Dec 2022 12:56:27 +0000 Subject: [PATCH 3/3] add a test for the version --- .../operator/api/config/VersionTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 operator-framework-core/src/test/java/io/javaoperatorsdk/operator/api/config/VersionTest.java diff --git a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/api/config/VersionTest.java b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/api/config/VersionTest.java new file mode 100644 index 0000000000..2a6b8002e3 --- /dev/null +++ b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/api/config/VersionTest.java @@ -0,0 +1,17 @@ +package io.javaoperatorsdk.operator.api.config; + +import org.junit.jupiter.api.Test; + +import static org.junit.Assert.assertEquals; + +public class VersionTest { + + @Test + void versionShouldReturnTheSameResultFromMavenAndProperties() { + String versionFromProperties = Utils.loadFromProperties().getSdkVersion(); + String versionFromMaven = Version.UNKNOWN.getSdkVersion(); + + assertEquals(versionFromProperties, versionFromMaven); + } + +}