よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

March 21, 2009 [おもひで]

[Ruby] Rakefile+rubyforge

RubyForgeへのリリースにはrubyforgeをRakefileに記述して実施している。

desc "Publish the release files to RubyForge."
task :release => [ :package ] do
  require 'rubyforge'
  
  rubyforge = RubyForge.new
  rubyforge.login
  rubyforge.add_release("locale", "locale",
                        PKG_VERSION,
                        "pkg/locale-#{PKG_VERSION}.gem",
                        "pkg/ruby-locale-#{PKG_VERSION}.tar.gz")
end

こんな感じ。これが以下のようなエラーを出すことに気づいた。

rake aborted!
undefined method `[]' for nil:NilClass

ソースを見たところ、@userconfigが読み込めてない>これを読むためにconfigureというメソッドがあるんだけど、これが呼ばれてない、ということに気づいたので、以下のようにしてみた。

desc "Publish the release files to RubyForge."
task :release => [ :package ] do
  require 'rubyforge'
  
  rubyforge = RubyForge.new
  rubyforge.configure
  rubyforge.login
  rubyforge.add_release("locale", "locale",
                        PKG_VERSION,
                        "pkg/locale-#{PKG_VERSION}.gem",
                        "pkg/ruby-locale-#{PKG_VERSION}.tar.gz")
end

一応、これで無事に動いた。って、これで良いのかな?
ドキュメント探してみたけど、これってのが見つからなかったんだよな・・・


編集