Locked History Actions

Diff for "sbt"

Differences between revisions 67 and 68
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
'''※sbtは0.7と0.10以降とで非常に大きな変更がある。
書籍や様々なウェブサイトで0.7の機能が紹介されているが、現在(2011/10)のsbtとは大きく異なる。'''

== 何をするものか ==

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

 * メリット<<BR>>すべてをScalaで記述できること、これが最も大きい。
おかしなxmlとそれを拡張するためのJavaコードという組み合わせは不要で、antに例えればbuild.xmlとタスクを統一的にScalaで記述できる。

 * デメリット<<BR>>情報が少ない。マニュアル(英語)は、かなりの分量が用意されており、比較的親切な方なのだが、それだけでは全く使いものにはならない。
キー(antでいえばタスク?)それぞれのマニュアルが無いため、使い方を知るには相当苦労する。
しかも、作者はソースコードに全くコメントをつけていないため、scaladocを見たところであまり参考にはならない。

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

=== 学習のしかた ===

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

 * [[sbt/whyDifficult|なぜsbtはわかりにくいのか?]]


== 参考サイト ==

 * [[https://github.com/harrah/xsbt/|本家]]
 * [[https://github.com/harrah/xsbt/wiki|本家ドキュメント]]
 * [[https://github.com/harrah/xsbt/wiki/sbt-0.10-plugins-list|本家プラグインリスト]]
 * [[http://eed3si9n.com/ja/sbt-010-guide|非公式 sbt 0.10 ガイド v2.0]]
 * [[http://harrah.github.com/xsbt/latest/sxr/Keys.scala.html|Keys.scala]]

== ドキュメント翻訳 ==

=== Getting Started ===

 * [[sbt/Getting-Started-Welcome|ようこそ]]
 * [[sbt/Getting-Started-Setup|セットアップ]]
 * [[sbt/Getting-Started-Hello|Hello, World]]
 * [[sbt/Getting-Started-Directories|ディレクトリ構造]]
 * [[sbt/Getting-Started-Running|sbtの実行]]
 * [[sbt/Getting-Started-Basic-Def|.sbtの定義]]
 * [[sbt/Getting-Started-Scopes|スコープ]]
 * [[sbt/Getting-Started-More-About-Settings|Settingについてもっと]]
 * [[sbt/Getting-Started-Library-Dependencies|ライブラリ依存性]]
 * [[sbt/Getting-Started-Full-Def|.scalaビルド定義]]
 * [[sbt/Getting-Started-Using-Plugins|プラグインの使用]]
 * [[sbt/Getting-Started-Multi-Project|マルチプロジェクト]]
 * [[sbt/Getting-Started-Custom-Settings|カスタム設定とタスク]]
 * [[sbt/Getting-Started-Summary|サマリ]]

=== Detailed Topics ===

 * Artifacts what to publish
 * Best Practices
 * [[sbt/dt_Classpaths|クラスパス]]
 * Command Line Reference
 * Compiler Plugins
 * Console Project
 * Cross Build
 * Forking
 * [[sbt/dt_Global-Settings|グローバル設定]]
 * Inspecting Settings
 * Java Sources
 * [[sbt/dt_Launcher|ランチャ]]
 * Library Management
 * Local Scala
 * Mapping Files
 * Migrating to 0.10+
 * Parsing Input
 * Paths
 * Process
 * Publishing
 * Resolvers
 * Running Project Code
 * Scripts
 * Setup Notes
 * [[sbt/dt_Tasks|タスク]]
 * TaskInputs
 * Testing
 * Triggered Execution
 * Update Report


== チュートリアル ==

 * [[sbt/stepByStep|ステップバイステップ]]

== IDE用プラグイン ==

 * [[sbt/Eclipse]]
 * [[sbt/IntelliJ]](sbt0.7に基づいている)

== 機能拡張プラグイン ==

 * [[sbt/sbt-assembly|sbt-assembly]] アプリと依存ライブラリを一つの大きなjarにする
* [[sbt/old|古いコンテンツ]]

Simple Build Tool(SBT)

* 古いコンテンツ