LoginSignup
5
5

More than 5 years have passed since last update.

CircleCI で sbt 0.13.11 を使用する。

Last updated at Posted at 2016-02-27

そのうち CircleCI 側で対応してもらえて不要になりそうだけど、備忘のため残す。

2016.06.07 現在、対応されたようなので本記事は不要になった。 :innocent:

build.properties に sbt.version を指定する

新しい Scala プロジェクトの作成にあたり、現在の最新バージョン sbt 0.13.11 を使用する事にした。
いつも通り project/build.properties に sbt.version=0.13.11 を指定すればOK、と思っていたが… CircleCI でのテスト実行に失敗する。

Detected sbt version 0.13.11
Cannot find sbt launcher 0.13.11
Please download: 
  From  http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.11/sbt-launch.jar

To /home/ubuntu/.sbt/.lib/0.13.11/sbt-launch.jar sbt test returned exit code 1

このように使用するsbtのバージョンを project/build.properties に指定したものとして認識してくれているようだが、そのバージョンの sbt が見つからないと言われている模様。

CircleCI公式ドキュメントTest environmentを見てみても、現時点では 0.13.9 までしか無い。

We track http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/ for recent Scala releases:

との事だが、http://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/ にも 0.13.9 までしか無い。
(2016.03.10 追記参照)

sbt公式ドキュメントInstalling sbt manuallyを見たところ、URLは https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.11/sbt-launch.jar のようなのでこちらをダウンロードすればよさそう。

CircleCI テスト実行前に sbt-launch.jar をダウンロードする

  • curl -o ~/.sbt/.lib/0.13.11/sbt-launch.jar https://.../0.13.11/sbt-launch.jar
    を実行すればいいだろう
    → 保存先のディレクトリがなくてダメでした。

  • mkdir -p ~/.sbt/.lib/0.13.11/ してから curl -o ~/.sbt/.lib/0.13.11/sbt-launch.jar https://.../0.13.11/sbt-launch.jar すればいいだろう。
    → リダイレクト先まで見てくれてなくてダメでした。(2016.03.10 追記参照)

と、何度か試行錯誤して、最終的にこのようにしてCIビルドの成功が確認できた。

circle.yml
machine:
  java:
    version: oraclejdk8
dependencies:
  pre:
    - mkdir -p ~/.sbt/.lib/0.13.11/
    - curl -L -o ~/.sbt/.lib/0.13.11/sbt-launch.jar https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.13.11/sbt-launch.jar
  cache_directories:
    - ~/.sbt

2016.03.10 追記

何か sbt-launch.jar のダウンロードURLについて色々勘違いしていたけど、 https://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/https://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/ にリダイレクトされているので、CircleCI公式ドキュメントと実際のダウンロードURLに齟齬があるわけではなかった。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5