セットアップ
色んな scalaxb
scalaxb は、xsd と wsdl から Scala ソースを生成する XML データバインディングツールだ。
現在四通りの方法で scalaxb を走らせることができる。
- コマンドラインアプリ
scalaxb
- sbt プラグイン
sbt-scalaxb
- maven プラグイン
mvn-scalaxb
- heroku でホスティングされてる web API
scalaxb-heroku
基本的にはスキーマファイルから Scala ソースを生成するという点においてどれも機能的には変わらない。
プロジェクトの開始当初はコマンドラインが中心だったので、そればっかり使ってたけど、最近は giter8 テンプレートで自動でセットアップした sbt プロジェクトから sbt-scalaxb
を使うという方法に移行してる。試すだけなら、web API ならブラウザだけあれば ok。
sbt 慣れしてる人は sbt-scalaxb
を使って、あとは色々試すのにコマンドラインの scalaxb
も入れておくっていうのがお勧めかな。
sbt-scalaxb のインストール
とりあえず sbt さえ入ってれば、一応ビルド定義に数行書くだけで sbt-scalaxb
は使えるようになる。mvn-scalaxb
も同様。このまま sbt-scalaxb に進んでしまってもいいけど、このページの conscript の説明は読んでおくといいかも。
コマンドラインアプリのインストール
もし入ってない場合は Java 6 SE を入れる。で、次に、conscript (cs) をインストールする。
conscript って何?
sbt の依存性の管理をバックエンドに使ったコマンドラインアプリを書くことができるんだけど、それをセットアップする簡単なユーティリティが conscript。とりあえず scalaxb もインストールしてみる:
$ cs eed3si9n/scalaxb
何が起こるかと言うと、まず ~/bin/scalaxb
というスクリプトが作られて(Unix なら bash、Windows ならバッチファイル)、github から launchconfig
を落としてきて ~/.conscript/eed3si9n/scalaxb/scalaxb/launchconfig
に置かれる。それだけ。
残りのお仕事は sbt-launcher.jar
と呼ばれる sbt のランチャーにやってもらう。launchconfig
にバージョン番号と scalaxb
でつかうメインのモジュールが書いてあって、インストール時に sbt のランチャーがそのモジュールと全ての依存ライブラリを自動的にダウンロードしてくる。
scalaxb
がアップデートするたびに jar を落としてきて、スクリプトを書いてみたいなことをやるよりずっと便利だ。独立した環境で実行されるため、クラスパスが汚染される心配もいらない。
コマンドラインアプリを走らせる
Terminal アプリかコマンドプロンプトで、以下を実行:
$ scalaxb
もし動けば、続きはscalaxb の実行.
ソースからのビルド
INSTALL 参照。