Skip to content

Commit 47969ec

Browse files
Fix verifyDependenciesVersions not working with s101
Issue gh-14047
1 parent 6654479 commit 47969ec

File tree

1 file changed

+14
-21
lines changed

1 file changed

+14
-21
lines changed

buildSrc/src/main/java/org/springframework/security/convention/versions/VerifyDependenciesVersionsPlugin.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717
package org.springframework.security.convention.versions;
1818

1919
import java.util.ArrayList;
20-
import java.util.Collections;
2120
import java.util.List;
2221
import java.util.Map;
23-
import java.util.Set;
2422
import java.util.stream.Collectors;
2523

2624
import org.gradle.api.DefaultTask;
@@ -39,31 +37,22 @@ public void apply(Project project) {
3937
TaskProvider<VerifyDependenciesVersionsTask> verifyDependenciesVersionsTaskProvider = project.getTasks().register("verifyDependenciesVersions", VerifyDependenciesVersionsTask.class, (task) -> {
4038
task.setGroup("Verification");
4139
task.setDescription("Verify that specific dependencies are using the same version");
42-
List<Configuration> allConfigurations = new ArrayList<>();
43-
allConfigurations.addAll(getConfigurations(project));
44-
allConfigurations.addAll(getSubprojectsConfigurations(project.getSubprojects()));
40+
List<Configuration> allConfigurations = new ArrayList<>(getConfigurations(project));
4541
task.setConfigurations(allConfigurations);
4642
});
4743
project.getTasks().named(JavaBasePlugin.CHECK_TASK_NAME, checkTask -> checkTask.dependsOn(verifyDependenciesVersionsTaskProvider));
4844
}
4945

50-
private List<Configuration> getConfigurations(Project project) {
51-
return project.getConfigurations().stream()
52-
.filter(Configuration::isCanBeResolved)
53-
.filter((config) -> config.getName().equals("runtimeClasspath"))
54-
.collect(Collectors.toList());
55-
}
56-
57-
private List<Configuration> getSubprojectsConfigurations(Set<Project> subprojects) {
58-
if (subprojects.isEmpty()) {
59-
return Collections.emptyList();
60-
}
61-
List<Configuration> subprojectConfigurations = new ArrayList<>();
62-
for (Project subproject : subprojects) {
63-
subprojectConfigurations.addAll(getConfigurations(subproject));
64-
subprojectConfigurations.addAll(getSubprojectsConfigurations(subproject.getSubprojects()));
46+
private List<Configuration> getConfigurations(Project rootProject) {
47+
List<Configuration> configurations = new ArrayList<>();
48+
for (Project project : rootProject.getAllprojects()) {
49+
List<Configuration> runtimeClasspath = project.getConfigurations().stream()
50+
.filter(Configuration::isCanBeResolved)
51+
.filter((config) -> config.getName().equals("runtimeClasspath"))
52+
.collect(Collectors.toList());
53+
configurations.addAll(runtimeClasspath);
6554
}
66-
return subprojectConfigurations;
55+
return configurations;
6756
}
6857

6958
public static class VerifyDependenciesVersionsTask extends DefaultTask {
@@ -79,6 +68,10 @@ public void verify() {
7968
Map<String, List<Artifact>> artifacts = getDependencies(this.configurations);
8069
List<Artifact> oauth2OidcSdk = artifacts.get("oauth2-oidc-sdk");
8170
List<Artifact> nimbusJoseJwt = artifacts.get("nimbus-jose-jwt");
71+
if (oauth2OidcSdk == null) {
72+
// Could not resolve oauth2-oidc-sdk
73+
return;
74+
}
8275
if (oauth2OidcSdk.size() > 1) {
8376
throw new IllegalStateException("Found multiple versions of oauth2-oidc-sdk: " + oauth2OidcSdk);
8477
}

0 commit comments

Comments
 (0)