Преглед на файлове

copyproperties for bom plugin

Rob Winch преди 4 години
родител
ревизия
b750f3b86c

+ 3 - 13
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<Project> {
 		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<Project> {
 		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);
 }

+ 2 - 0
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<Project> {
@@ -12,5 +13,6 @@ public class MavenBomPlugin implements Plugin<Project> {
 	public void apply(Project project) {
 		project.plugins.apply(JavaPlatformPlugin)
 		project.plugins.apply(SpringMavenPlugin)
+		project.plugins.apply(CopyPropertiesPlugin)
 	}
 }

+ 22 - 0
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<Project> {
+	@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);
+		}
+	}
+}