記事の引越しから漏れていたのでサルベージ。

RubyGems パッケージの作り方 - rubyforge 登録まで

僕はまだRubyForgeにGemを登録した事がないので、secondlifeさんの記事はとても参考になりました。蛇足感もありますが、多様性は善という事で、HoeというGemを使ったもう一つのRubyGemsパッケージの作り方を紹介します。

Hoeは、Seattle.rb Projects
による一連のプロジェクトの中の一つで、やはりnewgemと同じようにRubyGemsの作成を簡単にしてくれるGemです。

Hoeを使ってGemを作る流れは、

  1. sowコマンドでGemの雛形を生成
  2. 雛形を元にGemを作成

という感じで、非常に簡単です。具体的に簡単なGemを作る方法を紹介します。

まずはHoeをインストールしましょう。

# gem install hoe --include-dependencies

そしてGemの雛形を生成します。

shell-unix-generic>>
$ sow sample
creating project sample
... done, now go fix all occurances of 'FIX'

sample/Rakefile:9: # p.summary = 'FIX'
sample/README.txt:2: by FIX
sample/README.txt:3: FIX
sample/README.txt:7:FIX
sample/README.txt:11:* FIX
sample/README.txt:15: FIX
sample/README.txt:19:+ FIX
sample/README.txt:23:+ FIX
sample/README.txt:29:Copyright (c) 2006 FIX
<<--

とりあえずこのFIXというところをカスタマイズすればOKという親切ぶりです。
そしてさらに、次のようなRakeタスクが生成されます。

shell-unix-generic>>
$ rake -T
(in /home/takiuchi/sample)
rake announce # Generate email announcement file and post to rubyforge.
rake audit # Run ZenTest against the package
rake check_manifest # Verify the manifest
rake clean # Clean up all the extras
rake clobber_docs # Remove rdoc products
rake clobber_package # Remove package products
rake debug_gem # Show information about the gem.
rake default # Run the default tasks
rake docs # Build the docs HTML Files
rake email # Generate email announcement file.
rake install # Install the package. Uses PREFIX and RUBYLIB
rake install_gem # Install the package as a gem
rake multi # Run the test suite using multiruby
rake package # Build all the packages
rake post_news # Post announcement to rubyforge.
rake publish_docs # Publish RDoc to RubyForge
rake redocs # Force a rebuild of the RDOC files
rake release # Package and upload the release to rubyforge.
rake repackage # Force a rebuild of the package files
rake ridocs # Generate ri locally for testing
rake test # Run the test suite. Use FILTER to add to the command line.
rake uninstall # Uninstall the package.
<<--

なんとも魅力的な名前のタスク達ではないでしょうか。
rakeコマンドを打つだけでRubyForge上でのいろんな作業が出来てしまいそうです。

そのほか細かいところは同じなので、secondlifeさんの記事をご参照ください。

posted by genki genki on Wed 21 Nov 2007 at 12:36 with 0 comments