gemを作ってrubygems.orgで公開する
できた
http://rubygems.org/gems/ArgsParser
バージョン管理はrubygems.orgにリリースするのとは別でmercurialでやってる http://bitbucket.org/shokai/argsparser-ruby/
というのは、githubでgemを作る機能が無くなって今後はrubygems.orgでやってねというメッセージが出ていたから。
なんかrubyforge.orgのgemの作り方のページも全然解説になってないし、ちょっと調べた感じではまっさらな状態からgemを作る事について書いてあるページが見つからなかったのでまとめてみる。jewelerやらcucumberというのもgemを作るのに便利なようだけど、今回はnewgemだけでやる。
参考
先に http://rubygems.org/ でgemの名前が取られてないか確認しておく方がいい。
newgemでgemの雛形を作る。ArgsParserというプロジェクト。
sudo gem install newgem gemcutter newgem ArgsParser -T rspec
lib直下にArgsParser.rbが既に出来ているので、そこにさらにディレクトリを作ってライブラリ本体(Parser.rb)を置いた。
ArgsParser.rbを編集し、Parser.rbをrequireした。
$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) directory = File.expand_path(File.dirname(__FILE__)) require File.join(directory, 'ArgsParser', 'Parser') module ArgsParser VERSION = '0.0.3' def ArgsParser.parser Parser.new end end
- Rakefileの中、自分の名前やメールアドレスの項目を埋める。
- examplesというディレクトリを作って、使用例のコードをいくつか入れる。
- Manifest.txtにgemに含めるファイル名が列挙されている。Parser.rbやexamples下の使用例等を追加する
gemを作る
rake package
pkg/ArgsParser-0.0.1.gemやtgzができた。
バージョン番号はlib/ArgsParser.rbに書いてあったものが適応される。
rubygems.orgにpushする。
gem push pkg/ArgsParser-0.0.1.gem
ユーザ名とパスワードを訊かれるので入力する。
1分もしないうちに http://rubygems.org/gems/ArgsParser ができてて、
sudo gem install ArgsParser
するとインストールできるようになってた。
今後の予定