Happy My Life

日常とか技術とか

milkodeでAndroidのソースコードを検索する

結論からいうと非常に便利。特に日常的にgrepしてるような人はすぐに入れるべし。 何がいいって環境構築が楽なので(おいらがrubyに慣れているというのもあるけど)

構築方法

今回はUbuntu10.04LTSにて構築。

Rubyrvmを利用してインストールした。このrvmってのは、複数バージョンのrubyを共存させることができる方法。今回はRuby 1.8.7をインストール。milkodeをインストールする場合、利用するruby実装系、インストール方法、OS環境によってはハマりが発生するようだ。今回のUbuntu10.04&rvmでは、インストール時のハマりがなかった。

ちなみにruby enterprise editionを使ってインストールするとちょっとハマったりする(将来的なバージョンアップで解決されそう)

では最初にrvmとrubyのインストールから。rvmは以下の方法でインストールできる。インストールはホームディレクトリ以下にされる。

$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$ echo '-s "$HOME/.rvm/scripts/rvm" ' && . "$HOME/.rvm/scripts/rvm" ' >> ~/.bash_profile
$ source .bash_profile
$ rvm install 1.8.7

これでrvm & rubyのインストールが完了。あとはmilkodeをインストール。milkodeはrubygemに登録されているので、一行でインストール可能。あと、milkodeは、grooga(全文検索ライブラリ)インストール時にビルドが発生する。なので、コンパイラ等はあらかじめインストールしておくこと。

$ apt-get install build-essential

そしてmilkodeをインストール

$ gem install milkode

あとは、milkodeを初期化して、ソースコードを追加して、ブラウザで表示

$ milk init --default
$ milk add 
$ milk web

構築した結果が、以下のスクリーンショット。

milkode1-1

milkode2-1

使ってみて

私はrowboat(TIが提供するAndroidのソースコード)をインストールした。milkodeのWebサイトでは2万ファイルの検索では1秒以内に検索されるとと書いてあった。ただ、今回登録したrowboatは13万ファイルあったので、1秒以内というのは場合によって、としか言えない。

検索条件によっては、10秒以上待たされることも珍しくはない。で、検索速度はもちろんマシン環境にも依存するので(うちはCore i7 860 2.8GHz)、場合によってはそれ以上かかることもある。

とはいえ、milkodeは、grepよりは断然早いので、おすすめ。何より構築が手軽なのがよい。ガンガン利用するならOpenGrokを検討してみてもよいかもしれない。

基礎から学ぶ 組み込みAndroid
坂本 俊之 出村 成和 渡邊 昌之
シーアンドアール研究所
売り上げランキング: 22331