diff options
author | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2017-10-12 16:29:10 +0530 |
---|---|---|
committer | Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com> | 2017-11-20 14:07:56 +0530 |
commit | 2977f4f121a8527d97cb663482eb5134f67f921a (patch) | |
tree | 1a90241986923dc55d5735e2b7a6961deac3429f | |
parent | 7ed4d73221126eeb6d02f8f577123c8362b0afd7 (diff) |
Add build time to jar
Issue-Id: CLI-66
Change-Id: I45f524e3e4f0f111fd411f3d9577edb5e3c0d0ed
Signed-off-by: Kanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/OnapCommandRegistrar.java | 10 | ||||
-rw-r--r-- | framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java | 27 | ||||
-rw-r--r-- | pom.xml | 4 |
3 files changed, 40 insertions, 1 deletions
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; + } } @@ -32,6 +32,7 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <package.name>cli</package.name> + <maven.build.timestamp.format>yyyy-MM-dd HH:mm z</maven.build.timestamp.format> </properties> <modules> @@ -71,6 +72,9 @@ <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> + <manifestEntries> + <Build-Time>${maven.build.timestamp}</Build-Time> + </manifestEntries> </archive> </configuration> </plugin> |