浏览代码

Merge branch '6.0.x' into 6.1.x

Marcus Hert Da Coregio 1 年之前
父节点
当前提交
1eaaa90e43

+ 14 - 21
buildSrc/src/main/java/org/springframework/security/convention/versions/VerifyDependenciesVersionsPlugin.java

@@ -17,10 +17,8 @@
 package org.springframework.security.convention.versions;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.gradle.api.DefaultTask;
@@ -39,31 +37,22 @@ public class VerifyDependenciesVersionsPlugin implements Plugin<Project> {
 		TaskProvider<VerifyDependenciesVersionsTask> verifyDependenciesVersionsTaskProvider = project.getTasks().register("verifyDependenciesVersions", VerifyDependenciesVersionsTask.class, (task) -> {
 			task.setGroup("Verification");
 			task.setDescription("Verify that specific dependencies are using the same version");
-			List<Configuration> allConfigurations = new ArrayList<>();
-			allConfigurations.addAll(getConfigurations(project));
-			allConfigurations.addAll(getSubprojectsConfigurations(project.getSubprojects()));
+			List<Configuration> allConfigurations = new ArrayList<>(getConfigurations(project));
 			task.setConfigurations(allConfigurations);
 		});
 		project.getTasks().named(JavaBasePlugin.CHECK_TASK_NAME, checkTask -> checkTask.dependsOn(verifyDependenciesVersionsTaskProvider));
 	}
 
-	private List<Configuration> getConfigurations(Project project) {
-		return project.getConfigurations().stream()
-				.filter(Configuration::isCanBeResolved)
-				.filter((config) -> config.getName().equals("runtimeClasspath"))
-				.toList();
-	}
-
-	private List<Configuration> getSubprojectsConfigurations(Set<Project> subprojects) {
-		if (subprojects.isEmpty()) {
-			return Collections.emptyList();
-		}
-		List<Configuration> subprojectConfigurations = new ArrayList<>();
-		for (Project subproject : subprojects) {
-			subprojectConfigurations.addAll(getConfigurations(subproject));
-			subprojectConfigurations.addAll(getSubprojectsConfigurations(subproject.getSubprojects()));
+	private List<Configuration> getConfigurations(Project rootProject) {
+		List<Configuration> configurations = new ArrayList<>();
+		for (Project project : rootProject.getAllprojects()) {
+			List<Configuration> runtimeClasspath = project.getConfigurations().stream()
+					.filter(Configuration::isCanBeResolved)
+					.filter((config) -> config.getName().equals("runtimeClasspath"))
+					.toList();
+			configurations.addAll(runtimeClasspath);
 		}
-		return subprojectConfigurations;
+		return configurations;
 	}
 
 	public static class VerifyDependenciesVersionsTask extends DefaultTask {
@@ -79,6 +68,10 @@ public class VerifyDependenciesVersionsPlugin implements Plugin<Project> {
 			Map<String, List<Artifact>> artifacts = getDependencies(this.configurations);
 			List<Artifact> oauth2OidcSdk = artifacts.get("oauth2-oidc-sdk");
 			List<Artifact> nimbusJoseJwt = artifacts.get("nimbus-jose-jwt");
+			if (oauth2OidcSdk == null) {
+				// Could not resolve oauth2-oidc-sdk
+				return;
+			}
 			if (oauth2OidcSdk.size() > 1) {
 				throw new IllegalStateException("Found multiple versions of oauth2-oidc-sdk: " + oauth2OidcSdk);
 			}