mirror of
https://github.com/lostisland/faraday.git
synced 2025-12-08 00:02:54 -05:00
30 lines
857 B
Ruby
Executable File
30 lines
857 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
require File.expand_path("../ruby", __FILE__)
|
|
|
|
def replace_header(head, header_name)
|
|
head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{MakeScript.send(header_name)}'"}
|
|
end
|
|
|
|
# read spec file and split out manifest section
|
|
spec = File.read(MakeScript.gemspec_file)
|
|
head, manifest, tail = spec.split(" # = MANIFEST =\n")
|
|
|
|
# replace name version and date
|
|
replace_header(head, :lib_name)
|
|
replace_header(head, :version)
|
|
|
|
files = `git ls-files`.
|
|
split("\n").
|
|
sort.
|
|
reject { |file| file =~ /^\./ }.
|
|
reject { |file| file =~ /^(rdoc|pkg)/ }.
|
|
map { |file| " #{file}" }.
|
|
join("\n")
|
|
|
|
# piece file back together and write
|
|
manifest = " s.files = %w[\n#{files}\n ]\n"
|
|
spec = [head, manifest, tail].join(" # = MANIFEST =\n")
|
|
File.open(MakeScript.gemspec_file, 'w') { |io| io.write(spec) }
|
|
puts "Updated #{MakeScript.gemspec_file}"
|
|
|