2009-05-26

gemを作るとき、プロジェクトを作るときには結局何を使うと嬉しいのだろう

これまで gem は使うだけで作ったことがなかった。github や coderepos に上げてある自作のツールも gem 使えたらもう少し楽かなぁなんてことを思うんだけど、何を使って作るのがいいのかもよく分からないのでちょっと調べてみた。

というか何年も溜め込んでいただけのブックマークを広げてみた。

名前だけは newgem や Hoe を知っていたんだけど、なんかこういう似たようなものがいっぱいある状況はあまり好きではなく、決定版はないのかなーと思っていたところで以下のような記事を見つけた。

cutagem - Yet Another newgem っぽいなにか - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech

こういう情報は実に嬉しい。howto は howto でありがたいんだけど、それぞれのツールの howto だけあっても、で、結局何?みたいな気持ちになるのも事実1。ちゃんと比較というか好みを挙げてくれるものはあまり見る機会がなく、とても参考になる。

これだけじゃなんなので自分でも試してみた。

  • hoe
    • そんなにたいしたことはしない。こういう風に書きなよっていうひな形のファイルがダダっとできるだけで、確かに Manifest のメンテとかそれなりに面倒くさそう。
  • newgem
    • 依存が多い。activesupport とか hoe とか。その割にできあがる Rakefile が決め打ちでいやな感じはする。というか基本は Rails 向けかなぁ? 個人的にはあんまり用ないような?
  • cutagem
    • 決定版ぽいんだけど最近いじってないのはなんでだろう…。基本的に rubyforge しか考えてないっぽいのは 0.0.7 の話?2 できた Rakefile はいじりやすくて、とてもいい感じ。
  • gemify
    • gem の作成に向いているのであってプロジェクトのひな形は作ってくれない。

ここに来て新事実発見。

プロジェクトのひな形を作るツールと gem を作るツールは分離しててもよい。

そうか。hoe + gemify くらいがお手軽というかスタンダードに近いと考えていいのかなぁ?

ruby-toolbox 的には jeweler らしいんだけど自分の環境は .gitconfig が link だからなのか jeweler が使えなかった。じゃあ newgem を飛ばして知名度的には bones かしら?

……。なんか余計に選択肢が増えてしまった。どうしよう。


このあとボクはどっち方面へ向かっていったらいいんでしょうか? cutagem が好みに合うならそっちまっしぐらでいんじゃね?とか、bones も悪くないよなどの情報があるととても喜びます。

  1. ごめんなさいごめんなさい 

  2. まだ 0.0.8 は試してない 

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm