3 import java.util.regex.Matcher;
\r
4 import java.util.regex.Pattern;
\r
7 public class VersionInfo {
\r
8 private static final String Version = "タイニー番組ナビゲータ 3.22.4β";
\r
10 private static final String OSname = System.getProperty("os.name");
\r
11 private static final String OSvers = System.getProperty("os.version");
\r
12 //private static final String OSarch = System.getProperty("sun.arch.data.model", "?");
\r
13 private static final String VMvers = System.getProperty("java.version");
\r
14 // XXX なんと!System.getProperty("os.arch")ではOS.archでなくJRE.archが返る!
\r
15 private static final String VMarch = System.getProperty("os.arch");
\r
16 private static final String VMvend = System.getProperty("java.vendor");
\r
19 public static String getVersion() {
\r
23 public static String getEnvironment() {
\r
25 if ( CommonUtils.isWindows() ) {
\r
26 osarch = (System.getenv("ProgramFiles(x86)") != null) ? "x64" : "x86";
\r
29 CommonUtils.executeCommand("arch");
\r
30 String oa = CommonUtils.getCommandResult();
\r
32 osarch = Pattern.compile("[\r\n]+$",Pattern.DOTALL).matcher(oa).replaceFirst("");
\r
35 return(String.format("%s %s (%s) & Java %s (%s) [%s]",OSname,OSvers,osarch,VMvers,VMarch,VMvend));
\r
38 public static String getVersionNumber() {
\r
40 Matcher ma = Pattern.compile("([0-9]+)\\.([0-9]+)(\\.([0-9]+))?(.)?").matcher(Version);
\r
42 if (ma.group(4) == null) {
\r
43 return String.format("%03d_%03d", Integer.valueOf(ma.group(1)), Integer.valueOf(ma.group(2)));
\r
47 if (ma.group(5) != null && ma.group(5).equals("α")) {
\r
50 return String.format("%03d_%03d_%03d%s", Integer.valueOf(ma.group(1)), Integer.valueOf(ma.group(2)), Integer.valueOf(ma.group(4)),ab);
\r