S3 Coursier Plugin
Coursier plugin adding support for S3 dependency resolution. The main purpose of this fork is to enable S3 resolution in Pants 1.27.0+. Also, the original 0.1.0 doesn't work with Coursier 1.1.0-M14 (used by Pants 1.27.0).
This fork uses standard
s3:// scheme unlike the original (which uses
s3c://), so it's probably not compatible with fm-sbt-s3-resolver.
If you have an AWS profile called "artifacts", credentials will be read from there. Otherwise they will be read from the default AWS chain.
Region will be read from the default AWS chain.
.s3credentialscan be placed in one of the following locations:
# Credentials accessKey = myKey secretKey = myVeryS3cret # Region region = eu-east-1
You'll need any version of
coursier, which can then bootstrap and produce a new coursier jar.
$ coursier bootstrap coursier:1.1.0-M14 rtfpessoa:coursier-s3_2.12:0.2.0-SNAPSHOT --assembly -o coursier-1.1.0-M14-s3.sh $ tail -c +458 coursier-1.1.0-M14-s3.sh > coursier-1.1.0-M14-s3.jar
Now you can tell Pants to use your custom Coursier version instead of the official one:
[coursier] repos = """ +[ 's3://s3.amazonaws.com/your-bucket/some/path', ] """ bootstrap_jar_urls = ['file:///path/to/coursier-1.1.0-M14-s3.jar']
You may need to
rm "$HOME/.cache/pants/bin/coursier/1.1.0.cf365ea27a710d5f09db1f0a6feee129aa1fc417/coursier if Pants has already downloaded the official JAR.
To build use:
+ means to cross build all scala versions
To publish locally for testing in another project:
To publish to Maven Central (via Sonatype) use:
sbt +publishSigned sbt sonatypeBundleRelease
+ is important so you publish cross scala versions
You can look at the Nexus UI for more info
For more info on publishing see plugin readme
See here for published artifacts