创建新的gem包 部分过程

上一篇 / 下一篇  2011-03-03 11:42:31 / 个人分类:Ruby

一、首先:gem install gem_plugin -ry

      该安装主要是安装gpgen工具

图片略......

 

二、创建所需要的gem包名称

      gpgen qascript

 

三、将自己的代码放在lib/qascript文件夹下,如果有测试代码,则创建一个test目录,将单元测试的文件都放在这个文件夹下。

        将你自己写的rb文件都放在lib/ qascript文件夹下面,比如有a.rb,b.rb

    一般的做法,会在lib的根目录下建立一个 qascript.rb文件,这个文件用来引入你lib/ qascript文件夹下的所有rb文件。qascript.rb文件的内容为:

    # qascript.rb

   $:.unshift"#{File.dirname(__FILE__)}/qascript"

    requirea

    requireb

 

四、制作完rb文件后,修改Rakefile

制作完rb文件后,修改Rakefile

# Rakefile

require 'rake'

require 'rake/testtask'

require 'rake/clean'

require 'rake/gempackagetask'

require 'rake/rdoctask'

require 'fileutils'

include FileUtils

version="0.1.1"  #改为你的version

name="qascript"    #改为你的gem名字

spec = Gem::Specification.new do |s|

 s.name = name

 s.version = version

 s.email="your-email@email.com" 

 s.homepage = "http://localhost"

 s.descrīption = s.summary = "xxxxxxxxxxxxx”

 s.author = "ethen.hu"

 s.add_dependency('gem_plugin', '>= 0.2.3')

 s.platform. = Gem::Platform.:RUBY

 s.has_rdoc = true

 s.extra_rdoc_files = ["README"]

 candidates = %w(COPYING LICENSE README Rakefile) +

    Dir.glob("{bin,doc/rdoc,test,lib}/**/*") +

    Dir.glob("ext/**/*.{h,c,rb}") +

    Dir.glob("examples/**/*.rb") +

    Dir.glob("tools/*.rb") +

    Dir.glob("resources/**/*")

  s.files = candidates.delete_if do |item|   #去掉svvrdoc目录

         item.include?(".svn") || item.include?("rdoc")

  end

 s.require_path = "lib"

 s.bindir = "bin"

end

 

Rake::GemPackageTask.new(spec) do |p|

   p.need_tar = true if RUBY_PLATFORM. !~ /mswin/

end

 

task :install => [:test, :package] do

   sh %{sudo gem install pkg/#{name}-#{version}.gem}

end

 

task :uninstall => [:clean] do

 sh %{sudo gem uninstall #{name}}

end

 

Rake::TestTask.new do |t|

 t.libs << "test"

 t.test_files = FileList['test/test*.rb']

 t.verbose = true

end

 

Rake::RDocTask.new do |rdoc|

 rdoc.rdoc_dir = 'doc/rdoc'

 rdoc.options << '--line-numbers'

 rdoc.rdoc_files.add ['README', 'LICENSE', 'COPYING', 'lib/**/*.rb', 'doc/**/*.rdoc']

end

 

task :default => [:test, :package]

 

CLEAN.include ['build/*', '**/*.o', '**/*.so', '**/*.a', 'lib/*-*', '**/*.log', 'pkg', 'lib/*.bundle', '*.gem', '.config']


五、在当前目录运行,打包

  gem build Rakefile

     图片略......

 

六,使用该gem包

            图片略......

       安装该gem包: gem install qascript.gem

      Requirerubygems

      Requireqascript

 

      导入qascript后,即可使用里面的功能了,但你必须在包外写一个文件导入包内所有的lib,

 


TAG: build gem Ruby ruby GEM RUBY Build

 

评分:0

我来说两句

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 6676
  • 日志数: 6
  • 建立时间: 2010-09-09
  • 更新时间: 2011-08-18

RSS订阅

Open Toolbar