From 24a1cf713e7c8db3a240e0e0baee91716475654e Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 31 May 2018 17:16:00 +0000 Subject: [PATCH] Console: Change Java 10 warning to Java 11, since bionic uses 10 --- .../src/net/i2p/router/web/RouterConsoleRunner.java | 6 +++--- core/java/src/net/i2p/util/SystemVersion.java | 13 +++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java index c397ee315..e8a0d8b7f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -330,8 +330,8 @@ public class RouterConsoleRunner implements RouterApp { boolean noPack200 = (PluginStarter.pluginsEnabled(_context) || !NewsHelper.isUpdateDisabled(_context)) && !FileUtil.isPack200Supported(); boolean openARM = SystemVersion.isARM() && SystemVersion.isOpenJDK(); - boolean isJava10 = SystemVersion.isJava10(); - if (noJava7 || noPack200 || openARM || isJava10) { + boolean isJava11 = SystemVersion.isJava11(); + if (noJava7 || noPack200 || openARM || isJava11) { String s = "Java version: " + System.getProperty("java.version") + " OS: " + System.getProperty("os.name") + ' ' + System.getProperty("os.arch") + ' ' + @@ -354,7 +354,7 @@ public class RouterConsoleRunner implements RouterApp { log.logAlways(net.i2p.util.Log.WARN, s); System.out.println("Warning: " + s); } - if (isJava10) { + if (isJava11) { s = "Java 10/11 support is beta, and not recommended for general use"; log.logAlways(net.i2p.util.Log.WARN, s); System.out.println("Warning: " + s); diff --git a/core/java/src/net/i2p/util/SystemVersion.java b/core/java/src/net/i2p/util/SystemVersion.java index dfc995788..cac42d12e 100644 --- a/core/java/src/net/i2p/util/SystemVersion.java +++ b/core/java/src/net/i2p/util/SystemVersion.java @@ -46,6 +46,7 @@ public abstract class SystemVersion { private static final boolean _oneDotEight; private static final boolean _oneDotNine; private static final boolean _oneDotTen; + private static final boolean _oneDotEleven; private static final int _androidSDK; static { @@ -91,6 +92,7 @@ public abstract class SystemVersion { _oneDotEight = false; _oneDotNine = false; _oneDotTen = false; + _oneDotEleven = false; } else { String version = System.getProperty("java.version"); // handle versions like "8-ea" or "9-internal" @@ -102,6 +104,7 @@ public abstract class SystemVersion { _oneDotNine = _oneDotEight && VersionComparator.comp(version, "1.9") >= 0; // Starting 2018, versions are YY.M, this works for that also _oneDotTen = _oneDotNine && VersionComparator.comp(version, "1.10") >= 0; + _oneDotEleven = _oneDotTen && VersionComparator.comp(version, "1.11") >= 0; } } @@ -219,6 +222,15 @@ public abstract class SystemVersion { return _oneDotTen; } + /** + * + * @return true if Java 11 or higher, false for Android. + * @since 0.9.35 + */ + public static boolean isJava11() { + return _oneDotEleven; + } + /** * This isn't always correct. * http://stackoverflow.com/questions/807263/how-do-i-detect-which-kind-of-jre-is-installed-32bit-vs-64bit @@ -317,6 +329,7 @@ public abstract class SystemVersion { System.out.println("Java 8 : " + isJava8()); System.out.println("Java 9 : " + isJava9()); System.out.println("Java 10 : " + isJava10()); + System.out.println("Java 11 : " + isJava11()); System.out.println("Android : " + isAndroid()); if (isAndroid()) System.out.println(" Version: " + getAndroidVersion());