Merge branch '2.7.x'

This commit is contained in:
Phillip Webb
2022-02-16 20:27:18 -08:00
8 changed files with 39 additions and 36 deletions

View File

@@ -25,6 +25,7 @@ import java.util.concurrent.Callable;
import org.gradle.api.GradleException;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.distribution.Distribution;
import org.gradle.api.distribution.DistributionContainer;
import org.gradle.api.file.CopySpec;
@@ -67,10 +68,7 @@ final class ApplicationPluginAction implements PluginApplicationAction {
.setTemplate(project.getResources().getText().fromString(loadResource("/windowsStartScript.txt")));
project.getConfigurations().all((configuration) -> {
if ("bootArchives".equals(configuration.getName())) {
CopySpec libCopySpec = project.copySpec().into("lib")
.from((Callable<FileCollection>) () -> configuration.getArtifacts().getFiles());
libCopySpec.setFileMode(0644);
distribution.getContents().with(libCopySpec);
distribution.getContents().with(artifactFilesToLibCopySpec(project, configuration));
createStartScripts.setClasspath(configuration.getArtifacts().getFiles());
}
});
@@ -80,6 +78,16 @@ final class ApplicationPluginAction implements PluginApplicationAction {
createStartScripts.getConventionMapping().map("defaultJvmOpts", javaApplication::getApplicationDefaultJvmArgs);
}
private CopySpec artifactFilesToLibCopySpec(Project project, Configuration configuration) {
CopySpec copySpec = project.copySpec().into("lib").from(artifactFiles(configuration));
copySpec.setFileMode(0644);
return copySpec;
}
private Callable<FileCollection> artifactFiles(Configuration configuration) {
return () -> configuration.getArtifacts().getFiles();
}
@Override
public Class<? extends Plugin<Project>> getPluginClass() {
return ApplicationPlugin.class;

View File

@@ -82,7 +82,7 @@ final class JavaPluginAction implements PluginApplicationAction {
configureBootBuildImageTask(project, bootJar);
configureArtifactPublication(bootJar);
configureBootRunTask(project);
configureUtf8Encoding(project);
project.afterEvaluate(this::configureUtf8Encoding);
configureParametersCompilerArg(project);
configureAdditionalMetadataLocations(project);
}
@@ -166,13 +166,14 @@ final class JavaPluginAction implements PluginApplicationAction {
return project.getExtensions().getByType(JavaPluginExtension.class);
}
private void configureUtf8Encoding(Project project) {
project.afterEvaluate(
(evaluated) -> evaluated.getTasks().withType(JavaCompile.class).configureEach((compile) -> {
if (compile.getOptions().getEncoding() == null) {
compile.getOptions().setEncoding("UTF-8");
}
}));
private void configureUtf8Encoding(Project evaluatedProject) {
evaluatedProject.getTasks().withType(JavaCompile.class).configureEach(this::configureUtf8Encoding);
}
private void configureUtf8Encoding(JavaCompile compile) {
if (compile.getOptions().getEncoding() == null) {
compile.getOptions().setEncoding("UTF-8");
}
}
private void configureParametersCompilerArg(Project project) {