Skip to content

Commit c548693

Browse files
committed
Merge branch '2.4.x'
See gh-26261
2 parents 80248dc + 097a436 commit c548693

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

buildSrc/src/main/java/org/springframework/boot/build/JavaConventions.java

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616

1717
package org.springframework.boot.build;
1818

19+
import java.io.File;
20+
import java.io.IOException;
21+
import java.io.InputStream;
22+
import java.nio.file.Files;
23+
import java.nio.file.Path;
1924
import java.util.Arrays;
2025
import java.util.Collections;
2126
import java.util.List;
@@ -26,8 +31,10 @@
2631

2732
import io.spring.javaformat.gradle.FormatTask;
2833
import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
34+
import org.gradle.api.Action;
2935
import org.gradle.api.JavaVersion;
3036
import org.gradle.api.Project;
37+
import org.gradle.api.Task;
3138
import org.gradle.api.artifacts.Configuration;
3239
import org.gradle.api.artifacts.ConfigurationContainer;
3340
import org.gradle.api.artifacts.Dependency;
@@ -147,10 +154,14 @@ private void configureTestConventions(Project project) {
147154
project.getTasks().withType(Test.class, (test) -> {
148155
test.useJUnitPlatform();
149156
test.setMaxHeapSize("1024M");
157+
CopyJdk8156584SecurityProperties copyJdk8156584SecurityProperties = new CopyJdk8156584SecurityProperties(
158+
project);
150159
if (buildingWithJava8(project)) {
151160
test.systemProperty("java.security.properties",
152-
getClass().getClassLoader().getResource("jdk-8156584-security.properties"));
161+
"file:" + test.getWorkingDir().toPath().relativize(copyJdk8156584SecurityProperties.output));
162+
test.setDebug(true);
153163
}
164+
test.doFirst(copyJdk8156584SecurityProperties);
154165
});
155166
project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> project.getDependencies()
156167
.add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.platform:junit-platform-launcher"));
@@ -226,4 +237,27 @@ private void configureToolchain(Project project) {
226237
project.getPlugins().apply(ToolchainPlugin.class);
227238
}
228239

240+
private static final class CopyJdk8156584SecurityProperties implements Action<Task> {
241+
242+
private static final String SECURITY_PROPERTIES_FILE_NAME = "jdk-8156584-security.properties";
243+
244+
private final Path output;
245+
246+
private CopyJdk8156584SecurityProperties(Project project) {
247+
this.output = new File(project.getBuildDir(), SECURITY_PROPERTIES_FILE_NAME).toPath();
248+
}
249+
250+
@Override
251+
public void execute(Task task) {
252+
try (InputStream input = getClass().getClassLoader()
253+
.getResourceAsStream(CopyJdk8156584SecurityProperties.SECURITY_PROPERTIES_FILE_NAME)) {
254+
Files.copy(input, this.output);
255+
}
256+
catch (IOException ex) {
257+
throw new RuntimeException(ex);
258+
}
259+
}
260+
261+
}
262+
229263
}

0 commit comments

Comments
 (0)