Skip to content

Commit 18ef447

Browse files
Altering check for AddDependency to compare versions differently when direct vs indirect dependency. (#6505)
* If transitive, actually just allow regardless of version, as per old behaviour.
1 parent 46096ff commit 18ef447

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

rewrite-maven/src/main/java/org/openrewrite/maven/AddDependency.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.openrewrite.maven.tree.ResolvedGroupArtifactVersion;
3131
import org.openrewrite.maven.tree.Scope;
3232
import org.openrewrite.semver.Semver;
33+
import org.openrewrite.semver.VersionComparator;
3334
import org.openrewrite.xml.tree.Xml;
3435

3536
import java.util.*;
@@ -219,14 +220,17 @@ public Xml visitDocument(Xml.Document document, ExecutionContext ctx) {
219220
return maven;
220221
}
221222

223+
VersionComparator vc = requireNonNull(Semver.validate(version, versionPattern).getValue());
224+
222225
// If the dependency is already in compile scope it will be available everywhere, no need to continue
223226
Map<Scope, List<ResolvedDependency>> dependencies = getResolutionResult().getDependencies();
224227
if (dependencies.get(Scope.Compile) != null) {
225228
for (ResolvedDependency d : dependencies.get(Scope.Compile)) {
226229
if (hasAcceptableTransitivity(d, acc) &&
227230
groupId.equals(d.getGroupId()) &&
228231
artifactId.equals(d.getArtifactId()) &&
229-
version.equals(d.getVersion())
232+
(d.isTransitive() ||
233+
(d.isDirect() && version.equals(d.getVersion())))
230234
) {
231235
return maven;
232236
}

0 commit comments

Comments
 (0)