diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy index b468cfcff9..bb4b6618f8 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/AbstractSpringJavaPlugin.groovy @@ -28,7 +28,8 @@ import org.gradle.plugins.ide.eclipse.EclipseWtpPlugin; import org.gradle.plugins.ide.idea.IdeaPlugin; import io.spring.gradle.propdeps.PropDepsEclipsePlugin; import io.spring.gradle.propdeps.PropDepsIdeaPlugin; -import io.spring.gradle.propdeps.PropDepsPlugin; +import io.spring.gradle.propdeps.PropDepsPlugin +import org.springframework.gradle.CopyPropertiesPlugin; /** * @author Rob Winch @@ -59,10 +60,7 @@ public abstract class AbstractSpringJavaPlugin implements Plugin { pluginManager.apply("io.spring.convention.dependency-set"); pluginManager.apply("io.spring.convention.javadoc-options"); pluginManager.apply("io.spring.convention.checkstyle"); - - copyPropertyFromRootProjectTo("group", project); - copyPropertyFromRootProjectTo("version", project); - copyPropertyFromRootProjectTo("description", project); + pluginManager.apply(CopyPropertiesPlugin); project.jar { manifest.attributes["Created-By"] = @@ -74,13 +72,5 @@ public abstract class AbstractSpringJavaPlugin implements Plugin { additionalPlugins(project); } - private void copyPropertyFromRootProjectTo(String propertyName, Project project) { - Project rootProject = project.getRootProject(); - Object property = rootProject.findProperty(propertyName); - if(property != null) { - project.setProperty(propertyName, property); - } - } - protected abstract void additionalPlugins(Project project); } diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy index d36325adc9..fe94e81af4 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/MavenBomPlugin.groovy @@ -4,6 +4,7 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.plugins.JavaPlatformPlugin import org.sonarqube.gradle.SonarQubePlugin +import org.springframework.gradle.CopyPropertiesPlugin import org.springframework.gradle.maven.SpringMavenPlugin public class MavenBomPlugin implements Plugin { @@ -12,5 +13,6 @@ public class MavenBomPlugin implements Plugin { public void apply(Project project) { project.plugins.apply(JavaPlatformPlugin) project.plugins.apply(SpringMavenPlugin) + project.plugins.apply(CopyPropertiesPlugin) } } diff --git a/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java b/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java new file mode 100644 index 0000000000..69a2dd9db2 --- /dev/null +++ b/buildSrc/src/main/java/org/springframework/gradle/CopyPropertiesPlugin.java @@ -0,0 +1,22 @@ +package org.springframework.gradle; + +import org.gradle.api.Plugin; +import org.gradle.api.Project; + +public class CopyPropertiesPlugin implements Plugin { + @Override + public void apply(Project project) { + copyPropertyFromRootProjectTo("group", project); + copyPropertyFromRootProjectTo("version", project); + copyPropertyFromRootProjectTo("description", project); + } + + + private void copyPropertyFromRootProjectTo(String propertyName, Project project) { + Project rootProject = project.getRootProject(); + Object property = rootProject.findProperty(propertyName); + if(property != null) { + project.setProperty(propertyName, property); + } + } +}