Locked History Actions

Diff for "sbt"

Differences between revisions 59 and 60
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
MavenやIvy+Antのような位置づけのものらしい。依存解決からビルド・配布物の作成までをやってくれるらしい
Ivyと同じく依存解決はMavenのリポジトリを使うらしい(試しながらの記述なのですべて「らしい」)
MavenやIvy+Antのような位置づけのもの。依存解決からビルド・配布物の作成までをやってくれる。
内部ではIvyが使用されており、ローカルキャッシュもIvyと共用される
Line 8: Line 8:
しかも、Scalaで記述されたScala専用のビルドツールらしい。 === メリット ===
Line 10: Line 10:
さらにここが特徴的なのだが、複数のプロジェクトで「何かを共有する」ことはしないらしい。
SBTの配布物は、複数のプロジェクトの共有ライブラリとしてどこかに置いておくことはせず、各プロジェクトのディレクトリのそれぞれにコピーを置いておき、
しかもそれぞれにScalaの処理系やらプロジェクトに必要な依存ライブラリをダウンロードしてしまうらしい(-->これ間違い。ivyのリポジトリで共有管理される)。
すべてをScalaで記述できること、これが最も大きい。
おかしなxmlとそれを拡張するためのJavaコードという組み合わせは不要で、antに例えればbuild.xmlとタスクを統一的にScalaで記述できる。
Line 14: Line 13:
複数のプロジェクトで唯一共有されるものと言えば、Javaの処理系のみらしい。 === デメリット ===
Line 16: Line 15:
これはこれで理にかなった方法ではある。複数のプロジェクトで共有されるものの整合性を管理するのに苦労するより、プロジェクト専用のものを管理すればよいのだから。ディスクは十分安いので無理に共有することもなかろう。 情報が少ない。マニュアル(英語)は、かなりの分量が用意されており、比較的親切な方なのだが、それだけでは全く使いものにはならない。
キー(antでいえばタスク?)それぞれのマニュアルが無いため、使い方を知るには相当苦労する。
しかも、作者はソースコードに全くコメントをつけていないため、scaladocを見たところであまり参考にはならない。
Line 18: Line 19:
※sbtは0.7と0.10以降とで非常に大きな変更がある。
書籍や様々なウェブサイトで0.7の機能が紹介されているが、現在(2011/10)のsbtとは大きく異なる。
キーを組み合わせて新しいことをやろうとしたり、新たなタスクやプラグイン(タスクの一種)を作成するには多大な努力が必要になる(と思われる)。



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

Simple Build Tool(SBT)

何をするものか

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

メリット

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

デメリット

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

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

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

インストール

0.10以降は、従来のgooglecodeからgihubにウェブサイトが変更されている。https://github.com/harrah/xsbt/wiki/Setup

ダウンロードは、http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/の中の最新のものにすればよい。

ダウンロードしたjarファイルは$SCALA_HOME/libやプロジェクトのlibディレクトリ、あるいはその他クラスパスの通ったところには置いてはいけないという。

次にDOS窓でsbtコマンドが使えるように、sbt.batを作成し、これをPATHの通ったところにおくか、PATHを通す。

java -Xmx512M -jar "(sbt-launch.jarをおいたパス)\sbt-launch.jar" %*

初回にsbtコマンドを実行すると、scala環境を勝手にダウンロードしてくるので、終了するまで待つ必要がある。

チュートリアル

IDE用プラグイン

機能拡張プラグイン