浏览代码

Merge branch '5.6.x' into 5.7.x

Closes gh-11767
Marcus Da Coregio 3 年之前
父节点
当前提交
db95f6d5c5

+ 1 - 0
build.gradle

@@ -204,6 +204,7 @@ tasks.register('checkSamples') {
 	includeCheckRemote {
 		repository = 'spring-projects/spring-security-samples'
 		ref = samplesBranch
+		buildScan = true
 		if (project.hasProperty("samplesInitScript")) {
 			initScripts = [samplesInitScript]
 			projectProperties = ["localRepositoryPath": localRepositoryPath, "springSecurityVersion": project.version]

+ 6 - 0
buildSrc/src/main/groovy/io/spring/gradle/convention/IncludeCheckRemotePlugin.groovy

@@ -39,6 +39,7 @@ class IncludeCheckRemotePlugin implements Plugin<Project> {
 			it.dependsOn 'includeRepo'
 			it.dir = includeRepoTask.get().outputDirectory
 			it.tasks = extension.getTasks()
+			it.startParameter.buildScan = extension.getBuildScan()
 			extension.getInitScripts().forEach {script ->
 				it.startParameter.addInitScript(new File(script))
 			}
@@ -75,6 +76,11 @@ class IncludeCheckRemotePlugin implements Plugin<Project> {
 		 */
 		Map<String, String> projectProperties = [:]
 
+		/**
+		 * Whether the Build Scan should be published
+		 */
+		boolean buildScan = false
+
 	}
 
 }

+ 31 - 0
buildSrc/src/test/java/io/spring/gradle/convention/IncludeCheckRemotePluginTest.java

@@ -145,4 +145,35 @@ class IncludeCheckRemotePluginTest {
 		assertThat(checkRemote).isNotNull();
 	}
 
+	@Test
+	void applyWhenNoBuildScanSpecifiedThenRegisterCheckRemoteTaskWithBuildScanFalse() {
+		this.rootProject = ProjectBuilder.builder().build();
+		this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class);
+		this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class,
+				(includeCheckRemoteExtension) -> {
+					includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository");
+					includeCheckRemoteExtension.setProperty("ref", "main");
+				});
+
+		GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get();
+		assertThat(checkRemote).isNotNull();
+		assertThat(checkRemote.getStartParameter().isBuildScan()).isFalse();
+	}
+
+	@Test
+	void applyWhenBuildScanTrueThenRegisterCheckRemoteTaskWithBuildScanTrue() {
+		this.rootProject = ProjectBuilder.builder().build();
+		this.rootProject.getPluginManager().apply(IncludeCheckRemotePlugin.class);
+		this.rootProject.getExtensions().configure(IncludeCheckRemotePlugin.IncludeCheckRemoteExtension.class,
+				(includeCheckRemoteExtension) -> {
+					includeCheckRemoteExtension.setProperty("repository", "my-project/my-repository");
+					includeCheckRemoteExtension.setProperty("ref", "main");
+					includeCheckRemoteExtension.setProperty("buildScan", true);
+				});
+
+		GradleBuild checkRemote = (GradleBuild) this.rootProject.getTasks().named("checkRemote").get();
+		assertThat(checkRemote).isNotNull();
+		assertThat(checkRemote.getStartParameter().isBuildScan()).isTrue();
+	}
+
 }