summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2017-10-12 16:29:10 +0530
committerKanagaraj Manickam k00365106 <kanagaraj.manickam@huawei.com>2017-11-20 14:07:56 +0530
commit2977f4f121a8527d97cb663482eb5134f67f921a (patch)
tree1a90241986923dc55d5735e2b7a6961deac3429f
parent7ed4d73221126eeb6d02f8f577123c8362b0afd7 (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.java10
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java27
-rw-r--r--pom.xml4
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;
+ }
}
diff --git a/pom.xml b/pom.xml
index 18241f91..15d30920 100644
--- a/pom.xml
+++ b/pom.xml
@@ -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>