Talk given at ScalaMatsuri 2017. A review of:
- the sbt 0.13.x series that’s been under development as a technology preview since 2014
- the sbt server feature which is planned to be shipped with the next major sbt release
- and the rest of sbt 1.0
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
1. The state of sbt 0.13,
sbt server,
and sbt 1.0
Eugene Yokota (@eed3si9n)
February, 2017
2. • Scala hobbyist since 2010
• ScalaMatsuri
• “learning Scalaz” / “herding Cats”
• scalaxb (XML data binding)
• treehugger.scala
• sbt-assembly, sbt-buildinfo, etc
• Lightbend/Typesafe since 2014
• tech lead of Tooling team / sbt
who is this guy (@eed3si9n)?
ScalaMatsuri では CFP の翻訳や字幕を付けたりなど
Lightbend社でツール関係、sbt のメンテをやっています
4. • sbt server
• sbt 0.13.x tech previews
• sbt 1.0.x
Overview of this talk
概要: sbt server、0.13 テックプレビュー、sbt 1.0.x
7. • single JVM process
• implemented as a command, sort of
• JSON API to drive sbt from network
what is sbt server?
コマンドとして実装されている
sbt をネットワーク経由で駆動するための JSON API
8. • IDE integration
• Distributed build
example usages
期待されている用例: IDE との統合、分散ビルドなど
20. sbt 0.13.6 (September 2014)
Name hashing のデフォルト化
Eviction warning などの依存性解決の改善
• Name hashing is enabled by default
• HTTPS by default
• Eviction warnings
• Unresolved dependency error tree
22. sbt 0.13.8 (March 2015)
逐次タスク
.settings(...) 内にセッティング列を直接書けるようになった
• Cross-version support for Scala sources
• Sequential tasks
• Seq[Setting[_]] can be used directly
in .settings(...)
• Maven resolver (experimental)
28. sbt 0.13 lesson learned
バイナリ互換はプラグイン環境には良いけど、メンテが難しい
諸行無常
• Binary compatibility is great for plugins
• Binary compatibility is hard
• Everything changes