From c7f40359f3f71408fd202a4ba8d66ae1bc4d5d78 Mon Sep 17 00:00:00 2001 From: Zoe Wang <33073555+zoewangg@users.noreply.github.com> Date: Wed, 8 May 2024 10:37:03 -0700 Subject: [PATCH 1/4] Change package name for migration tool and update dependencies --- .brazil.json | 9 ++- buildspecs/release-javadoc.yml | 2 +- buildspecs/release-to-maven.yml | 2 +- migration-tool/pom.xml | 57 ++++++++----------- .../rewrite/upgrade-sdk-dependencies.yml | 42 ++++++++++++++ 5 files changed, 73 insertions(+), 39 deletions(-) diff --git a/.brazil.json b/.brazil.json index 312866640713..af754335deda 100644 --- a/.brazil.json +++ b/.brazil.json @@ -43,7 +43,7 @@ "dynamodb": { "packageName": "AwsJavaSdk-DynamoDb" }, "waf": { "packageName": "AwsJavaSdk-Waf" }, - "migration-tool": { "packageName": "AwsJavaSdk-MigrationTool"}, + "migration-tool": { "packageName": "AwsJavaSdk-Tooling-MigrationTool"}, "third-party-jackson-core": { "packageName": "AwsJavaSdk-ThirdParty-JacksonCore", @@ -102,7 +102,8 @@ "test-utils": { "skipImport": true }, "tests-coverage-reporting": { "skipImport": true }, "third-party": { "skipImport": true }, - "third-party-slf4j-api": { "skipImport": true } + "third-party-slf4j-api": { "skipImport": true }, + "migration-tool-tests": {"migration-tool-tests": true} }, "dependencies": { @@ -141,6 +142,8 @@ "org.junit.jupiter:junit-jupiter": { "packageName": "JUnit5", "packageVersion": "5.x" }, "org.mockito:mockito-core": { "packageName": "Mockito", "packageVersion": "3.x" }, "io.reactivex.rxjava3:rxjava": { "packageName": "RxJava", "packageVersion": "3.x" }, - "org.assertj:assertj-core": { "packageName": "AssertJ", "packageVersion": "3.22.x" } + "org.assertj:assertj-core": { "packageName": "AssertJ", "packageVersion": "3.22.x" }, + "org.openrewrite:rewrite-java-8": {"packageName": "Maven-org-openrewrite_rewrite-java-8", "packageVersion": "8.x"}, + "org.openrewrite:rewrite-java": {"packageName": "Maven-org-openrewrite_rewrite-java", "packageVersion": "8.x"} } } diff --git a/buildspecs/release-javadoc.yml b/buildspecs/release-javadoc.yml index ae3f82d3f8c4..496e91aa34eb 100644 --- a/buildspecs/release-javadoc.yml +++ b/buildspecs/release-javadoc.yml @@ -18,7 +18,7 @@ phases: commands: - python ./scripts/doc_crosslinks/generate_cross_link_data.py --apiDefinitionsBasePath ./services/ --apiDefinitionsRelativeFilePath src/main/resources/codegen-resources/service-2.json --templateFilePath ./scripts/doc_crosslinks/crosslink_redirect.html --outputFilePath ./scripts/crosslink_redirect.html - mvn install -P quick -T1C - - mvn clean install javadoc:aggregate -B -Ppublic-javadoc -Dcheckstyle.skip -Dspotbugs.skip -DskipTests -Ddoclint=none -pl '!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:s3-benchmarks,!:module-path-tests,!:test-utils,!:http-client-tests,!:tests-coverage-reporting,!:sdk-native-image-test,!:ruleset-testing-core,!:old-client-version-compatibility-test,!:migration-tool' + - mvn clean install javadoc:aggregate -B -Ppublic-javadoc -Dcheckstyle.skip -Dspotbugs.skip -DskipTests -Ddoclint=none -pl '!:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:s3-benchmarks,!:module-path-tests,!:test-utils,!:http-client-tests,!:tests-coverage-reporting,!:sdk-native-image-test,!:ruleset-testing-core,!:old-client-version-compatibility-test,!:migration-tool,!:migration-tool-tests' - RELEASE_VERSION=`mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec` - - aws s3 sync target/site/apidocs/ $DOC_PATH/$RELEASE_VERSION/ --acl="public-read" diff --git a/buildspecs/release-to-maven.yml b/buildspecs/release-to-maven.yml index 66a9fcde6525..fc17835e1144 100644 --- a/buildspecs/release-to-maven.yml +++ b/buildspecs/release-to-maven.yml @@ -34,7 +34,7 @@ phases: awk 'BEGIN { var=ENVIRON["SDK_SIGNING_GPG_KEYNAME"] } { gsub("\\$SDK_SIGNING_GPG_KEYNAME", var, $0); print }' > \ $SETTINGS_XML - mvn clean deploy -B -s $SETTINGS_XML -Ppublishing -DperformRelease -Dspotbugs.skip -DskipTests -Dcheckstyle.skip -Djapicmp.skip -Ddoclint=none -pl !:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests,!:tests-coverage-reporting,!:stability-tests,!:sdk-native-image-test,!:auth-tests,!:s3-benchmarks,!:region-testing,!:old-client-version-compatibility-test -DautoReleaseAfterClose=true -DstagingProgressTimeoutMinutes=30 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true + mvn clean deploy -B -s $SETTINGS_XML -Ppublishing -DperformRelease -Dspotbugs.skip -DskipTests -Dcheckstyle.skip -Djapicmp.skip -Ddoclint=none -pl !:protocol-tests,!:protocol-tests-core,!:codegen-generated-classes-test,!:sdk-benchmarks,!:module-path-tests,!:tests-coverage-reporting,!:stability-tests,!:sdk-native-image-test,!:auth-tests,!:s3-benchmarks,!:region-testing,!:old-client-version-compatibility-test,!:migration-tool-tests -DautoReleaseAfterClose=true -DstagingProgressTimeoutMinutes=30 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true else echo "This version was already released." fi diff --git a/migration-tool/pom.xml b/migration-tool/pom.xml index 2e738f3469fd..5ea548d02f3d 100644 --- a/migration-tool/pom.xml +++ b/migration-tool/pom.xml @@ -46,13 +46,32 @@ org.openrewrite rewrite-java - compile org.openrewrite rewrite-java-8 runtime + + software.amazon.awssdk + utils + ${project.version} + + + software.amazon.awssdk + sdk-core + ${project.version} + + + software.amazon.awssdk + auth + ${project.version} + + + software.amazon.awssdk + sts + ${project.version} + com.amazonaws @@ -81,14 +100,8 @@ org.openrewrite rewrite-maven - compile - - - - org.openrewrite.recipe - rewrite-migrate-java + test - org.openrewrite rewrite-test @@ -112,26 +125,6 @@ ${assertj.version} test - - software.amazon.awssdk - utils - ${project.version} - - - software.amazon.awssdk - sdk-core - ${project.version} - - - software.amazon.awssdk - auth - ${project.version} - - - software.amazon.awssdk - sts - ${project.version} - software.amazon.awssdk @@ -145,11 +138,6 @@ - - software.amazon.awssdk - utils - ${awsjavasdk.version} - @@ -158,7 +146,8 @@ org.apache.maven.plugins maven-dependency-plugin - true + false + false diff --git a/migration-tool/src/main/resources/META-INF/rewrite/upgrade-sdk-dependencies.yml b/migration-tool/src/main/resources/META-INF/rewrite/upgrade-sdk-dependencies.yml index 47731270c6b1..5d8e941d7116 100644 --- a/migration-tool/src/main/resources/META-INF/rewrite/upgrade-sdk-dependencies.yml +++ b/migration-tool/src/main/resources/META-INF/rewrite/upgrade-sdk-dependencies.yml @@ -185,6 +185,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: servicecatalog newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-timestreaminfluxdb + newGroupId: software.amazon.awssdk + newArtifactId: timestreaminfluxdb + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-lakeformation @@ -587,6 +593,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: paymentcryptography newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-chatbot + newGroupId: software.amazon.awssdk + newArtifactId: chatbot + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-fms @@ -725,6 +737,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: iotfleetwise newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-route53profiles + newGroupId: software.amazon.awssdk + newArtifactId: route53profiles + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-bcmdataexports @@ -833,6 +851,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: transfer newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-deadline + newGroupId: software.amazon.awssdk + newArtifactId: deadline + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-braket @@ -1691,6 +1715,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: internetmonitor newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-artifact + newGroupId: software.amazon.awssdk + newArtifactId: artifact + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-iotsitewise @@ -1901,6 +1931,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: appconfigdata newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-controlcatalog + newGroupId: software.amazon.awssdk + newArtifactId: controlcatalog + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-greengrass @@ -2153,6 +2189,12 @@ recipeList: newGroupId: software.amazon.awssdk newArtifactId: ram newVersion: 2.23.16-SNAPSHOT + - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: + oldGroupId: com.amazonaws + oldArtifactId: aws-java-sdk-codeconnections + newGroupId: software.amazon.awssdk + newArtifactId: codeconnections + newVersion: 2.23.16-SNAPSHOT - org.openrewrite.maven.ChangeDependencyGroupIdAndArtifactId: oldGroupId: com.amazonaws oldArtifactId: aws-java-sdk-efs From 3301b08199652bb847f2978f791023285a1deda8 Mon Sep 17 00:00:00 2001 From: Zoe Wang <33073555+zoewangg@users.noreply.github.com> Date: Wed, 8 May 2024 13:36:05 -0700 Subject: [PATCH 2/4] Log command output --- test/migration-tool-tests/src/test/resources/run-test | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/migration-tool-tests/src/test/resources/run-test b/test/migration-tool-tests/src/test/resources/run-test index 71ecaf9bb026..08ea695f18ac 100755 --- a/test/migration-tool-tests/src/test/resources/run-test +++ b/test/migration-tool-tests/src/test/resources/run-test @@ -32,7 +32,8 @@ def run_test(version): is_same = compare_directory(filecmp.dircmp(TARGET_DIR, AFTER_DIR)) if not is_same: raise Exception("The transformed directory('target/generated-test-sources/project') does not match with the expected one('src/test/resources/after')") - result = subprocess.run(["mvn", "package"], cwd=TARGET_DIR, check=True, stdout = subprocess.DEVNULL) + result = subprocess.run(["mvn", "clean", "package"], cwd=TARGET_DIR, capture_output=True) + print(result) def compare_directory(dcmp): if dcmp.diff_files or dcmp.left_only or dcmp.right_only: From 4665d83f1f33e9378f4bc2dded3fe4f7375040b0 Mon Sep 17 00:00:00 2001 From: Zoe Wang <33073555+zoewangg@users.noreply.github.com> Date: Wed, 8 May 2024 14:16:03 -0700 Subject: [PATCH 3/4] Fix tests --- test/migration-tool-tests/pom.xml | 6 ++++++ test/migration-tool-tests/src/test/resources/run-test | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/test/migration-tool-tests/pom.xml b/test/migration-tool-tests/pom.xml index 6643f871ac9b..5aff526f15c7 100644 --- a/test/migration-tool-tests/pom.xml +++ b/test/migration-tool-tests/pom.xml @@ -53,6 +53,12 @@ aws-java-sdk-s3 test + + software.amazon.awssdk + s3 + ${project.version} + test + software.amazon.awssdk migration-tool diff --git a/test/migration-tool-tests/src/test/resources/run-test b/test/migration-tool-tests/src/test/resources/run-test index 08ea695f18ac..ff9ccdfffdf4 100755 --- a/test/migration-tool-tests/src/test/resources/run-test +++ b/test/migration-tool-tests/src/test/resources/run-test @@ -32,7 +32,7 @@ def run_test(version): is_same = compare_directory(filecmp.dircmp(TARGET_DIR, AFTER_DIR)) if not is_same: raise Exception("The transformed directory('target/generated-test-sources/project') does not match with the expected one('src/test/resources/after')") - result = subprocess.run(["mvn", "clean", "package"], cwd=TARGET_DIR, capture_output=True) + result = subprocess.run(["mvn", "package"], cwd=TARGET_DIR, capture_output=True, check=True) print(result) def compare_directory(dcmp): From 5dc63f12fe87e6c911ccce095e8706b25df6b8b9 Mon Sep 17 00:00:00 2001 From: Zoe Wang <33073555+zoewangg@users.noreply.github.com> Date: Wed, 8 May 2024 15:38:11 -0700 Subject: [PATCH 4/4] Fix brazil.json --- .brazil.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.brazil.json b/.brazil.json index af754335deda..ca74929f6e8c 100644 --- a/.brazil.json +++ b/.brazil.json @@ -103,7 +103,7 @@ "tests-coverage-reporting": { "skipImport": true }, "third-party": { "skipImport": true }, "third-party-slf4j-api": { "skipImport": true }, - "migration-tool-tests": {"migration-tool-tests": true} + "migration-tool-tests": {"skipImport": true} }, "dependencies": {