Skip to content

Exception in v2-migration V1BuilderVariationsToV2Builder #6287

@neseleznev

Description

@neseleznev

Describe the bug

OpenRewrite plugin failed to execute

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

Bumps AWS SDK v1 -> v2

Current Behavior

[ERROR] Failed to execute goal org.openrewrite.maven:rewrite-maven-plugin:6.13.0:run (default-cli) on project bencorp-microservices: Execution default-cli of goal org.openrewrite.maven:rewrite-maven-plugin:6.13.0:run failed: Error while visiting microservices/ms-common/src/main/java/com/bencorp/ms/common/aws/sqs/SqsUtil.java: java.lang.NoSuchMethodError: 'void org.openrewrite.java.tree.JavaType$Method.<init>(java.lang.Integer, long, org.openrewrite.java.tree.JavaType$FullyQualified, java.lang.String, org.openrewrite.java.tree.JavaType, java.util.List, java.util.List, java.util.List, java.util.List)'
[ERROR]   software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder$Visitor.renameStandardToBuilderOrDefaultClientToCreate(V1BuilderVariationsToV2Builder.java:138)
[ERROR]   software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder$Visitor.visitMethodInvocation(V1BuilderVariationsToV2Builder.java:85)
[ERROR]   software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder$Visitor.visitMethodInvocation(V1BuilderVariationsToV2Builder.java:63)
[ERROR]   org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4290)
[ERROR]   org.openrewrite.java.tree.J.accept(J.java:60)
[ERROR]   org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
[ERROR]   org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)
[ERROR]   org.openrewrite.java.JavaVisitor.visitRightPadded(JavaVisitor.java:1374)
[ERROR]   org.openrewrite.java.JavaVisitor.visitMethodInvocation(JavaVisitor.java:907)
[ERROR]   org.openrewrite.java.JavaIsoVisitor.visitMethodInvocation(JavaIsoVisitor.java:239)
[ERROR]   software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder$Visitor.visitMethodInvocation(V1BuilderVariationsToV2Builder.java:67)
[ERROR]   software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder$Visitor.visitMethodInvocation(V1BuilderVariationsToV2Builder.java:63)
[ERROR]   org.openrewrite.java.tree.J$MethodInvocation.acceptJava(J.java:4290)
[ERROR]   org.openrewrite.java.tree.J.accept(J.java:60)
[ERROR]   org.openrewrite.TreeVisitor.visit(TreeVisitor.java:245)
[ERROR]   org.openrewrite.TreeVisitor.visitAndCast(TreeVisitor.java:311)

Reproduction Steps

I'm not sure what class in particular caused the error as it's not in the output

Possible Solution

As OpenRewrite does not allow to exclude recipes, I had to include all the rest:

            <plugin>
              <groupId>org.openrewrite.maven</groupId>
              <artifactId>rewrite-maven-plugin</artifactId>
              <version>6.13.0</version>
              <configuration>
                <exportDatatables>true</exportDatatables>
                <activeRecipes>
<!--                  <recipe>software.amazon.awssdk.v2migration.AwsSdkJavaV1ToV2</recipe>-->

                    <recipe>software.amazon.awssdk.v2migration.AddS3EventNotificationDependency</recipe>
                    <recipe>software.amazon.awssdk.v2migration.UpgradeSdkDependencies</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3AddImportsAndComments</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3EventNotificationMethodToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3TypesToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3StreamingResponseToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3StreamingRequestToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3NonStreamingRequestToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3MethodsToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3EventNotificationMethodsToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3MethodsConstructorToFluent</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3UriToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.EnumGettersToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.ChangeS3EventNotificationTypes</recipe>
                    <recipe>software.amazon.awssdk.v2migration.ChangeSdkType</recipe>
                    <recipe>software.amazon.awssdk.v2migration.ChangeSdkCoreTypes</recipe>
<!--                    #- software.amazon.awssdk.v2migration.V1BuilderVariationsToV2Builder-->
                    <recipe>software.amazon.awssdk.v2migration.NewClassToBuilderPattern</recipe>
                    <recipe>software.amazon.awssdk.v2migration.NewClassToStaticFactory</recipe>
                    <recipe>software.amazon.awssdk.v2migration.V1GetterToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.HttpSettingsToHttpClient</recipe>
                    <recipe>software.amazon.awssdk.v2migration.WrapSdkClientBuilderRegionStr</recipe>
                    <recipe>software.amazon.awssdk.v2migration.EnumCasingToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.SdkBytesToByteBuffer</recipe>
                    <recipe>software.amazon.awssdk.v2migration.ByteBufferToSdkBytes</recipe>
                    <recipe>software.amazon.awssdk.v2migration.DateToInstant</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3NonStreamingRequestToV2Complex</recipe>
                    <recipe>software.amazon.awssdk.v2migration.S3PutObjectRequestToV2</recipe>
                    <recipe>software.amazon.awssdk.v2migration.SettersToBuilderV2</recipe>
                </activeRecipes>
              </configuration>
              <dependencies>
                <dependency>
                    <groupId>org.openrewrite.recipe</groupId>
                    <artifactId>rewrite-third-party</artifactId>
                    <version>0.24.0</version>
                </dependency>
              </dependencies>
            </plugin>

Additional Information/Context

No response

AWS Java SDK version used

OpenRewrite recite

JDK version used

openjdk 17.0.10 2024-01-16 LTS OpenJDK Runtime Environment GraalVM 22.3.5 (build 17.0.10+13-LTS) OpenJDK 64-Bit Server VM GraalVM 22.3.5 (build 17.0.10+13-LTS, mixed mode, sharing)

Operating System and version

macOS 15.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.closed-for-stalenessmigration-toolThis issue is about the Java SDK v1 to v2 Migration Tool.response-requestedWaiting on additional info and feedback. Will move to "closing-soon" in 10 days.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions