50
51 private static final String VERSION_BUILD =
52 "@@VERSION_BUILD@@";
53
54 private static final String VERSION_PRE =
55 "@@VERSION_PRE@@";
56
57 private static final String VERSION_OPT =
58 "@@VERSION_OPT@@";
59
60 static {
61 init();
62 }
63
64 public static void init() {
65 System.setProperty("java.version", java_version);
66 System.setProperty("java.runtime.version", java_runtime_version);
67 System.setProperty("java.runtime.name", java_runtime_name);
68 }
69
70 static List<Integer> versionNumbers() {
71 List<Integer> versionNumbers = new ArrayList<>(4);
72 int prevIndex = 0;
73 int index = VERSION_NUMBER.indexOf('.');
74 while (index > 0) {
75 versionNumbers.add(
76 Integer.parseInt(VERSION_NUMBER, prevIndex, index, 10));
77 prevIndex = index + 1; // Skip the period
78 index = VERSION_NUMBER.indexOf('.', prevIndex);
79 }
80 versionNumbers.add(Integer.parseInt(VERSION_NUMBER,
81 prevIndex, VERSION_NUMBER.length(), 10));
82 return versionNumbers;
83 }
84
85 static Optional<String> pre() {
86 return optionalOf(VERSION_PRE);
87 }
88
89 static Optional<Integer> build() {
90 return VERSION_BUILD.isEmpty() ?
91 Optional.empty() :
92 Optional.of(Integer.parseInt(VERSION_BUILD));
93 }
94
95 static Optional<String> optional() {
96 return optionalOf(VERSION_OPT);
97 }
98
99 // Treat empty strings as value not being present
100 private static Optional<String> optionalOf(String value) {
101 if (!value.isEmpty()) {
102 return Optional.of(value);
|
50
51 private static final String VERSION_BUILD =
52 "@@VERSION_BUILD@@";
53
54 private static final String VERSION_PRE =
55 "@@VERSION_PRE@@";
56
57 private static final String VERSION_OPT =
58 "@@VERSION_OPT@@";
59
60 static {
61 init();
62 }
63
64 public static void init() {
65 System.setProperty("java.version", java_version);
66 System.setProperty("java.runtime.version", java_runtime_version);
67 System.setProperty("java.runtime.name", java_runtime_name);
68 }
69
70 static List<Integer> parseVersionNumbers(String versionNumber) {
71 List<Integer> versionNumbers = new ArrayList<>(4);
72 int prevIndex = 0;
73 int index = versionNumber.indexOf('.');
74 while (index > 0) {
75 versionNumbers.add(
76 Integer.parseInt(versionNumber, prevIndex, index, 10));
77 prevIndex = index + 1; // Skip the period
78 index = versionNumber.indexOf('.', prevIndex);
79 }
80 versionNumbers.add(Integer.parseInt(versionNumber,
81 prevIndex, versionNumber.length(), 10));
82 return versionNumbers;
83 }
84
85 static List<Integer> versionNumbers() {
86 return parseVersionNumbers(VERSION_NUMBER);
87 }
88
89 static Optional<String> pre() {
90 return optionalOf(VERSION_PRE);
91 }
92
93 static Optional<Integer> build() {
94 return VERSION_BUILD.isEmpty() ?
95 Optional.empty() :
96 Optional.of(Integer.parseInt(VERSION_BUILD));
97 }
98
99 static Optional<String> optional() {
100 return optionalOf(VERSION_OPT);
101 }
102
103 // Treat empty strings as value not being present
104 private static Optional<String> optionalOf(String value) {
105 if (!value.isEmpty()) {
106 return Optional.of(value);
|