scala構築ツールSBTの使用_構築定義
3076 ワード
lazy val root = (project in file("."))
構築定義ファイルがsbtのmapに直接影響しないように、このディレクトリのProjectエンジニアリング定義を作成できます.代わりに、コンストラクション定義は、マッピングテーブルの値(value)のタイプであるSetting[T]の巨大なオブジェクトリストを作成します.1つのSettingsは、新しいキー値ペアを追加したり、既存のvalueに追加したりするように、マッピングテーブル(map)への変換を記述する.(可変データ構造と値の使用に関する関数プログラミングの考え方では、一度の変換で新しいmapが返されます.古いmapはその場で更新されません.)まとめ:コンストラクション定義はProjectで、Setting[T]のタイプのリストを持ち、setting[T]はsbt保存キー値ペアに影響を与えるmapの変換であり、Tは各valueのタイプである.lazy val root = (project in file(".")).
settings(
name := "hello"
)
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0",
scalaVersion := "2.11.7"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "hello"
)
これらの式はval,lazy val,defで宣言することができる.build.sbtでは、最上位レベルのobjectおよびclassは使用できません.プロジェクト/ディレクトリの下に完全なScalaソースファイルとして書く必要があります. lazy val hello = taskKey[Unit](" task ")
valsおよびdefsを空白行および設定(settings)で区切る必要があります.定義Tasks: lazy val hello = taskKey[Unit]("An example task")
lazy val root = (project in file(".")).
settings(
hello := { println("Hello!") }
)
定義setting lazy val root = (project in file(".")).
settings(
name := "hello"
)
import sbt._
import Process._
import Keys._
val derby = "org.apache.derby" % "derby" % "10.4.1.3"
lazy val commonSettings = Seq(
organization := "com.example",
version := "0.1.0",
scalaVersion := "2.11.7"
)
lazy val root = (project in file(".")).
settings(commonSettings: _*).
settings(
name := "hello",
libraryDependencies += derby
)
%を追加する方法は、IvyモジュールIDを文字列から構築するために使用され、ライブラリ依存について説明する.