def initialize(directory, options = {})
unless ''.respond_to? :to_xs then
fail "Gem::Indexer requires that the XML Builder library be installed:" \
"\n\tgem install builder"
end
options = { :build_legacy => true, :build_modern => true }.merge options
@build_legacy = options[:build_legacy]
@build_modern = options[:build_modern]
@rss_title = options[:rss_title]
@rss_host = options[:rss_host]
@rss_gems_host = options[:rss_gems_host]
@dest_directory = directory
@directory = File.join Dir.tmpdir, "gem_generate_index_#{$$}"
marshal_name = "Marshal.#{Gem.marshal_version}"
@master_index = File.join @directory, 'yaml'
@marshal_index = File.join @directory, marshal_name
@quick_dir = File.join @directory, 'quick'
@quick_marshal_dir = File.join @quick_dir, marshal_name
@quick_index = File.join @quick_dir, 'index'
@latest_index = File.join @quick_dir, 'latest_index'
@specs_index = File.join @directory, "specs.#{Gem.marshal_version}"
@latest_specs_index = File.join @directory,
"latest_specs.#{Gem.marshal_version}"
@prerelease_specs_index = File.join(@directory,
"prerelease_specs.#{Gem.marshal_version}")
@dest_specs_index = File.join @dest_directory,
"specs.#{Gem.marshal_version}"
@dest_latest_specs_index = File.join @dest_directory,
"latest_specs.#{Gem.marshal_version}"
@dest_prerelease_specs_index = File.join @dest_directory,
"prerelease_specs.#{Gem.marshal_version}"
@rss_index = File.join @directory, 'index.rss'
@files = []
end