Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change Gradle dependency artifact breaks on platform dependency in docs/spring-authorization-server-docs.gradle #4090

Open
knutwannheden opened this issue Mar 12, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@knutwannheden
Copy link
Contributor

knutwannheden commented Mar 12, 2024

Problem

Recipe can't handle Gradle dependency with exclude.

Example diff

From: docs/spring-authorization-server-docs.gradle

    }

dependencies {
-	implementation(platform("org.springframework.boot:spring-boot-dependencies:3.2.2")) {
+	{{80000000-0000-012e-0000-000000000000}}implementation(platform("org.springframework.boot:spring-boot-dependencies:3.2.2")) {
exclude group: "org.springframework.security", module: "spring-security-oauth2-authorization-server"
-	}
+	}{{80000000-0000-012e-0000-000000000000}}
implementation platform("org.springframework.security:spring-security-bom:6.1.0")
implementation "org.springframework.boot:spring-boot-starter-web"
implementation "org.springframework.boot:spring-boot-starter-thymeleaf"

Recipes in example diff:

  • org.openrewrite.gradle.ChangeDependencyArtifactId

Error messages:

org.openrewrite.gradle.ChangeDependencyArtifactId$1.lambda$visitMethodInvocation$0(ChangeDependencyArtifactId.java:102)
org.openrewrite.internal.ListUtils.map(ListUtils.java:176)
org.openrewrite.gradle.ChangeDependencyArtifactId$1.visitMethodInvocation(ChangeDependencyArtifactId.java:102)
org.openrewrite.gradle.ChangeDependencyArtifactId$1.visitMethodInvocation(ChangeDependencyArtifactId.java:85)
org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:3932)
org.openrewrite.java.tree.J.accept(J.java:59)
org.openrewrite.TreeVisitor.visit(TreeVisitor.java:283)
org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:366)
org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1375)
org.openrewrite.java.JavaVisitor.lambda$visitBlock$4(JavaVisitor.java:401)
org.openrewrite.internal.ListUtils.map(ListUtils.java:176)
org.openrewrite.java.JavaVisitor.visitBlock(JavaVisitor.java:400)
org.openrewrite.java.tree.J$Block.acceptJava(J.java:838)
org.openrewrite.java.tree.J.accept(J.java:59)
org.openrewrite.TreeVisitor.visit(TreeVisitor.java:283)
org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:366)
...

References:

  • View original result
  • Recipe ID: org.openrewrite.gradle.ChangeDependencyArtifactId
  • Recipe Name: Change Gradle dependency artifact
  • Repository: spring-projects/spring-authorization-server/main
  • Created at Tue Mar 12 2024 21:01:25 GMT+0100 (Central European Standard Time)
@knutwannheden knutwannheden added the bug Something isn't working label Mar 12, 2024
@shanman190
Copy link
Contributor

So more specifically this is an exclude on a platform dependency only. It looks like the fix is to switch from ListUtils.map to ListUtils.mapFirst as is done with the other recipes that enact similar changes.

@timtebeek timtebeek changed the title Issue discovered on docs/spring-authorization-server-docs.gradle with Change Gradle dependency artifact Change Gradle dependency artifact breaks on platform dependency in docs/spring-authorization-server-docs.gradle May 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Backlog
Development

No branches or pull requests

2 participants