diff --git a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java index 6e03dca09d7..1c169c78529 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java @@ -147,6 +147,10 @@ class JavaConventions { project.getTasks().withType(Test.class, (test) -> { test.useJUnitPlatform(); test.setMaxHeapSize("1024M"); + if (buildingWithJava8(project)) { + test.systemProperty("java.security.properties", + getClass().getClassLoader().getResource("jdk-8156584-security.properties")); + } }); project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> project.getDependencies() .add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.platform:junit-platform-launcher")); @@ -176,13 +180,17 @@ class JavaConventions { if (!args.contains("-parameters")) { args.add("-parameters"); } - if (!project.hasProperty("toolchainVersion") && JavaVersion.current() == JavaVersion.VERSION_1_8) { + if (buildingWithJava8(project)) { args.addAll(Arrays.asList("-Werror", "-Xlint:unchecked", "-Xlint:deprecation", "-Xlint:rawtypes", "-Xlint:varargs")); } }); } + private boolean buildingWithJava8(Project project) { + return !project.hasProperty("toolchainVersion") && JavaVersion.current() == JavaVersion.VERSION_1_8; + } + private void configureSpringJavaFormat(Project project) { project.getPlugins().apply(SpringJavaFormatPlugin.class); project.getTasks().withType(FormatTask.class, (formatTask) -> formatTask.setEncoding("UTF-8")); diff --git a/buildSrc/src/main/resources/jdk-8156584-security.properties b/buildSrc/src/main/resources/jdk-8156584-security.properties new file mode 100644 index 00000000000..2d72ee6c449 --- /dev/null +++ b/buildSrc/src/main/resources/jdk-8156584-security.properties @@ -0,0 +1 @@ +keystore.pkcs12.keyProtectionAlgorithm=PBEWithHmacSHA256AndAES_256 \ No newline at end of file