SBT Plugin that adds support for resolving and publishing using Amazon S3
You can now use the s3ResolverBucketACLMap
SettingKey to specify CannedAccessControlList settings per bucket. Thanks to @kevin-brendle-lark for the PR!
Full Changelog: https://github.com/tpunder/fm-sbt-s3-resolver/compare/v0.20.0...v0.21.0
This release updates to AWS SDK version 1.12.99
to pickup the updated DefaultAWSCredentialsProviderChain
which should now include the WebIdentityTokenCredentialsProvider
. See https://github.com/tpunder/fm-sbt-s3-resolver/commit/6e802d7e98484bf1f0e2c57193558980f705c59f and https://github.com/tpunder/fm-sbt-s3-resolver/issues/61.
Fixed some bugs in the S3URLConnection.getHeaderField
method (see https://github.com/frugalmechanic/fm-sbt-s3-resolver/commit/5f6520ef7bf145f33159b47c2fed906250fb1376) that were causing the Coursier support in SBT 1.3.0 to not work.
This release upgrades to a newer version of aws-sdk-java to avoid "java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException" errors when jaxb-impl >= 2.2.11 is included on your classpath but jaxb-core is not.
This was brought up by @JonathanKnight in https://github.com/frugalmechanic/fm-sbt-s3-resolver/pull/56
If you have a bucket policy that rejects un-encrypted unloads the plugin will detect this and automatically switch to enabling S3 Server Side Encryption (SSE).
See the README.md for an example policy: https://github.com/frugalmechanic/fm-sbt-s3-resolver/blob/master/README.md
Thanks to @danklynn and https://github.com/frugalmechanic/fm-sbt-s3-resolver/pull/28
The URLStreamHandler implementation for the s3:// protocol now implements the openConnection method which is used by Coursier for downloading dependencies. Previously the openConnection method wasn't implemented because it wasn't used by anything in SBT.
Also fixed some performance issues with the Role Based Credential Providers that were slowing down the lookup of Credentials when not using Role Based Credentials.
Added basic support for dynamic revisions (#6) to be able to do something like this:
// The only change here is using "atS3" instead of just "at"
resolvers += "FrugalMechanic Snapshots" atS3 "s3://maven.frugalmechanic.com/snapshots"
// Dynamic revisions
libraryDependencies += "com.frugalmechanic" %% "fm-private" % "0.1.0-+"