sbt
Khai phát nguyên | Scala Center |
---|---|
Mới nhất bản |
1.9.4
/2023 năm ngày 25 tháng 8[1] |
リポジトリ | |
プログラミング Ngôn ngữ | Scala |
Đối ứng OS | Cross-platform |
プラットフォーム | Java |
Loại đừng | ビルド tự động hoá |
ライセンス | BSD License |
Công thức サイト |
www |
sbtは,ScalaおよびJavaの ため のオープンソースのビルドツールである. Java のMavenやAntに tương đương するツールである.
Chủ な cơ năng は dưới の thông りである.
- Scala の コード の ネイティブサポートと, さまざまなScala のテストフレームワークと の thống hợp cơ năng
- 継続 コンパイル, 継続 テスト, 継続 khai phát の cơ năng
- インクリメンタルなテストとコンパイル の cơ năng ( 変 càng を thêm えたソースコード の みが lại コンパイルされる, コード の 変 càng の ảnh hưởng を chịu けるテスト の みが lại thật hành されるなど )
- ビルド の giả thiết は, Scala のDSLを dùng いて ghi lại する
- Apache Mavenおよび Apache Ivy hình thức の リポジトリをサポートする Coursier[2]を sử dụng した sống nhờ vào nhau quản lý. かつては Coursier ではなくApache Ivyだった[3].
- Cao tốc なイテレーションとデバッグ の ためにScalaインタプリタと thống hợp されている
- Java/Scalaプロジェクト の xen lẫn trong をサポート
sbtはScalaコミュニティにおけるデファクトなビルドツールであり[4],Lift web framework[5]やPlay Frameworkでも sử dụng されている.
かつてsbtを khai phát していたLightbend, Inc.は, sbtを “Scala の プロジェクトを cấu trúc する の に gian vi いなく nhất thích なツールであり,インクリメンタル・コンパイルとインタラクティブ・シェルが nhất も ưu れたツールである” と thuật べている[6].インクリメンタル・コンパイルモードに nhập ると, Scalaコンパイラは1 hồi だけ lúc đầu hóa され, そ の sau の スタートアップ の コストを cắt giảm してくれ, ソースファイル の 変 càng を truy tích することで, そ の 変 càng が ảnh hưởng する sống nhờ vào nhau quan hệ の みが lại コンパイルされる. インタラクティブ・シェルは, ビルド の giả thiết をそ の tràng で tu chỉnh することを khả năng にし, プロジェクトに quan hệ するすべて の クラスファイルとScala REPLに đọc み込んでくれる[7].インクリメンタル・コンパイルが người khí になったことで, Typesafeはこ の cơ năng をZincという độc lập したコンポーネント の hình で rút ra するようになった[6].
sbt の プロセスAPIがScala 2.9で chọn dùng されたとき, すでにScala tiêu chuẩn ライブラリにフィードバックされていた[8].
Lịch sử
[Biên tập]sbtは 2008 năm ngày 18 tháng 12 に sơ めて, オリジナル の tác giả Mark Harrahによって công thức に phát biểu された. 2011 năm ~2023 năm 6 nguyệt は Lightbend, Inc. が quản lý していた. それ lấy hàng は Scala Center が quản lý している[9].
Lúc trước は "Simple Build Tool" の lược であるとされていたが, hiện tại は単に "sbt" であって gọi chung とは khảo えられていない[10].
ビルドファイル
[Biên tập]sbt の ビルドは.sbt
ファイルを dùng いて định nghĩa される[11].Dưới は,build.sbt
の ビルド định nghĩa の đồng loạt である.
valscalaTest="org.scalatest"%%"scalatest"%"3.0.5"
valakkaVersion="2.4.2"
valakkaActor="com.typesafe.akka"%%"akka-actor"%akkaVersion
valakkaCluster="com.typesafe.akka"%%"akka-cluster"%akkaVersion
// こ の ビルドで sử dụng する Scala の バージョンを 2.12.8 に giả thiết する
ThisBuild/scalaVersion:="2.12.8"
ThisBuild/version:="0.1.0-SNAPSHOT"
ThisBuild/organization:="com.example"
lazyvalroot=(projectinfile("."))
.aggregate(helloCore)
.dependsOn(helloCore)
.settings(
name:="Hello",
// テスト の ために, sống nhờ vào nhau quan hệ を1つ thêm vào する.
libraryDependencies+=scalaTest%Test
)
lazyvalhelloCore=(projectinfile("core"))
.settings(
name:="Hello Core",
libraryDependencies+=scalaTest%Test,
// số nhiều の sống nhờ vào nhau quan hệ を thêm vào する.
libraryDependencies++=Seq(akkaActor,akkaCluster)
)
Sử dụng lệ
[Biên tập]sbtは các ビルドコマンドごとに khởi động することもあるが, コマンド vô しで thật hành した trường hợp には, インタラクティブモードで khởi động することもできる. たとえば, hiện tại の ビルド の ビルドプロダクトをクリーンするには, dưới の コマンドを thật hành する.
$sbtclean
Số nhiều の コマンドを cùng じ hành で chỉ định することもできる. "Foo" という danh trước の テストを thật hành し, そ の sau にエクスポートしたjarを công khai するには, dưới の コマンドを thật hành する.
$sbt"testOnly Foo"publish
拡 trương tính と thống hợp
[Biên tập]sbt の cơ năng はプラグインアーキテクチャを lợi dụng して拡 trương することができる[12].コミュニティによるコントリビューションを chịu け nhập れるため の ウェブサイトがセットアップされており, ký tên, パッケージング, cao giai, アーティファクト の リリース, ブログらデータベースなど の hắn の サービスへ の tiếp 続, Androidプラットフォームへ の デプロイなど の hắn の kỹ thuật と の thống hợp といったさまざまな cơ năng を cung cấp している[13].
プロジェクトファイルを tự động に sinh thành するプラグインがEclipseHướng けに cung cấp されている.IntelliJ IDEAでは, JetBrains công thức の Scala プラグインで sbt がサポートされている.
Quan liền hạng mục
[Biên tập]Xuất xứ
[Biên tập]- ^Releases · sbt/sbt
- ^Overview · Coursier
- ^sbt Reference Manual — sbt 1.3.x releases
- ^Public repositories hosted on github which mention sbt
- ^Getting started for Lift
- ^ab“Zinc and Incremental Compilation”.typesafe's blog (13 August 2012).22 August 2012Duyệt lãm.
- ^Goldin. “sbt Scala Build Tool”.7 May 2012Duyệt lãm.
- ^“Scala 2.9.0 final”(12 May 2011).22 August 2012Duyệt lãm.
- ^“Lightbend transfers ownership of sbt to the Scala Center”.scala-lang.org.4 September 2023Duyệt lãm.
- ^“sbt Reference Manual — Frequently Asked Questions”.scala-sbt.org.2019 năm ngày 8 tháng 6Duyệt lãm.
- ^sbt:.sbt build definition
- ^“Plugins”.sbt.17 October 2014Duyệt lãm.
- ^“sbt Community Plugins”.17 October 2014Duyệt lãm.