8/20/2008 には、Apache Maven を紹介しましたが、今日は、Ruby をベースに、Gems と Rake を利用した Raven を使ってみました。今回も、Fedora 上で行いました。
# yum install ruby # yum install rubygems $ rpm -q ruby ruby-1.8.6.230-4.fc8 $ rpm -q rubygems rubygems-0.9.4-1.fc8 # gem install rake # gem install raven # $ ls -F /usr/lib/ruby/gems/1.8/gems/raven-1.2.4 bin/ lib/ LICENSE README.rdoc $ rake -V rake, version 0.8.1 $ raven import $ ls -F ~/.raven cache/ doc/ gems/ m2_central.mvnidx m2_ibiblio.mvnidx specifications/ $ $ cd ~/kazmuzik-pagerank $ cat rakefile require 'raven' require 'rake/clean' CLEAN.include('target') task 'default' => 'kazmuzik-pagerank.jar' dependency 'compile_deps' do |t| t.deps << ['commons-math'] end javac 'compile' => 'compile_deps' do |t| t.build_path << "src/main/java" end jar 'kazmuzik-pagerank.jar' => 'compile' gem_wrap_inst 'gem' => 'kazmuzik-pagerank.jar' do |t| t.version = '1.0' end $ rake kazmuzik-pagerank.jar --trace (in /home/kazmuzik/kazmuzik-pagerank) ** Invoke kazmuzik-pagerank.jar (first_time) ** Invoke compile (first_time) ** Invoke compile_deps (first_time) rake aborted! wrong number of arguments (1 for 0) ... $ |
yum で、ruby と rubygems をインストールしてから、gems で rake と raven をインストールしました。raven import コマンドで、Maven の repository を取り込むことができます。しかし、rakefile を書いて、rake コマンドを実行するとエラーになってしまいました。
# gem update --system # yum install ruby-devel # gem install rcov $ rake (in /home/kazmuzik/kazmuzik-pagerank) rake aborted! Platform is not a module /usr/lib/ruby/gems/1.8/gems/raven-1.2.4/lib/raven/gem_init.rb:22 ... $ |
いろいろ試行錯誤してみましたが、Fedora ではどうもうまくいかないようです。
そこで、JRuby とバンドルされているものをダウンロードしてみました。
$ wget http://rubyforge-files.ruby-forum.com/raven/raven-1.2.4-jruby-1.0.1.zip $ cd /opt $ unzip ~/raven-1.2.4-jruby-1.0.1.zip $ ln -s raven-1.2.4-jruby-1.0.1 raven $ PATH=/opt/raven/bin:$PATH $ cd ~/kazmuzik-pagerank $ rake clean (in /home/kazmuzik/kazmuzik-pagerank) rm -r target $ rake (in /home/kazmuzik/kazmuzik-pagerank) Using local gem commons-math-commons-math (1.2) to satisfy dependency commons-math Building path src/main/java javac -classpath "/home/kazmuzik/.raven/gems/commons-math-commons-math-1.2-java/ext/commons-math-1.2.jar\ :target/classes" -sourcepath "src/main/java" -d target/classes src/main/java/net/kazmuzik/pagerank/*.java Built jar file kazmuzik-pagerank.jar. $ ls -F target classes/ kazmuzik-pagerank.jar $ |
今度は、一発で、うまくいきました。
Tags: programming