Make Ruby Gem


詳細
How to make gem
 
1. Install echoe gem
$ gem install echoe
2. make gem
$ mkdir hello_world $ vi hello_world/Rakefile
require 'rubygems'
require 'rake'
require 'echoe'

Echoe.new('wkhtmltopdf_32_amd64', '0.0.1') do |p|
  p.description    = "wkhtmltopdf support linux 32,64 and OSX 32"
  p.url            = "http://github.com/sloanwu/wkhtmltopdf_32_amd64.git"
  p.author         = "Sloan Wu"
  p.email          = "[email protected]"
  p.ignore_pattern = ["tmp/*", "script/*"]
  p.development_dependencies = []
end

Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }

  save file
:~/hello_world$ rake manifest :~/hello_world$ rake -T get a bunch of tasks to help you manage your gem. :~/hello_world$ rake gemspec You can modify the project.gemspec eg:
Gem::Specification.new do |s|
  s.name = %q{wkhtmltopdf_32_amd64}
  s.version = "0.0.1"

  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
  s.authors = ["Sloan Wu"]
  s.date = %q{2010-09-09}
  s.description = %q{wkhtmltopdf support linux 32,64 and OSX 32}
  s.email = %q{[email protected]}
  s.executables = ["wkhtmltopdf"]
  s.extra_rdoc_files = ["bin/test.rb", "bin/wkhtmltopdf", "bin/wkhtmltopdf_darwin_386", "bin/wkhtmltopdf_linux_386", "bin/wkhtmltopdf_linux_amd64"]
  s.files = ["Rakefile", "bin/test.rb", "bin/wkhtmltopdf", "bin/wkhtmltopdf_darwin_386", "bin/wkhtmltopdf_linux_386", "bin/wkhtmltopdf_linux_amd64", "Manifest", "wkhtmltopdf_32_amd64.gemspec"]
  s.homepage = %q{http://github.com/sloanwu/wkhtmltopdf_32_amd64.git}
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Wkhtmltopdf_32_amd64"]
  s.require_paths = ["lib"]
  s.rubyforge_project = %q{wkhtmltopdf_32_amd64}
  s.rubygems_version = %q{1.3.7}
  s.summary = %q{wkhtmltopdf support linux 32,64 and OSX 32}

  if s.respond_to? :specification_version then
    current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
    s.specification_version = 3

    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
    else
    end
  else
  end
end

 
package to a gem :~/hello_world$ gem build wkhtmltopdf_32_amd64.gemspec
 
 
3. pushlish on github
1) you need sign up a github user. 2) you need set the github user with a ssh key. you can get help from http://help.github.com/linux-key-setup/Global setup: Download and install Git $ git config --global user.name "sloanwu" $ git config --global user.email [email protected]
 
Next steps:   $ mkdir wkhtmltopdf_32_amd64   $ cd wkhtmltopdf_32_amd64   $ git init   $ touch README   $ git add README   $ git commit -m 'first commit'   $ git remote add origin [email protected]:sloanwu/wkhtmltopdf_32_amd64.git   $ git push origin master       Existing Git Repo?   $ cd existing_git_repo   $ git remote add origin [email protected]:sloanwu/wkhtmltopdf_32_amd64.git   $ git push origin master
4. publish on Rubygems.org
$ gem update --system     Update to the latest RubyGems version $ gem build foo.gemspec     Build your gem $ gem push foo-1.0.0.gem