mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Remove obsolete files in lib/rubygems/indexer
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
37e11f3cce
commit
b2623d9bb8
6 changed files with 4 additions and 244 deletions
|
@ -1,3 +1,7 @@
|
|||
Wed Feb 24 14:38:16 2010 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rubygems/indexer: Removed obsolete files.
|
||||
|
||||
Wed Feb 24 11:52:05 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* dln.c (translit_separator): moved back from load.c again.
|
||||
|
|
|
@ -1,88 +0,0 @@
|
|||
require 'zlib'
|
||||
|
||||
require 'rubygems/indexer'
|
||||
|
||||
# Abstract base class for building gem indicies. Uses the template pattern
|
||||
# with subclass specialization in the +begin_index+, +end_index+ and +cleanup+
|
||||
# methods.
|
||||
class Gem::Indexer::AbstractIndexBuilder
|
||||
|
||||
# Directory to put index files in
|
||||
attr_reader :directory
|
||||
|
||||
# File name of the generated index
|
||||
attr_reader :filename
|
||||
|
||||
# List of written files/directories to move into production
|
||||
attr_reader :files
|
||||
|
||||
def initialize(filename, directory)
|
||||
@filename = filename
|
||||
@directory = directory
|
||||
@files = []
|
||||
end
|
||||
|
||||
##
|
||||
# Build a Gem index. Yields to block to handle the details of the
|
||||
# actual building. Calls +begin_index+, +end_index+ and +cleanup+ at
|
||||
# appropriate times to customize basic operations.
|
||||
|
||||
def build
|
||||
FileUtils.mkdir_p @directory unless File.exist? @directory
|
||||
raise "not a directory: #{@directory}" unless File.directory? @directory
|
||||
|
||||
file_path = File.join @directory, @filename
|
||||
|
||||
@files << @filename
|
||||
|
||||
File.open file_path, "wb" do |file|
|
||||
@file = file
|
||||
start_index
|
||||
yield
|
||||
end_index
|
||||
end
|
||||
|
||||
cleanup
|
||||
ensure
|
||||
@file = nil
|
||||
end
|
||||
|
||||
##
|
||||
# Compress the given file.
|
||||
|
||||
def compress(filename, ext="rz")
|
||||
data = open filename, 'rb' do |fp| fp.read end
|
||||
|
||||
zipped = zip data
|
||||
|
||||
File.open "#{filename}.#{ext}", "wb" do |file|
|
||||
file.write zipped
|
||||
end
|
||||
end
|
||||
|
||||
# Called immediately before the yield in build. The index file is open and
|
||||
# available as @file.
|
||||
def start_index
|
||||
end
|
||||
|
||||
# Called immediately after the yield in build. The index file is still open
|
||||
# and available as @file.
|
||||
def end_index
|
||||
end
|
||||
|
||||
# Called from within builder after the index file has been closed.
|
||||
def cleanup
|
||||
end
|
||||
|
||||
# Return an uncompressed version of a compressed string.
|
||||
def unzip(string)
|
||||
Zlib::Inflate.inflate(string)
|
||||
end
|
||||
|
||||
# Return a compressed version of the given string.
|
||||
def zip(string)
|
||||
Zlib::Deflate.deflate(string)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
require 'rubygems/indexer'
|
||||
|
||||
##
|
||||
# Construct the latest Gem index file.
|
||||
|
||||
class Gem::Indexer::LatestIndexBuilder < Gem::Indexer::AbstractIndexBuilder
|
||||
|
||||
def start_index
|
||||
super
|
||||
|
||||
@index = Gem::SourceIndex.new
|
||||
end
|
||||
|
||||
def end_index
|
||||
super
|
||||
|
||||
latest = @index.latest_specs.sort.map { |spec| spec.original_name }
|
||||
|
||||
@file.write latest.join("\n")
|
||||
end
|
||||
|
||||
def cleanup
|
||||
super
|
||||
|
||||
compress @file.path
|
||||
|
||||
@files.delete 'latest_index' # HACK installed via QuickIndexBuilder :/
|
||||
end
|
||||
|
||||
def add(spec)
|
||||
@index.add_spec(spec)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
require 'rubygems/indexer'
|
||||
|
||||
# Construct the master Gem index file.
|
||||
class Gem::Indexer::MarshalIndexBuilder < Gem::Indexer::MasterIndexBuilder
|
||||
def end_index
|
||||
gems = {}
|
||||
index = Gem::SourceIndex.new
|
||||
|
||||
@index.each do |name, gemspec|
|
||||
gems[gemspec.original_name] = gemspec
|
||||
end
|
||||
|
||||
index.instance_variable_get(:@gems).replace gems
|
||||
|
||||
@file.write index.dump
|
||||
end
|
||||
end
|
|
@ -1,54 +0,0 @@
|
|||
require 'rubygems/indexer'
|
||||
|
||||
##
|
||||
# Construct the master Gem index file.
|
||||
|
||||
class Gem::Indexer::MasterIndexBuilder < Gem::Indexer::AbstractIndexBuilder
|
||||
|
||||
def start_index
|
||||
super
|
||||
@index = Gem::SourceIndex.new
|
||||
end
|
||||
|
||||
def end_index
|
||||
super
|
||||
|
||||
@file.puts "--- !ruby/object:#{@index.class}"
|
||||
@file.puts "gems:"
|
||||
|
||||
gems = @index.sort_by { |name, gemspec| gemspec.sort_obj }
|
||||
gems.each do |name, gemspec|
|
||||
yaml = gemspec.to_yaml.gsub(/^/, ' ')
|
||||
yaml = yaml.sub(/\A ---/, '') # there's a needed extra ' ' here
|
||||
@file.print " #{gemspec.original_name}:"
|
||||
@file.puts yaml
|
||||
end
|
||||
end
|
||||
|
||||
def cleanup
|
||||
super
|
||||
|
||||
index_file_name = File.join @directory, @filename
|
||||
|
||||
compress index_file_name, "Z"
|
||||
paranoid index_file_name, "#{index_file_name}.Z"
|
||||
|
||||
@files << "#{@filename}.Z"
|
||||
end
|
||||
|
||||
def add(spec)
|
||||
@index.add_spec(spec)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def paranoid(path, compressed_path)
|
||||
data = Gem.read_binary path
|
||||
compressed_data = Gem.read_binary compressed_path
|
||||
|
||||
if data != unzip(compressed_data) then
|
||||
raise "Compressed file #{compressed_path} does not match uncompressed file #{path}"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
|
@ -1,50 +0,0 @@
|
|||
require 'rubygems/indexer'
|
||||
|
||||
##
|
||||
# Construct a quick index file and all of the individual specs to support
|
||||
# incremental loading.
|
||||
|
||||
class Gem::Indexer::QuickIndexBuilder < Gem::Indexer::AbstractIndexBuilder
|
||||
|
||||
def initialize(filename, directory)
|
||||
directory = File.join directory, 'quick'
|
||||
|
||||
super filename, directory
|
||||
end
|
||||
|
||||
def cleanup
|
||||
super
|
||||
|
||||
quick_index_file = File.join @directory, @filename
|
||||
compress quick_index_file
|
||||
|
||||
# the complete quick index is in a directory, so move it as a whole
|
||||
@files.delete 'index'
|
||||
@files << 'quick'
|
||||
end
|
||||
|
||||
def add(spec)
|
||||
@file.puts spec.original_name
|
||||
add_yaml(spec)
|
||||
add_marshal(spec)
|
||||
end
|
||||
|
||||
def add_yaml(spec)
|
||||
fn = File.join @directory, "#{spec.original_name}.gemspec.rz"
|
||||
zipped = zip spec.to_yaml
|
||||
File.open fn, "wb" do |gsfile| gsfile.write zipped end
|
||||
end
|
||||
|
||||
def add_marshal(spec)
|
||||
# HACK why does this not work in #initialize?
|
||||
FileUtils.mkdir_p File.join(@directory, "Marshal.#{Gem.marshal_version}")
|
||||
|
||||
fn = File.join @directory, "Marshal.#{Gem.marshal_version}",
|
||||
"#{spec.original_name}.gemspec.rz"
|
||||
|
||||
zipped = zip Marshal.dump(spec)
|
||||
File.open fn, "wb" do |gsfile| gsfile.write zipped end
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
Reference in a new issue