Skip to content

Commit cae19ee

Browse files
authored
Migration tool exclude custom sdks (#5602)
* Migration tool skip transforming custom SDKs * Remove packages to skip * Keep skipped packages test and add Lambda invoke class
1 parent d2b33fd commit cae19ee

File tree

4 files changed

+428
-15
lines changed

4 files changed

+428
-15
lines changed

v2-migration/pom.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,17 @@
142142
</exclusion>
143143
</exclusions>
144144
</dependency>
145+
<dependency>
146+
<groupId>com.amazonaws</groupId>
147+
<artifactId>aws-java-sdk-s3</artifactId>
148+
<scope>test</scope>
149+
<exclusions>
150+
<exclusion>
151+
<groupId>com.fasterxml.jackson</groupId>
152+
<artifactId>jackson-core</artifactId>
153+
</exclusion>
154+
</exclusions>
155+
</dependency>
145156
<dependency>
146157
<groupId>com.amazonaws</groupId>
147158
<artifactId>aws-java-sdk-dynamodb</artifactId>
@@ -155,7 +166,7 @@
155166
</dependency>
156167
<dependency>
157168
<groupId>com.amazonaws</groupId>
158-
<artifactId>aws-java-sdk-s3</artifactId>
169+
<artifactId>aws-java-sdk-lambda</artifactId>
159170
<scope>test</scope>
160171
<exclusions>
161172
<exclusion>

v2-migration/src/main/java/software/amazon/awssdk/v2migration/ChangeSdkType.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
import static software.amazon.awssdk.v2migration.internal.utils.NamingConversionUtils.getV2Equivalent;
1919
import static software.amazon.awssdk.v2migration.internal.utils.NamingConversionUtils.getV2ModelPackageWildCardEquivalent;
20+
import static software.amazon.awssdk.v2migration.internal.utils.SdkTypeUtils.isCustomSdk;
2021
import static software.amazon.awssdk.v2migration.internal.utils.SdkTypeUtils.isV1ClientClass;
2122
import static software.amazon.awssdk.v2migration.internal.utils.SdkTypeUtils.isV1ModelClass;
2223

2324
import java.util.ArrayList;
24-
import java.util.Arrays;
2525
import java.util.HashMap;
2626
import java.util.HashSet;
2727
import java.util.IdentityHashMap;
@@ -65,10 +65,6 @@ public class ChangeSdkType extends Recipe {
6565
"com\\.amazonaws\\.services\\.[a-zA-Z0-9]+\\.model\\.\\*";
6666
private static final String V1_SERVICE_WILD_CARD_CLASS_PATTERN = "com\\.amazonaws\\.services\\.[a-zA-Z0-9]+\\.\\*";
6767

68-
private static final Set<String> PACKAGES_TO_SKIP = new HashSet<>(
69-
Arrays.asList("com.amazonaws.services.s3.transfer",
70-
"com.amazonaws.services.dynamodbv2.datamodeling"));
71-
7268
@Override
7369
public String getDisplayName() {
7470
return "Change AWS SDK for Java v1 types to v2 equivalents";
@@ -139,17 +135,16 @@ private static boolean isWildcard(String fullName) {
139135

140136
private static boolean isV1Class(JavaType.FullyQualified fullyQualified) {
141137
String fullyQualifiedName = fullyQualified.getFullyQualifiedName();
142-
if (shouldSkip(fullyQualifiedName)) {
143-
log.info(() -> String.format("Skipping transformation for %s because it is not supported in the migration "
144-
+ "tooling at the moment", fullyQualifiedName));
138+
139+
if (!isV1ModelClass(fullyQualified) && !isV1ClientClass(fullyQualified)) {
145140
return false;
146141
}
147142

148-
return isV1ModelClass(fullyQualified) || isV1ClientClass(fullyQualified);
149-
}
150-
151-
private static boolean shouldSkip(String fqcn) {
152-
return PACKAGES_TO_SKIP.stream().anyMatch(fqcn::startsWith);
143+
if (isCustomSdk(fullyQualifiedName)) {
144+
log.info(() -> String.format("Skipping transformation for %s because it is a custom SDK", fullyQualifiedName));
145+
return false;
146+
}
147+
return true;
153148
}
154149

155150
@Override

0 commit comments

Comments
 (0)