最新の最先端の Scala 2 ナイトリーに対して自分のコードをテストしたいと考えています。
Scala 2.10の答えはもう機能しません。
私は何をしますか?
Global / resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
scalaVersion := "2.13.9-bin-abcd123"
2.12.16
2.12 nightly の場合は、たとえば2.13.9
;に置き換えます。どちらの場合も、そのブランチの次のリリースのバージョン番号です
の場合、 Travis-CI の 2.13.x または 2.12.x ブランチabcd123
の最新のグリーン ビルドの SHA の最初の 7 文字を手動で置き換えます。
scala-cli 0.1.2 以降では、次のコマンドで 2.13 nightly を取得できます。
scala-cli repl -S 2.nightly
最新の 2.12 ナイトリーが必要な場合は、バージョン番号を自分で入力し (確認方法については上記のメモを参照)、リゾルバーも指定する必要があります。
scala-cli repl -S 2.12.16-bin-abcd123 \
--repository https://scala-ci.typesafe.com/artifactory/scala-integration
もちろん、repl
動作するだけでなく、他の scala-cli サブコマンドも動作します。
-SNAPSHOT
Scala チームは、Scala のバージョンを発行しなくなりました。(これを再び開始することは、コミュニティへの貢献になる可能性があります。このチケットを参照してください。)
しかし、チームはナイトリー ビルドを公開しており、それぞれに独自の固定バージョン番号が付いています。ナイトリーのバージョン番号は、たとえば のようになり2.13.1-bin-abcd123
ます。( -bin-
sbt へのバイナリ互換性を示します。2.13.0 以降のすべての 2.13.x リリースは、相互にバイナリ互換性があります。)
(2018 年に) ナイトリーの発行を Jenkins から Travis-CI に移動したため、以前はここにあった古い Jenkins ベースの回答は機能しなくなりました。
これらのナイトリーの 1 つを使用するように sbt に指示するには、3 つのことを行う必要があります。
まず、ナイトリーが保持されるリゾルバーを追加します。
Global / resolvers += "scala-integration" at
"https://scala-ci.typesafe.com/artifactory/scala-integration/"
次に、Scala のバージョンを指定します。
scalaVersion := "2.13.1-bin-abcd123"
しかし、それは実際のバージョン番号ではありません。ナイトリー ビルドが公開されたscala/scala リポジトリの最後のコミットの 7 文字の SHA を含むバージョン番号を手動で置き換えます。https://travis-ci.org/scala/scala/branchesを見ると、2.13.x (または 2.12.x) セクションの右上隅に SHA が表示されます。例えば:
2.13.1 がリリースされるとすぐに、ナイトリーのバージョン番号が 2.13.2 に上がります。
マルチプロジェクト ビルドがある場合は、ビルド定義を変更するときに、これらの設定をすべてのプロジェクトで設定してください。++2.13.1-bin-abcd123
または、 (sbt 0.13.x) または++2.13.1-bin-abcd123!
(sbt 1.x; に含まれていないバージョンを強制的に使用するには、感嘆符を追加する必要があります) を使用して、sbt シェルで一時的に設定することもできますcrossScalaVersions
。
理想的には、Travis-CI に適切な SHA を自動的に要求する方法を提案します。これはおそらく Travis-CI の API を介して可能ですが、(私の知る限り) 誰もまだ調査していません。(ボランティアはいますか?)
これらの「ナイトリー」ビルドを非公式に呼んでいますが、技術的には誤った呼び方であることに注意してください。マージされたすべての PR に対して、いわゆる「ナイトリー」が構築されます。
これ以上の 2.11.x リリースは計画されていないため、私たち (Lightbend の Scala チーム) も 2.11 ナイトリーを公開していません。