package com.taobao.yugong.common.version;
import org.apache.commons.lang.SystemUtils;
public class VersionInfo {
private static Package myPackage;
private static YuGongVersionAnnotation version;
static {
myPackage = YuGongVersionAnnotation.class.getPackage();
version = myPackage.getAnnotation(YuGongVersionAnnotation.class);
}
static Package getPackage() {
return myPackage;
}
public static String getDate() {
return (version != null) ? version.date() : "Unknown";
}
public static String getUrl() {
return (version != null) ? version.url() : "Unknown";
}
public static String getBranch() {
return (version != null) ? version.branch() : "Unknown";
}
public static String getVersion() {
return (version != null) ? version.version() : "Unknown";
}
public static String getHexVevision() {
return (version != null) ? version.hexVersion() : "Unknown";
}
public static String getBuildVersion() {
StringBuilder buf = new StringBuilder();
buf.append(SystemUtils.LINE_SEPARATOR);
buf.append("[YuGong Version Info]").append(SystemUtils.LINE_SEPARATOR);
buf.append("[version ]").append(VersionInfo.getVersion()).append(SystemUtils.LINE_SEPARATOR);
buf.append("[hexVeision]").append(VersionInfo.getHexVevision()).append(SystemUtils.LINE_SEPARATOR);
buf.append("[date ]").append(VersionInfo.getDate()).append(SystemUtils.LINE_SEPARATOR);
buf.append("[branch ]").append(VersionInfo.getBranch()).append(SystemUtils.LINE_SEPARATOR);
buf.append("[url ]").append(VersionInfo.getUrl()).append(SystemUtils.LINE_SEPARATOR);
return buf.toString();
}
}