version = OnapCommandConfg.getVersion();
}
+ String buildTime = OnapCommandUtils.findLastBuildTime();
+ if (buildTime!= null && !buildTime.isEmpty()) {
+ buildTime = " [" + buildTime + "]";
+ } else {
+ buildTime = "";
+ }
+
String configuredProductVersion = this.getEnabledProductVersion();
String errorNote = "";
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;
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;
}
}
}
+
+ /**
+ * 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;
+ }
}
<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>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
+ <manifestEntries>
+ <Build-Time>${maven.build.timestamp}</Build-Time>
+ </manifestEntries>
</archive>
</configuration>
</plugin>