Scala環境準備
sbt
結局この一年間、C++とJavaばかり触っていてScalaに触れていない。
とりあえずDebianにsbtを入れてみる。
# wget http://repo.scala-sbt.org/scalasbt/sbt-native-packages/org/scala-sbt/sbt/0.13.0/sbt.deb # dpkg -i sbt.deb
まあこれでsbtはインストールされる。sbtはC/C++で言えばmake、Javaならantにあたる。
sbt compile と入力して使う。
依存関係が勝手に解決されてかっこいい ← ココ重要
doxygen+graphviz
で、いきなり背景を知らないScalaコードを見ても混乱するのでdoxygen+graphvizで頑張ってみる。
# apt-get install doxygen graphviz
と、ここまで来たところでdoxygenがscalaに対応していないことに気づく。
Doxygen is the de facto standard tool for generating documentation from annotated C++ sources, but it also supports other popular programming languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D.
scaladoc
またしてもStackOverflow様にお聞きすると、ScalaにはJavaと同じようなScaladocなるものが存在するらしく
Scala-2.1.0からはオプションをつけるとクラス関連図も出力されるとのこと。
scala - How to generate type hierarchy diagrams with Scaladoc? - Stack Overflow
気になっているのはすでにbuild.sbtが作られてるプロジェクトなので
ここに従ってdocのコンパイルオプションをつける。
Generate Documentation — sbt Documentation
scalacOptions in (Compile,doc) := Seq("-groups", "-implicits", "-diagrams")
この状態で sbt docを入力するとクラス関連図込みのscaladocが出力された。
感想
sbtの中身がいかにも複雑そうで困る。Makefileみたいに簡単にしろ〜