Merge branch '2.4.x' into 2.5.x

Closes gh-26933
pull/26949/head
Andy Wilkinson 3 years ago
commit 560d272db3

@ -47,7 +47,6 @@ public class ConventionsPlugin implements Plugin<Project> {
new MavenPublishingConventions().apply(project); new MavenPublishingConventions().apply(project);
new AsciidoctorConventions().apply(project); new AsciidoctorConventions().apply(project);
new KotlinConventions().apply(project); new KotlinConventions().apply(project);
new EclipseConventions().apply(project);
} }
} }

@ -1,40 +0,0 @@
/*
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.build;
import org.gradle.api.Project;
import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.plugins.ide.eclipse.EclipsePlugin;
import org.gradle.plugins.ide.eclipse.model.EclipseModel;
/**
* Conventions that are applied in the presence of the {@link JavaBasePlugin} in order to
* correctly configure Eclipse.
*
* @author Phillip Webb
*/
class EclipseConventions {
void apply(Project project) {
project.getPlugins().withType(JavaBasePlugin.class, (java) -> {
project.getPlugins().apply(EclipsePlugin.class);
EclipseModel eclipse = project.getExtensions().getByType(EclipseModel.class);
eclipse.getJdt().setJavaRuntimeName("JavaSE-1.8");
});
}
}

@ -43,6 +43,7 @@ import org.gradle.api.artifacts.Dependency;
import org.gradle.api.artifacts.DependencySet; import org.gradle.api.artifacts.DependencySet;
import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.plugins.quality.Checkstyle; import org.gradle.api.plugins.quality.Checkstyle;
import org.gradle.api.plugins.quality.CheckstyleExtension; import org.gradle.api.plugins.quality.CheckstyleExtension;
import org.gradle.api.plugins.quality.CheckstylePlugin; import org.gradle.api.plugins.quality.CheckstylePlugin;
@ -64,6 +65,7 @@ import org.springframework.boot.build.toolchain.ToolchainPlugin;
* plugin is applied: * plugin is applied:
* *
* <ul> * <ul>
* <li>The project is configered with source and target compatibility of 1.8
* <li>{@link SpringJavaFormatPlugin Spring Java Format}, {@link CheckstylePlugin * <li>{@link SpringJavaFormatPlugin Spring Java Format}, {@link CheckstylePlugin
* Checkstyle}, {@link TestFailuresPlugin Test Failures}, and {@link TestRetryPlugin Test * Checkstyle}, {@link TestFailuresPlugin Test Failures}, and {@link TestRetryPlugin Test
* Retry} plugins are applied * Retry} plugins are applied
@ -78,11 +80,7 @@ import org.springframework.boot.build.toolchain.ToolchainPlugin;
* {@link JavaPlugin} applied * {@link JavaPlugin} applied
* <li>{@link JavaCompile}, {@link Javadoc}, and {@link FormatTask} tasks are configured * <li>{@link JavaCompile}, {@link Javadoc}, and {@link FormatTask} tasks are configured
* to use UTF-8 encoding * to use UTF-8 encoding
* <li>{@link JavaCompile} tasks are configured: * <li>{@link JavaCompile} tasks are configured to use {@code -parameters}.
* <ul>
* <li>to use {@code -parameters}
* <li>with source and target compatibility of 1.8
* </ul>
* <li>When building with Java 8, {@link JavaCompile} tasks are also configured to: * <li>When building with Java 8, {@link JavaCompile} tasks are also configured to:
* <ul> * <ul>
* <li>Treat warnings as errors * <li>Treat warnings as errors
@ -116,7 +114,7 @@ class JavaConventions {
project.getPlugins().withType(JavaBasePlugin.class, (java) -> { project.getPlugins().withType(JavaBasePlugin.class, (java) -> {
project.getPlugins().apply(TestFailuresPlugin.class); project.getPlugins().apply(TestFailuresPlugin.class);
configureSpringJavaFormat(project); configureSpringJavaFormat(project);
configureJavaCompileConventions(project); configureJavaConventions(project);
configureJavadocConventions(project); configureJavadocConventions(project);
configureTestConventions(project); configureTestConventions(project);
configureJarManifestConventions(project); configureJarManifestConventions(project);
@ -195,7 +193,9 @@ class JavaConventions {
project.getTasks().withType(Javadoc.class, (javadoc) -> javadoc.getOptions().source("1.8").encoding("UTF-8")); project.getTasks().withType(Javadoc.class, (javadoc) -> javadoc.getOptions().source("1.8").encoding("UTF-8"));
} }
private void configureJavaCompileConventions(Project project) { private void configureJavaConventions(Project project) {
JavaPluginExtension javaPluginExtension = project.getExtensions().getByType(JavaPluginExtension.class);
javaPluginExtension.setSourceCompatibility(JavaVersion.toVersion(SOURCE_AND_TARGET_COMPATIBILITY));
project.getTasks().withType(JavaCompile.class, (compile) -> { project.getTasks().withType(JavaCompile.class, (compile) -> {
compile.getOptions().setEncoding("UTF-8"); compile.getOptions().setEncoding("UTF-8");
compile.setSourceCompatibility(SOURCE_AND_TARGET_COMPATIBILITY); compile.setSourceCompatibility(SOURCE_AND_TARGET_COMPATIBILITY);

Loading…
Cancel
Save