Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Locked History Actions

sbt/old

以下は古いです

※sbtは0.7と0.10以降とで非常に大きな変更がある。 書籍や様々なウェブサイトで0.7の機能が紹介されているが、現在(2011/10)のsbtとは大きく異なる。

何をするものか

MavenやIvy+Antのような位置づけのもの。依存解決からビルド・配布物の作成までをやってくれる。 内部ではIvyが使用されており、ローカルキャッシュもIvyと共用される。

  • メリット
    すべてをScalaで記述できること、これが最も大きい。

おかしなxmlとそれを拡張するためのJavaコードという組み合わせは不要で、antに例えればbuild.xmlとタスクを統一的にScalaで記述できる。

  • デメリット
    情報が少ない。マニュアル(英語)は、かなりの分量が用意されており、比較的親切な方なのだが、それだけでは全く使いものにはならない。

キー(antでいえばタスク?)それぞれのマニュアルが無いため、使い方を知るには相当苦労する。 しかも、作者はソースコードに全くコメントをつけていないため、scaladocを見たところであまり参考にはならない。

キーを組み合わせて新しいことをやろうとしたり、新たなタスクやプラグイン(タスクの一種)を作成するには多大な努力が必要になる(と思われる)。

学習のしかた

マニュアルを全文読んでも概念的な事柄がわかるだけで、実用にはほど遠いと思われる。 sbt本体のソースコードもほぼ意味不明。 おそらくは、サードパーティ製プラグインのソースコードを読むのが一番の近道ではないかと思われる。 やりたいことと、その実現方法がわかる。

参考サイト

ドキュメント翻訳

Getting Started

Detailed Topics

  • Artifacts what to publish
  • Best Practices
  • クラスパス

  • Command Line Reference
  • Compiler Plugins
  • Console Project
  • Cross Build
  • Forking
  • グローバル設定

  • Inspecting Settings
  • Java Sources
  • ランチャ

  • Library Management
  • Local Scala
  • Mapping Files
  • Migrating to 0.10+
  • Parsing Input
  • Paths
  • Process
  • Publishing
  • Resolvers
  • Running Project Code
  • Scripts
  • Setup Notes
  • タスク

  • TaskInputs

  • Testing
  • Triggered Execution
  • Update Report

チュートリアル

IDE用プラグイン

機能拡張プラグイン

  • sbt-assembly アプリと依存ライブラリを一つの大きなjarにする