commit
2106114f64
|
|
@ -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…
Reference in New Issue