なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

Scala環境準備

sbt

結局この一年間、C++Javaばかり触っていてScalaに触れていない。
とりあえずDebianにsbtを入れてみる。

Setup — sbt Documentation

 # 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: Main Page

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みたいに簡単にしろ〜