fm-sbt-s3-resolverというプラグインを入れることでS3をMaven Repositoryとして扱えるようになります。社内のサーバにリポジトリを構築するよりお手軽です。
Setup
project/plugin.sbt:
addSbtPlugin("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.5.0")
事前にAWS_ACCESS_KEY_ID
とAWS_SECRET_ACCESS_KEY
を環境変数で定義しておくこと。またはProperty Fileを$HOME/.sbt
以下に作成しておく。
$ export AWS_ACCESS_KEY_ID=xxxxxx
$ export AWS_SECRET_ACCESS_KEY=xxxxx
or
$ cat ~/.sbt/.bucket-name_s3credentials
accessKey = xxxxxx
secretKey = xxxxxx
Publish
build.sbtにPublish先を設定する。
publishTo := Some("Hoge Snapshots" at "s3://hoge-maven.s3-ap-northeast-1.amazonaws.com/hoge/snapshots")
これでsbt publish
コマンドでS3にPublishできる。
Usage
resolversにS3に置いたMavenリポジトリを追加する。
resolvers += "Hoge Snapshots" at "s3://hoge-maven.s3-ap-northeast-1.amazonaws.com/hoge/snapshots"
あとはライブラリと同様にlibraryDependenciesに依存関係を書いていくだけ。
libraryDependencies ++= Seq(
"foo.bar" %% "hoge-project" % "1.0-SNAPSHOT"
)