Skip to content

Commit 09853a2

Browse files
octylFractalwilkinsona
authored andcommitted
Check for ModuleComponentIdentifier explicitly
This fixes a future issue with an upcoming Gradle feature gradle/gradle#30320, where there would be a new non-module-id resulting in a bug similar to gradle/gradle#30239. This also fixes a minor bug as it is technically possible for getModuleVersion to return null. See gh-394
1 parent e85cd28 commit 09853a2

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/main/java/io/spring/gradle/dependencymanagement/internal/ExclusionResolver.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@
3131
import io.spring.gradle.dependencymanagement.internal.pom.Pom;
3232
import io.spring.gradle.dependencymanagement.internal.pom.PomReference;
3333
import io.spring.gradle.dependencymanagement.internal.pom.PomResolver;
34-
import org.gradle.api.artifacts.ModuleVersionIdentifier;
35-
import org.gradle.api.artifacts.component.ProjectComponentIdentifier;
34+
import org.gradle.api.artifacts.component.ModuleComponentIdentifier;
3635
import org.gradle.api.artifacts.result.ResolvedComponentResult;
3736

3837
/**
@@ -58,17 +57,16 @@ Map<String, Exclusions> resolveExclusions(Collection<ResolvedComponentResult> re
5857
List<PomReference> pomReferences = new ArrayList<>();
5958
Map<String, Exclusions> exclusionsById = new HashMap<>();
6059
for (ResolvedComponentResult resolvedComponent : resolvedComponents) {
61-
ModuleVersionIdentifier moduleVersion = resolvedComponent.getModuleVersion();
62-
if (!(resolvedComponent.getId() instanceof ProjectComponentIdentifier) && moduleVersion.getGroup() != null
63-
&& moduleVersion.getName() != null) {
64-
String id = moduleVersion.getGroup() + ":" + moduleVersion.getName();
60+
if (resolvedComponent.getId() instanceof ModuleComponentIdentifier) {
61+
ModuleComponentIdentifier identifier = (ModuleComponentIdentifier) resolvedComponent.getId();
62+
String id = identifier.getGroup() + ":" + identifier.getModule();
6563
Exclusions exclusions = this.exclusionsCache.get(id);
6664
if (exclusions != null) {
6765
exclusionsById.put(id, exclusions);
6866
}
6967
else {
70-
pomReferences.add(new PomReference(new Coordinates(moduleVersion.getGroup(),
71-
moduleVersion.getName(), moduleVersion.getVersion())));
68+
pomReferences.add(new PomReference(
69+
new Coordinates(identifier.getGroup(), identifier.getModule(), identifier.getVersion())));
7270
}
7371
}
7472
}

0 commit comments

Comments
 (0)