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(); } }