alexa / alexa-skills-kit-sdk-for-java

The Alexa Skills Kit SDK for Java helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
http://developer.amazon.com/ask
Apache License 2.0
815 stars 746 forks source link

Upgrade to AWS DynamoDB v2 SDK #268

Closed breedloj closed 4 years ago

breedloj commented 4 years ago

Description

Updates the DynamoDB persistence adapter to use the v2 AWS SDK for Java.

Motivation and Context

This change was originally made in response to issue #262 reporting issues with multiple versions of Jackson being on the classpath. The existing v1 AWS SDK depends on Jackson 2.6, which is extremely outdated, while the ASK SDK is now depending on 2.10.x. There are inherent incompatibilities between these versions that prevent the 2.10.x versions from being used by the AWS SDK via a dependency override. This upgrades our dependency to the v2 AWS SDK for Java which depends on Jackson 2.10.x.

This change should have no functional impact on skill utilizing the persistence feature. It does however have two avenues for backwards incompatibility:

I believe both of these cases to be fairly low occurrence and would surface at build time rather than runtime. An alternative would be to depend on both versions of the AWS SDK to continue supporting the above cases but this continues to put the outdated version of Jackson on developers classpaths. Given the tradeoffs I believe it is better to make a clean shift to the v2 AWS SDK and align on the modern Jackson library version.

Testing

New unit tests covering the additional transformation logic ported over from the v1 DynamoDB SDK ItemUtils class and updated persistence adapter tests. Skill testing.

Types of changes

Checklist

License