laserdisc-io/fs2-aws

Too many dependencies

kevinwright opened this issue · 4 comments

Right now, my build file looks like this:

"io.laserdisc"         %% "fs2-aws"       % "2.28.39" excludeAll(
        ExclusionRule("com.amazonaws", "aws-java-sdk-kinesis"),
        ExclusionRule("com.amazonaws", "aws-java-sdk-sqs"),
        ExclusionRule("com.amazonaws", "amazon-kinesis-producer"),
        ExclusionRule("software.amazon.kinesis", "amazon-kinesis-client"),
        ExclusionRule("software.amazon.awssdk", "sts"),
        ExclusionRule("com.amazonaws", "aws-java-sdk-sqs"),
        ExclusionRule("com.amazonaws", "amazon-sqs-java-messaging-lib"),
      ),

...because all I'm interested in is the S3 multipart upload logic functionality.

Is it possible to split s3, kinesis, sts, and sqs into distinct modules so that we're not otherwise forced to download this lot and a whole forest of transitive dependencies unless we actually use them?

@kevinwright thank you for using this library. It is indeed in my plans. As you can see I implemented DynamoDB streaming capabilities in separate libraries

To be fair... I'm no longer using it!

I've since rolled my own that uses the v2 API, and I'm looking to code-gen the wrappers from the service-2.json service definition files, much as Amazon themselves do for both their own Java client and in the Python botocore library.

That's OK. rolling to v2 is also in plans. Kinesis is running on v2

the project now separated into modules