[前][次][番号順一覧][スレッド一覧]

ruby-changes:20794

From: nobu <ko1@a...>
Date: Thu, 4 Aug 2011 16:09:02 +0900 (JST)
Subject: [ruby-changes:20794] nobu:r32842 (trunk): * tool/rbinstall.rb (gem): install all gemspecs under lib and ext.

nobu	2011-08-04 16:08:48 +0900 (Thu, 04 Aug 2011)

  New Revision: 32842

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32842

  Log:
    * tool/rbinstall.rb (gem): install all gemspecs under lib and ext.

  Modified files:
    trunk/ChangeLog
    trunk/defs/default_gems
    trunk/tool/rbinstall.rb

Index: defs/default_gems
===================================================================
--- defs/default_gems	(revision 32841)
+++ defs/default_gems	(revision 32842)
@@ -3,6 +3,3 @@
 rdoc		lib/rdoc.rb			[rdoc ri]
 minitest	lib/minitest/unit.rb
 json		ext/json/lib/json/version.rb
-io-console	ext/io/console/io-console.gemspec
-bigdecimal	ext/bigdecimal/bigdecimal.gemspec
-psych		ext/psych/psych.gemspec
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 32841)
+++ ChangeLog	(revision 32842)
@@ -1,5 +1,7 @@
-Thu Aug  4 15:44:10 2011  Nobuyoshi Nakada  <nobu@r...>
+Thu Aug  4 16:08:45 2011  Nobuyoshi Nakada  <nobu@r...>
 
+	* tool/rbinstall.rb (gem): install all gemspecs under lib and ext.
+
 	* tool/rbinstall.rb (Gem::Specification): may not be defined when
 	  cross-compiling and BASERUBY is 1.8.
 
Index: tool/rbinstall.rb
===================================================================
--- tool/rbinstall.rb	(revision 32841)
+++ tool/rbinstall.rb	(revision 32842)
@@ -556,7 +556,7 @@
 
 module RbInstall
   module Specs
-    class Reader < Struct.new(:name, :src, :execs)
+    class Reader < Struct.new(:src)
       def gemspec
         @gemspec ||= begin
           Gem::Specification.load(src) || raise("invalid spec in #{src}")
@@ -592,10 +592,6 @@
         version.split(%r"=\s*", 2)[1].strip[/\A([\'\"])(.*?)\1/, 2]
       end
     end
-
-    def self.generator_for(file)
-      File.extname(file) == '.gemspec' ? Reader : Generator
-    end
   end
 end
 # :startdoc:
@@ -608,6 +604,7 @@
   prepare "default gems", gem_dir, directories
 
   spec_dir = File.join(gem_dir, directories.grep(/^spec/)[0])
+  gems = {}
   File.foreach(File.join(srcdir, "defs/default_gems")) do |line|
     line.chomp!
     line.sub!(/\s*#.*/, '')
@@ -620,7 +617,16 @@
     next unless name and src
 
     src       = File.join(srcdir, src)
-    specgen   = RbInstall::Specs.generator_for(src).new(name, src, execs || [])
+    specgen   = RbInstall::Specs::Generator.new(name, src, execs || [])
+    gems[name] ||= specgen
+  end
+
+  Dir.glob(srcdir+"/{lib,ext}/**/*.gemspec").each do |src|
+    specgen   = RbInstall::Specs::Reader.new(src)
+    gems[specgen.gemspec.name] ||= specgen
+  end
+
+  gems.sort.each do |name, specgen|
     gemspec   = specgen.gemspec
     full_name = "#{gemspec.name}-#{gemspec.version}"
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]