Skip to content
Tim Gilbert edited this page Oct 13, 2016 · 32 revisions

Boot supports resolving dependencies from S3 repositories with s3-wagon-private.

To resolve private artifacts in S3, add the S3 wagon to :wagons and the private repository to :repositories:

(set-env!
 :wagons       '[[s3-wagon-private "1.2.0"]]
 :repositories #(conj % '["private-repo" {:url "s3p://acme/repo/"
                                          :username "AKIA2489AE28488"
                                          :passphrase "98b0b104ca1211e19a6c"}])
 :dependencies '[[acme/s3library "1.0.0"]])

This loads acme/s3library JAR from the S3 repository. By conj-ing the new repository into :repositories we retain Maven Central, Clojars, and whatever other repositories were previously added.

Note: The :username and :passphrase keys in the repository settings correspond to the AWS account access and secret keys, respectively.

Comparison With Spring's aws-maven

wagon explict creds system property creds role creds
priv conveys no no
spring conveys conveys conveys

where priv is:

:wagons [[s3-wagon-private "1.2.0"]]

and spring is:

:wagons #(conj % '[org.springframework.build/aws-maven "5.0.0.RELEASE"
                    :schemes {"s3" (fn [] (org.springframework.build.aws.maven.SimpleStorageServiceWagon.))}])

;; Repository definition for the above:
:repositories #(conj % '["my-s3-repo" {:url "s3://my-bucket/releases/"}])
Clone this wiki locally