upgrading to 2.12 - reorganized macros around AWSFlow and AWSFlowAdap… #11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…ter, updated tests, and brought dependencies to more recent versions where applicable
Fixes #10
Changes fall into 3 categories:
Fixing the macros. Scala 2.12 made a change to the syntax tree that broke the aws2scala macros for AWSFlow and AWSFlowAdapter. These classes have been changed to be constructed from a typeclass based approach, where the Flows are constructed from typeclasses that provide the necessary paging functionality (more specifically, they verify that the java class has one of several differently named methods for setting or retrieving the token, where each differently named method has a typeclass), and the macros have been moved to the typeclass definitions, which satisfies the compiler.
Scalatest has been upgraded to a new major version (version 2.x is not supported in scala 2.12), which required a few modifications to the tests. Most notably, some bounds checking had to be added to invocations of Gen.choose. The tests all still function similarly and all pass.
Other dependencies have been updated to 2.12 compatible versions, which resulted in some deprecated code that has been modified as per the recommendations of the library authors. Almost all of this was in the test libraries due to scalatest and scalacheck updates.