From 20fe95b2760111e024ad2e216989f4e486135361 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Sat, 11 Mar 2017 16:26:09 +0000 Subject: [PATCH] React to the Java plugin being applied rather than always applying it --- .../boot/gradle/plugin/SpringBootPlugin.java | 4 +--- .../boot/gradle/repackage/RepackagePluginFeatures.java | 8 +++++--- .../boot/gradle/run/RunPluginFeatures.java | 9 ++++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java index 604ca6fe24..403a38cbbe 100644 --- a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java +++ b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 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. @@ -20,7 +20,6 @@ import org.gradle.api.Action; import org.gradle.api.Plugin; import org.gradle.api.Project; import org.gradle.api.Task; -import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.tasks.compile.JavaCompile; import org.springframework.boot.gradle.SpringBootPluginExtension; @@ -42,7 +41,6 @@ public class SpringBootPlugin implements Plugin { public void apply(Project project) { project.getExtensions().create("springBoot", SpringBootPluginExtension.class, project); - project.getPlugins().apply(JavaPlugin.class); new AgentPluginFeatures().apply(project); new RepackagePluginFeatures().apply(project); new RunPluginFeatures().apply(project); diff --git a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/repackage/RepackagePluginFeatures.java b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/repackage/RepackagePluginFeatures.java index b979ed4c7d..f7a540874d 100644 --- a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/repackage/RepackagePluginFeatures.java +++ b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/repackage/RepackagePluginFeatures.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2015 the original author or authors. + * Copyright 2012-2017 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. @@ -53,8 +53,10 @@ public class RepackagePluginFeatures implements PluginFeatures { @Override public void apply(Project project) { - addRepackageTask(project); - registerRepackageTaskProperty(project); + project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> { + addRepackageTask(project); + registerRepackageTaskProperty(project); + }); } private void addRepackageTask(Project project) { diff --git a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/run/RunPluginFeatures.java b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/run/RunPluginFeatures.java index ad56178980..4ac2b1e507 100644 --- a/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/run/RunPluginFeatures.java +++ b/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/run/RunPluginFeatures.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2016 the original author or authors. + * Copyright 2012-2017 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. @@ -23,6 +23,7 @@ import org.gradle.api.Action; import org.gradle.api.Project; import org.gradle.api.Task; import org.gradle.api.plugins.ExtraPropertiesExtension; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginConvention; import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.application.CreateStartScripts; @@ -42,8 +43,10 @@ public class RunPluginFeatures implements PluginFeatures { @Override public void apply(Project project) { - mainClassNameFinder(project); - addBootRunTask(project); + project.getPlugins().withType(JavaPlugin.class, (javaPlugin) -> { + mainClassNameFinder(project); + addBootRunTask(project); + }); } private void mainClassNameFinder(Project project) {