public boolean isOlderVersion(String version) { return isOlderThanVersion(version, version()); }
public boolean isOlderMinorVersion(String oldVersion) { String currentVersion = version(); if (noVersion(currentVersion) || noVersion(oldVersion)) { return false; } int[] checkVersions = parseVersion(oldVersion); int[] targetVersions = parseVersion(currentVersion); if (checkVersions[MAJOR_INDEX] < targetVersions[MAJOR_INDEX]) { return true; } else if (checkVersions[MAJOR_INDEX] == targetVersions[MAJOR_INDEX] && checkVersions[MINOR_INDEX] < targetVersions[MINOR_INDEX]) { return true; } return false; } }
public static int getBuildTime() { return version.getBuildTime(); }
protected boolean isOlderMajorVersion(int[] versions) { int[] softwareVersion = parseVersion(version()); if (versions[MAJOR_INDEX] < softwareVersion[MAJOR_INDEX]) { return true; } return false; }
protected boolean isOlderMajorVersion(String version) { return isOlderMajorVersion(parseVersion(version)); }
public boolean isOlderThanVersion(String checkVersion, String targetVersion) { if (noVersion(targetVersion) || noVersion(checkVersion)) { return false; } int[] checkVersions = parseVersion(checkVersion); int[] targetVersions = parseVersion(targetVersion); if (checkVersions[MAJOR_INDEX] < targetVersions[MAJOR_INDEX]) { return true; } else if (checkVersions[MAJOR_INDEX] == targetVersions[MAJOR_INDEX] && checkVersions[MINOR_INDEX] < targetVersions[MINOR_INDEX]) { return true; } else if (checkVersions[MAJOR_INDEX] == targetVersions[MAJOR_INDEX] && checkVersions[MINOR_INDEX] == targetVersions[MINOR_INDEX] && checkVersions[PATCH_INDEX] < targetVersions[PATCH_INDEX]) { return true; } return false; }
public static String version() { return version.version(); }
public static boolean isOlderThanVersion(String checkVersion, String targetVersion) { return version.isOlderThanVersion(checkVersion, targetVersion); }
public static int[] parseVersion(String version) { return Version.version.parseVersion(version); }
public String version() { if (version == null) { Attributes attributes = findManifestAttributes(); if (attributes != null) { version = attributes.getValue("Build-Version"); } else { version = "development"; } } return version; }
public static boolean hasOlderMinorVersion(String version) { return Version.version.isOlderMinorVersion(version); }
public int[] parseVersion(String version) { version = version.replaceAll("[^0-9\\.]", ""); int[] versions = new int[3]; if (!StringUtils.isEmpty(version)) { String[] splitVersion = version.split("\\."); if (splitVersion.length >= 3) { versions[PATCH_INDEX] = parseVersionComponent(splitVersion[2]); } if (splitVersion.length >= 2) { versions[MINOR_INDEX] = parseVersionComponent(splitVersion[1]); } if (splitVersion.length >= 1) { versions[MAJOR_INDEX] = parseVersionComponent(splitVersion[0]); } } return versions; }
protected Attributes findManifestAttributes() { InputStream is = null; try { Enumeration<URL> resources = getClass().getClassLoader().getResources( "META-INF/MANIFEST.MF"); while (resources.hasMoreElements()) { is = resources.nextElement().openStream(); Manifest manifest = new Manifest(is); Attributes attributes = manifest.getMainAttributes(); if (getArtifactName().equals(attributes.getValue("Project-Artifact"))) { return attributes; } } } catch (IOException e) { // nothing to do, really } finally { IOUtils.closeQuietly(is); } return null; }
public String versionWithUnderscores() { return version().replace("[\\.\\-]", "_"); }
public int getBuildTime() { if (buildTime == -1) { Attributes attributes = findManifestAttributes(); try { buildTime = Integer.parseInt(attributes.getValue("Build-Time").split("-")[0]); } catch (Exception e) { buildTime = 0; } } return buildTime; }