コンテンツにスキップ

sbt

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
sbt
Khai phát nguyên Scala Center
Mới nhất bản
1.9.4 /2023 năm 8 nguyệt 25 ngày(12か nguyệt trước )(2023-08-25)[1]
リポジトリ ウィキデータを編集
プログラミング
Ngôn ngữ
Scala
Đối ứng OS Cross-platform
プラットフォーム Java
Loại đừng ビルド tự động hoá
ライセンス BSD License
Công thức サイト www.scala-sbt.orgウィキデータを編集
テンプレートを tỏ vẻ

sbtは,ScalaおよびJavaの ため のオープンソースビルドツールである. Java のMavenAntに 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.(Tiếng Anh bản)は, 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 12 nguyệt 18 ngày に 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]
  1. ^Releases · sbt/sbt
  2. ^Overview · Coursier
  3. ^sbt Reference Manual — sbt 1.3.x releases
  4. ^Public repositories hosted on github which mention sbt
  5. ^Getting started for Lift
  6. ^abZinc and Incremental Compilation”.typesafe's blog (13 August 2012).22 August 2012Duyệt lãm.
  7. ^Goldin. “sbt Scala Build Tool”.7 May 2012Duyệt lãm.
  8. ^Scala 2.9.0 final”(12 May 2011).22 August 2012Duyệt lãm.
  9. ^Lightbend transfers ownership of sbt to the Scala Center”.scala-lang.org.4 September 2023Duyệt lãm.
  10. ^sbt Reference Manual — Frequently Asked Questions”.scala-sbt.org.2019 năm 6 nguyệt 8 ngàyDuyệt lãm.
  11. ^sbt:.sbt build definition
  12. ^Plugins”.sbt.17 October 2014Duyệt lãm.
  13. ^sbt Community Plugins”.17 October 2014Duyệt lãm.

Phần ngoài リンク

[Biên tập]