2011年11月15日

build.sbtについて(sbt)

build.sbtについて


build.sbtはビルド定義(build definition)するもの。ビルド定義ってのは、キー・バリューのリストで定義する。 記述方法は、

キー := 値

キーに対応する値の型は決まってるので違う型を設定すると無視される。キーは"sbt.Keys"で定義されている。build.sbtは自動的にコイツをimportしてるので"sbt.Keys.name"ではなく"name"と書ける。
sbt.Keys:https://github.com/harrah/xsbt/blob/0.11/main/Keys.scala

キーは3種類


・SettingKey[T]: プロジェクトロード時に一度だけ設定される値
・TaskKey[T]: 毎回計算される値。副作用あるよ
・InputKey[T]: コマンドライン引数を受けるキー
ちなみにsbtのインタラクティブモードで実行するcompile, runもTaskKeyなのだ。インタラクティブモードではTaskKeyの内容を実行できるのだ。

ライブラリ依存


sbtではライブラリ依存を定義する方法として2つある。
◆unmanaged dependencies(アンマネージ依存)
"lib/"にjarを直接置く方法。sbtで管理はしてくれないので特別な理由(リポジトリに無いとか)がない場合はマネージ依存を使う。
◆managed dependencies(マネージ依存)
build.sbtに

libraryDependencies += "org.apache.darby" % "derby" % "10.4.1.3"

と書けばApache Derbyライブラリのバージョン10.4.1.3を追加できる。バージョンを変更したければ"10.4.1.3"と修正して"sbt update"で終わり。sbtが自動的にダウンロードして組み込んでくれる。マジ便利。
・testの時だけ追加したいライブラリとかあるよね?(コンフィギュレーション毎の依存設定)
テスト用のライブラリとかtestコマンドの時だけ使うけど、mainでは使わないとかあるよね。その場合は、

libraryDependencies += "org.apache.darby" % "derby" % "10.4.1.3" % "test"

と最後に"% "test""をつければOK。
・リポジトリ追加
デフォルトで設定されているリポジトリには無いライブラリを使いたい場合は、リポジトリを追加できる

resolvers += "説明" at "リポジトリパス(http://〜, file://〜)"

プラグイン追加


/project/build 下記の記述を加える事でプラグインを追加できる。

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse" % "1.4.0")



posted by purigen at 11:00| Comment(0) | TrackBack(0) | Scala | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。