From 31c94ffeb5f09d09ac2c86fc9e6614e38251a43d Mon Sep 17 00:00:00 2001 From: drbrain Date: Tue, 9 Jun 2009 21:38:59 +0000 Subject: Update to RubyGems 1.3.4 r2223 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/gauntlet_rubygems.rb | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 lib/gauntlet_rubygems.rb (limited to 'lib/gauntlet_rubygems.rb') diff --git a/lib/gauntlet_rubygems.rb b/lib/gauntlet_rubygems.rb new file mode 100644 index 0000000000..f6c4827129 --- /dev/null +++ b/lib/gauntlet_rubygems.rb @@ -0,0 +1,50 @@ +require 'rubygems' +require 'gauntlet' + +## +# GemGauntlet validates all current gems. Currently these packages are +# borked: +# +# Asami-0.04 : No such file or directory - bin/Asami.rb +# ObjectGraph-1.0.1 : No such file or directory - bin/objectgraph +# evil-ruby-0.1.0 : authors must be Array of Strings +# fresh_cookies-1.0.0 : authors must be Array of Strings +# plugems_deploy-0.2.0 : authors must be Array of Strings +# pmsrb-0.2.0 : authors must be Array of Strings +# pqa-1.6 : authors must be Array of Strings +# rant-0.5.7 : authors must be Array of Strings +# rvsh-0.4.5 : No such file or directory - bin/rvsh +# xen-0.1.2.1 : authors must be Array of Strings + +class GemGauntlet < Gauntlet + def run(name) + warn name + + spec = begin + Gem::Specification.load 'gemspec' + rescue SyntaxError + Gem::Specification.from_yaml File.read('gemspec') + end + spec.validate + + self.data[name] = false + self.dirty = true + rescue SystemCallError, Gem::InvalidSpecificationException => e + self.data[name] = e.message + self.dirty = true + end + + def should_skip?(name) + self.data[name] == false + end + + def report + self.data.sort.reject { |k,v| !v }.each do |k,v| + puts "%-21s: %s" % [k, v] + end + end +end + +gauntlet = GemGauntlet.new +gauntlet.run_the_gauntlet ARGV.shift +gauntlet.report -- cgit v1.2.3