|
|
|
@ -16,6 +16,11 @@
|
|
|
|
|
|
|
|
|
|
package org.springframework.boot.build;
|
|
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.nio.file.Files;
|
|
|
|
|
import java.nio.file.Path;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.Collections;
|
|
|
|
|
import java.util.List;
|
|
|
|
@ -26,8 +31,10 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import io.spring.javaformat.gradle.FormatTask;
|
|
|
|
|
import io.spring.javaformat.gradle.SpringJavaFormatPlugin;
|
|
|
|
|
import org.gradle.api.Action;
|
|
|
|
|
import org.gradle.api.JavaVersion;
|
|
|
|
|
import org.gradle.api.Project;
|
|
|
|
|
import org.gradle.api.Task;
|
|
|
|
|
import org.gradle.api.artifacts.Configuration;
|
|
|
|
|
import org.gradle.api.artifacts.ConfigurationContainer;
|
|
|
|
|
import org.gradle.api.artifacts.Dependency;
|
|
|
|
@ -147,10 +154,14 @@ class JavaConventions {
|
|
|
|
|
project.getTasks().withType(Test.class, (test) -> {
|
|
|
|
|
test.useJUnitPlatform();
|
|
|
|
|
test.setMaxHeapSize("1024M");
|
|
|
|
|
CopyJdk8156584SecurityProperties copyJdk8156584SecurityProperties = new CopyJdk8156584SecurityProperties(
|
|
|
|
|
project);
|
|
|
|
|
if (buildingWithJava8(project)) {
|
|
|
|
|
test.systemProperty("java.security.properties",
|
|
|
|
|
getClass().getClassLoader().getResource("jdk-8156584-security.properties"));
|
|
|
|
|
"file:" + test.getWorkingDir().toPath().relativize(copyJdk8156584SecurityProperties.output));
|
|
|
|
|
test.setDebug(true);
|
|
|
|
|
}
|
|
|
|
|
test.doFirst(copyJdk8156584SecurityProperties);
|
|
|
|
|
});
|
|
|
|
|
project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> project.getDependencies()
|
|
|
|
|
.add(JavaPlugin.TEST_RUNTIME_ONLY_CONFIGURATION_NAME, "org.junit.platform:junit-platform-launcher"));
|
|
|
|
@ -226,4 +237,27 @@ class JavaConventions {
|
|
|
|
|
project.getPlugins().apply(ToolchainPlugin.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static final class CopyJdk8156584SecurityProperties implements Action<Task> {
|
|
|
|
|
|
|
|
|
|
private static final String SECURITY_PROPERTIES_FILE_NAME = "jdk-8156584-security.properties";
|
|
|
|
|
|
|
|
|
|
private final Path output;
|
|
|
|
|
|
|
|
|
|
private CopyJdk8156584SecurityProperties(Project project) {
|
|
|
|
|
this.output = new File(project.getBuildDir(), SECURITY_PROPERTIES_FILE_NAME).toPath();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void execute(Task task) {
|
|
|
|
|
try (InputStream input = getClass().getClassLoader()
|
|
|
|
|
.getResourceAsStream(CopyJdk8156584SecurityProperties.SECURITY_PROPERTIES_FILE_NAME)) {
|
|
|
|
|
Files.copy(input, this.output);
|
|
|
|
|
}
|
|
|
|
|
catch (IOException ex) {
|
|
|
|
|
throw new RuntimeException(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|