From 2977f4f121a8527d97cb663482eb5134f67f921a Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Thu, 12 Oct 2017 16:29:10 +0530 Subject: Add build time to jar Issue-Id: CLI-66 Change-Id: I45f524e3e4f0f111fd411f3d9577edb5e3c0d0ed Signed-off-by: Kanagaraj Manickam k00365106 --- .../java/org/onap/cli/fw/OnapCommandRegistrar.java | 10 +++++++- .../org/onap/cli/fw/utils/OnapCommandUtils.java | 27 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) (limited to 'framework') diff --git a/framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java b/framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java index b3905dec..e2d35654 100644 --- a/framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java +++ b/framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java @@ -269,6 +269,13 @@ public class OnapCommandRegistrar { version = OnapCommandConfg.getVersion(); } + String buildTime = OnapCommandUtils.findLastBuildTime(); + if (buildTime!= null && !buildTime.isEmpty()) { + buildTime = " [" + buildTime + "]"; + } else { + buildTime = ""; + } + String configuredProductVersion = this.getEnabledProductVersion(); String errorNote = ""; @@ -281,7 +288,8 @@ public class OnapCommandRegistrar { errorNote = "** CUATION: Please configure the enabled product version to use one of " + this.availableProductVersions.toString() + "."; } - return "CLI version : " + version + "\n" + + return "CLI version : " + version + buildTime + "\n" + "Available product versions: " + this.availableProductVersions.toString() + "\n" + "Enabled product version : " + configuredProductVersion + "\n" + errorNote + usageNote; diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java index d03ee101..ca708274 100644 --- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java +++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java @@ -108,6 +108,9 @@ import java.util.Map.Entry; import java.util.ServiceLoader; import java.util.Set; import java.util.UUID; +import java.util.jar.Attributes; +import java.util.jar.JarFile; +import java.util.jar.Manifest; import java.util.stream.Collectors; import org.onap.cli.fw.OnapCommand; @@ -1881,5 +1884,29 @@ public class OnapCommandUtils { } } } + + /** + * Returns the build time from manifest.mf + */ + public static String findLastBuildTime() { + String impBuildDate = ""; + try + { + String path = OnapCommandUtils.class.getProtectionDomain().getCodeSource().getLocation().getPath(); + JarFile jar = new JarFile(path); + Manifest manifest = jar.getManifest(); + jar.close(); + + Attributes attributes = manifest.getMainAttributes(); + + impBuildDate = attributes.getValue("Build-Time"); + } + catch (IOException e) + { + //Ignore it as it will never occur + } + + return impBuildDate; + } } -- cgit 1.2.3-korg