From a517e918ca99da9a517e9d4bae1bf2482b9af73c Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Thu, 5 Dec 2019 14:42:38 -0800 Subject: [PATCH 1/2] Move BuildParams class to 'minimumRuntime' source set to retain compatibility with build-tools for builds using a Java 8 runtime. Closes #49766 Signed-off-by: Mark Vieira --- .../java/org/elasticsearch/gradle/info/BuildParams.java | 2 +- .../java/org/elasticsearch/gradle/info/JavaHome.java | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename buildSrc/src/{main => minimumRuntime}/java/org/elasticsearch/gradle/info/BuildParams.java (99%) rename buildSrc/src/{main => minimumRuntime}/java/org/elasticsearch/gradle/info/JavaHome.java (100%) diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/info/BuildParams.java b/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java similarity index 99% rename from buildSrc/src/main/java/org/elasticsearch/gradle/info/BuildParams.java rename to buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java index 6400e4975ad51..836d63963dd15 100644 --- a/buildSrc/src/main/java/org/elasticsearch/gradle/info/BuildParams.java +++ b/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java @@ -84,7 +84,6 @@ public static JavaVersion getRuntimeJavaVersion() { return value(runtimeJavaVersion); } - @ExecutionTime public static Boolean isInFipsJvm() { return value(inFipsJvm); } @@ -155,6 +154,7 @@ public void reset() { .filter(f -> Modifier.isStatic(f.getModifiers())) .forEach(f -> { try { + f.setAccessible(true); f.set(null, null); } catch (IllegalAccessException e) { throw new RuntimeException(e); diff --git a/buildSrc/src/main/java/org/elasticsearch/gradle/info/JavaHome.java b/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/JavaHome.java similarity index 100% rename from buildSrc/src/main/java/org/elasticsearch/gradle/info/JavaHome.java rename to buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/JavaHome.java From ff4d2bf778c876b5b127e412ddc73dab96ca1523 Mon Sep 17 00:00:00 2001 From: Mark Vieira Date: Thu, 5 Dec 2019 15:38:30 -0800 Subject: [PATCH 2/2] Add note about field accessibility override Signed-off-by: Mark Vieira --- .../java/org/elasticsearch/gradle/info/BuildParams.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java b/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java index 836d63963dd15..9fba20c7db77c 100644 --- a/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java +++ b/buildSrc/src/minimumRuntime/java/org/elasticsearch/gradle/info/BuildParams.java @@ -154,6 +154,8 @@ public void reset() { .filter(f -> Modifier.isStatic(f.getModifiers())) .forEach(f -> { try { + // Since we are mutating private static fields from a public static inner class we need to suppress + // accessibility controls here. f.setAccessible(true); f.set(null, null); } catch (IllegalAccessException e) {