サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
www.scala-sbt.org
Classpaths, sources, and resources This page discusses how sbt builds up classpaths for different actions, like compile, run, and test and how to override or augment these classpaths. Basics In sbt, the classpath includes the Scala library and (when declared as a dependency) the Scala compiler. Classpath-related settings and tasks typically provide a value of type Classpath. This is an alias for S
例題でみる sbt このページは、 sbt 1 をインストールしたことを前提とする。 sbt の内部がどうなっているかや理由みたいなことを解説する代わりに、例題を次々と見ていこう。 最小 sbt ビルドを作る $ mkdir foo-build $ cd foo-build $ touch build.sbt sbt シェルを起ち上げる $ sbt [info] Updated file /tmp/foo-build/project/build.properties: set sbt.version to 1.1.4 [info] Loading project definition from /private/tmp/foo-build/project [info] Loading settings from build.sbt ... [info] Set current projec
Contraband Contraband (コントラバンド) は、データ型や API の記述言語で、現在 Scala と Java を対象としている。 API の型やフィールドを記述すると、Contraband は: Java クラス、もしくは Scala での疑似 case class を生成する。 データ型のための JSON バインディングを生成する。 Contraband によって API を徐々に進化させることも可能だ。 セットアップ ビルドに Contraband プラグインを追加するには、以下を project/contraband.sbt に書く: addSbtPlugin("org.scala-sbt" % "sbt-contraband" % "X.Y.Z") 次に、Contraband スキーマを src/main/contraband か src/test/cont
スコープ委譲 (.value の照会) このページはスコープ委譲を説明する。前のページの .sbt ビルド定義、 スコープ を読んで理解したことを前提とする。 スコープ付けの説明が全て終わったので、.value 照会の詳細を解説できる。 難易度は高めなので、始めてこのガイドを読む場合はこのページは飛ばしてもいい。 これまでに習ったことをおさらいしておこう。 スコープは、サブプロジェクト軸、コンフィギュレーション軸、タスク軸という 3つの軸の成分を持つタプルである。 全てのスコープ軸には、Zero 特殊なスコープ成分がある。 サブプロジェクト軸においてのみ、ThisBuild 特殊なスコープ成分がある。 Test コンフィギュレーションは Runtime を拡張し、Runtime は Compile を拡張する。 build.sbt に書かれたキーは、デフォルトで ${current sub
Community Plugins sbt Organization The sbt organization is available for use by any sbt plugin. Developers who contribute their plugins into the community organization will still retain control over their repository and its access. The goal of the sbt organization is to organize sbt software into one central location. A side benefit to using the sbt organization for projects is that you can use gh
ビルド定義 このページでは、多少の「理論」も含めた sbt のビルド定義 (build definition) と build.sbt の構文を説明する。 sbt 0.13.13 など最近のバージョンをインストール済みで、 sbt の使い方を分かっていて、「始める sbt」の前のページも読んだことを前提とする。 このページでは build.sbt ビルド定義を紹介する。 sbt バージョンの指定 ビルド定義の一部としてビルドに用いる sbt のバージョンを指定する。 これによって異なる sbt ランチャーを持つ複数の人がいても同じプロジェクトを同じようにビルドすることができる。 そのためには、project/build.properties という名前のファイルを作成して以下のように sbt バージョンを指定する: sbt.version=1.9.8 もしも指定されたバージョンがローカルマ
Triggered Execution sbt provides the ability to monitor the input files for a particular task and repeat the task when changes to those files occur. Some example usages are described below: Compile A common use-case is continuous compilation. The following commands will make sbt watch for source changes in the Test and Compile (default) configurations respectively and re-run the compile command. >
sbt Reference Manual 始める sbt sbt のインストール macOS への sbt のインストールWindows への sbt のインストールLinux への sbt のインストール 例題でみる sbtディレクトリ構造実行IDE との統合ビルド定義マルチプロジェクト・ビルドタスク・グラフスコープ値の追加スコープ委譲 (.value の照会)ライブラリ依存性プラグインの使用カスタムセッティングとタスクビルドの整理まとめ付録: bare .sbt ビルド定義 インフォメーション 変更点 sbt 1.0.0 各論 プラグインとベストプラクティス 一般的なベストプラクティスsbt プラグインをテストする How to ソースファイル/リソースファイルの生成逐次実行 Def.sequential を用いて逐次タスクを定義するDef.taskDyn を用いて動的タスクを定義する
Hello, World このページは、既にsbt 0.13.13 以上をインストールしたことを前提とする。 sbt new コマンド sbt 0.13.13 以降を使っている場合は、sbt new コマンドを使って手早く簡単な Hello world ビルドをセットアップすることができる。 以下をターミナルから打ち込む。 $ sbt new sbt/scala-seed.g8 .... Minimum Scala build. name [My Something Project]: hello Template applied in ./hello プロジェクト名を入力するプロンプトが出てきたら hello と入力する。 これで、hello ディレクトリ以下に新しいプロジェクトができた。 アプリの実行 次に hello ディレクトリ内から sbt を起動して sbt のシェルから ru
始める sbt sbt には、柔軟かつ強力なビルド定義(Build Definition)を支えるための独自の概念がいくつか存在している。 その概念は決して多くはないが、sbt は他のビルドシステムとは一味違うので、ドキュメントを読まずに使おうとすると、きっと細かい点でつまづいてしまうだろう。 この「始める sbt」では、sbt ビルド定義を作成してメンテナンスしていく上で知っておくべき概念を説明していく。 このガイドを一通り読んでおくことを強く推奨したい。 もしどうしても時間がないというなら、最も重要な概念は .sbt ビルド定義、 スコープ、と タスク・グラフ に書かれている。 ただし、それ以外のページを読み飛ばしても大丈夫かは保証できない。 このガイドの読み方だが、後ろの方のページはその前のページで紹介された概念の理解を前提に書かれているので、最初から順番に読み進めていくのがベストだ
Def.taskDyn を用いて動的タスクを定義する 逐次タスクだけで十分じゃなければ、次のステップは動的タスクだ。純粋な型 A の値を返すことを期待する Def.task と違って、Def.taskDyn は sbt.Def.Initialize[sbt.Task[A]] という型のタスク・エンジンが残りの計算を継続するタスクを返す。 Compile / compile を実行した後で scalastyle-sbt-plugin の scalastyle in Compile タスクを実行するカスタムタスク、compilecheck を実装してみよう。 project/build.properties sbt.version=1.5.5 project/style.sbt addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" %
Frequently Asked Questions Project Information What does the name “sbt” stand for, and why shouldn’t it be written “SBT”? TL;DR the name sbt doesn’t stand for anything, it’s just “sbt”, and it should be written that way. When Mark Harrah (@harrah) first created the project he called it “Simple Build Tool”, but in his first public announcement of it he already referred to it as just “sbt”. Over tim
プラグインの使用 このガイドのこれまでのページを読んでおいてほしい。 特に build.sbt、 タスク・グラフ、 とライブラリ依存性を理解していることが必要になる。 プラグインとは何か sbt のプラグインは、最も一般的には新しいセッティングを追加することでビルド定義を拡張するものである。 その新しいセッティングは新しいタスクでもよい。 例えば、テストカバレッジレポートを生成する codeCoverage というタスクを追加するプラグインなどが考えられる。 プラグインの宣言 プロジェクトが hello ディレクトリにあり、ビルド定義に sbt-site プラグインを追加する場合、 hello/project/site.sbt を新しく作成し、 Ivy のモジュール ID を addSbtPlugin メソッドに渡してプラグイン依存性を定義する: addSbtPlugin("com.typ
sbt Reference Manual sbt is a build tool for Scala, Java, and more. It requires Java 1.8 or later. Install See Installing sbt for the setup instructions. Getting Started To get started, please read the Getting Started Guide. You will save yourself a lot of time if you have the right understanding of the big picture up-front. All documentation may be found via the table of contents included on the
/* sbt -- Simple Build Tool * Copyright 2011 Mark Harrah */ package sbt import java.io.File import java.net.URL import scala.concurrent.duration.{ FiniteDuration, Duration } import Def.ScopedKey import complete._ import inc.Analysis import inc.Locate.DefinesClass import sbt.compiler.MixedAnalyzingCompiler import std.TaskExtra._ import xsbti.compile.{ CompileOrder, GlobalsCache } import scala.xml.{
ビルドの整理 このページではビルド構造の整理について説明する。 このガイドの前のページ、特に build.sbt、 タスク・グラフ、 ライブラリ依存性、 そしてマルチプロジェクト・ビルドを理解していることが必要になる。 sbt は再帰的だ build.sbt は sbt の実際の動作を隠蔽している。 sbt のビルドは、Scala コードにより定義されている。そのコード自身もビルドされなければいけない。 当然これも sbt でビルドされる。sbt でやるより良い方法があるだろうか? project ディレクトリは、ビルドをビルドする方法を記述したビルドの中のビルドだ。 これらのビルドを区別するために、一番上のビルドをプロパービルド (proper build) 、 project 内のビルドをメタビルド (meta-build) と呼んだりする。 メタビルド内のプロジェクトは、他のプロジェ
> sbt Reference Manual Next Page > 始める sbt English日本語中文 (简体)Español ❦ Contents sbt Reference Manual 始める sbt sbt のインストール Mac への sbt のインストールWindows への sbt のインストールLinux への sbt のインストール Hello, Worldディレクトリ構造実行ビルド定義タスク・グラフスコープ値の追加スコープ委譲 (.value の照会)ライブラリ依存性マルチプロジェクト・ビルドプラグインの使用カスタムセッティングとタスクビルドの整理まとめ付録: bare .sbt ビルド定義付録: .scala ビルド定義 各論 プラグインとベストプラクティス sbt プラグインをテストする How to 逐次実行 Def.sequential を用いて逐次タス
ライブラリ依存性 このページは、このガイドのこれまでのページ、特に .sbt ビルド定義、スコープ、と タスク・グラフ を読んでいることを前提とする。 ライブラリ依存性は二つの方法で加えることができる: lib ディレクトリに jar ファイルを入れることでできるアンマネージ依存性(unmanaged dependencies) ビルド定義に設定され、リポジトリから自動でダウンロードされるマネージ依存性(managed dependencies) アンマネージ依存性(Unmanaged Dependencies) ほとんどの人はアンマネージ依存性ではなくマネージ依存性を使う。 しかし、アンマネージの方が最初に始めるにあたってはより簡単かもしれない。 アンマネージ依存性はこんな感じのものだ: jar ファイルを lib 配下に置いておけばプロジェクトのクラスパスに追加される、以上! Scal
マルチプロジェクト・ビルド このページでは、一つのビルドで複数のサブプロジェクトを管理する方法を紹介する。 このガイドのこれまでのページを読んでおいてほしい。 特に build.sbt を理解していることが必要になる。 複数のサブプロジェクト 一つのビルドに複数の関連するサブプロジェクトを入れておくと、 サブプロジェクト間に依存性がある場合や同時に変更されることが多い場合に便利だ。 ビルド内の個々のサブプロジェクトは、それぞれ独自のソースディレクトリを持ち、 package を実行すると独自の jar ファイルを生成するなど、概ね通常のプロジェクトと同様に動作する。 個々のプロジェクトは lazy val を用いて Project 型の値を宣言することで定義される。例として、以下のようなものがプロジェクトだ: lazy val util = (project in file("util")
Mac への sbt のインストール ユニバーサルパッケージからのインストール ZIP か TGZ をダウンロードしてきて解凍する。 サードパーティパッケージを使ってのインストール 注意: サードパーティが提供するパッケージは最新版を使っているとは限らない。 何か問題があれば、パッケージメンテナに報告してほしい。 Homebrew $ brew install sbt Macports $ port install sbt
Understanding Incremental Recompilation¶ Compiling Scala code is slow, and sbt makes it often faster. By understanding how, you can even understand how to make compilation even faster. Modifying source files with many dependencies might require recompiling only those source files—which might take, say, 5 seconds—instead of all the dependencies—which might take, say, 2 minutes. Often you can contro
Lightbend Activator (sbt を含む) のインストール Lightbend Activator は activator ui と activator new という 2つのコマンドを追加するカスタム版の sbt だ。 つまり、 activator は sbt のスーパーセットであると言える。 Activator は typesafe.com で入手できる。 このガイドで sbt ~test というようなコマンドラインがあれば、 activator ~test と打ち込めばそのまま動作するはずだ。 Activator の「中の人」は sbt なので、全ての Activator プロジェクトは sbt で開くことができ、そのまた逆も成り立つ。 Activator をダウンロードすると activator スクリプトと activator-launch.jar が含まれて
ビルド定義 このページでは、多少の「理論」も含めた sbt のビルド定義 (build definition) と build.sbt の構文を説明する。 sbt 0.13.13 など最近のバージョンをインストール済みで、 sbt の使い方を分かっていて、「始める sbt」の前のページも読んだことを前提とする。 このページでは build.sbt ビルド定義を紹介する。 sbt バージョンの指定 ビルド定義の一部としてビルドに用いる sbt のバージョンを指定する。 これによって異なる sbt ランチャーを持つ複数の人がいても同じプロジェクトを同じようにビルドすることができる。 そのためには、project/build.properties という名前のファイルを作成して以下のように sbt バージョンを指定する: sbt.version=0.13.16 もしも指定されたバージョンがローカ
Linux への sbt のインストール ユニバーサルパッケージからのインストール ZIP か TGZ をダウンロードしてきて解凍する。 Ubuntu 及びその他の Debian ベースの Linux ディストリビューション DEB は sbt による公式パッケージだ。 Ubuntu 及びその他の Debian ベースのディストリビューションは DEB フォーマットを用いるが、 ローカルの DEB ファイルからソフトウェアをインストールすることは稀だ。 これらのディストロは通常コマンドラインや GUI 上から使えるパッケージ・マネージャがあって (例: apt-get、aptitude、Synaptic など)、インストールはそれらから行う。 ターミナル上から以下を実行すると sbt をインストールできる (superuser 権限を必要とするため、sudo を使っている)。 echo "
次のページ
このページを最初にブックマークしてみませんか?
『sbt, a simple build tool | sbt』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く