76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# File 'lib/rake_ext/project.rb', line 76
def prepare_gem_metadata
spec = Gem::Specification.new do |s|
gems, fake_gems = parse_project_gemfile
gems = gems + fake_gems
gems.each{|name_version| s.add_dependency *name_version}
options = project.clone
options.delete(:name)
options.delete(:gem) || raise("this project isn't a gem!")
name = options.delete(:official_name)
s.name = name
s.platform = options.delete(:platform) || Gem::Platform::RUBY
s.has_rdoc = options.delete(:has_rdoc) == nil ? false : true
s.require_path = options.delete(:lib) || "lib"
s.files = options.delete(:files) || (
%w{Rakefile readme.md} +
Dir.glob("{lib,spec}/**/*") +
((options[:dirs] && Array(options.delete(:dirs)).collect{|d| Dir["#{d}/**/*"]}) || [])
)
s.bindir = options.delete(:bin) if options.include? :bin
s.version = options.delete(:version) || GemHelper.next_version(name)
options.each{|k, v| s.send "#{k}=", v}
end
Rake::GemPackageTask.new(spec) do |p|
p.need_tar = true if RUBY_PLATFORM !~ /mswin/
p.need_zip = true
p.package_dir = package_dir
end
end
|