Fix the update_versions release task
This commit is contained in:
parent
ade741e113
commit
ce0df82057
28
Rakefile
28
Rakefile
@ -46,33 +46,7 @@ else
|
||||
end
|
||||
|
||||
desc 'Bump all versions to match version.rb'
|
||||
task :update_versions do
|
||||
require File.dirname(__FILE__) + "/version"
|
||||
|
||||
File.open("RAILS_VERSION", "w") do |f|
|
||||
f.puts Rails::VERSION::STRING
|
||||
end
|
||||
|
||||
constants = {
|
||||
"activesupport" => "ActiveSupport",
|
||||
"activemodel" => "ActiveModel",
|
||||
"actionpack" => "ActionPack",
|
||||
"actionview" => "ActionView",
|
||||
"actionmailer" => "ActionMailer",
|
||||
"activerecord" => "ActiveRecord",
|
||||
"railties" => "Rails"
|
||||
}
|
||||
|
||||
version_file = File.read("version.rb")
|
||||
|
||||
PROJECTS.each do |project|
|
||||
Dir["#{project}/lib/*/gem_version.rb"].each do |file|
|
||||
File.open(file, "w") do |f|
|
||||
f.write version_file.gsub(/Rails/, constants[project])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
task :update_versions => "all:update_versions"
|
||||
|
||||
# We have a webhook configured in GitHub that gets invoked after pushes.
|
||||
# This hook triggers the following tasks:
|
||||
|
@ -15,38 +15,37 @@
|
||||
rm_f gem
|
||||
end
|
||||
|
||||
task :update_version_rb do
|
||||
task :update_versions do
|
||||
glob = root.dup
|
||||
glob << "/#{framework}/lib/*" unless framework == "rails"
|
||||
glob << "/version.rb"
|
||||
if framework == "rails"
|
||||
glob << "/version.rb"
|
||||
else
|
||||
glob << "/#{framework}/lib/*"
|
||||
glob << "/gem_version.rb"
|
||||
end
|
||||
|
||||
file = Dir[glob].first
|
||||
ruby = File.read(file)
|
||||
|
||||
if framework == "rails" || framework == "railties"
|
||||
major, minor, tiny, pre = version.split('.')
|
||||
pre = pre ? pre.inspect : "nil"
|
||||
major, minor, tiny, pre = version.split('.')
|
||||
pre = pre ? pre.inspect : "nil"
|
||||
|
||||
ruby.gsub!(/^(\s*)MAJOR(\s*)= .*?$/, "\\1MAJOR = #{major}")
|
||||
raise "Could not insert MAJOR in #{file}" unless $1
|
||||
ruby.gsub!(/^(\s*)MAJOR(\s*)= .*?$/, "\\1MAJOR = #{major}")
|
||||
raise "Could not insert MAJOR in #{file}" unless $1
|
||||
|
||||
ruby.gsub!(/^(\s*)MINOR(\s*)= .*?$/, "\\1MINOR = #{minor}")
|
||||
raise "Could not insert MINOR in #{file}" unless $1
|
||||
ruby.gsub!(/^(\s*)MINOR(\s*)= .*?$/, "\\1MINOR = #{minor}")
|
||||
raise "Could not insert MINOR in #{file}" unless $1
|
||||
|
||||
ruby.gsub!(/^(\s*)TINY(\s*)= .*?$/, "\\1TINY = #{tiny}")
|
||||
raise "Could not insert TINY in #{file}" unless $1
|
||||
ruby.gsub!(/^(\s*)TINY(\s*)= .*?$/, "\\1TINY = #{tiny}")
|
||||
raise "Could not insert TINY in #{file}" unless $1
|
||||
|
||||
ruby.gsub!(/^(\s*)PRE(\s*)= .*?$/, "\\1PRE = #{pre}")
|
||||
raise "Could not insert PRE in #{file}" unless $1
|
||||
else
|
||||
ruby.gsub!(/^(\s*)Gem::Version\.new .*?$/, "\\1Gem::Version.new \"#{version}\"")
|
||||
raise "Could not insert Gem::Version in #{file}" unless $1
|
||||
end
|
||||
ruby.gsub!(/^(\s*)PRE(\s*)= .*?$/, "\\1PRE = #{pre}")
|
||||
raise "Could not insert PRE in #{file}" unless $1
|
||||
|
||||
File.open(file, 'w') { |f| f.write ruby }
|
||||
end
|
||||
|
||||
task gem => %w(update_version_rb pkg) do
|
||||
task gem => %w(update_versions pkg) do
|
||||
cmd = ""
|
||||
cmd << "cd #{framework} && " unless framework == "rails"
|
||||
cmd << "gem build #{gemspec} && mv #{framework}-#{version}.gem #{root}/pkg/"
|
||||
@ -93,9 +92,10 @@
|
||||
end
|
||||
|
||||
namespace :all do
|
||||
task :build => FRAMEWORKS.map { |f| "#{f}:build" } + ['rails:build']
|
||||
task :install => FRAMEWORKS.map { |f| "#{f}:install" } + ['rails:install']
|
||||
task :push => FRAMEWORKS.map { |f| "#{f}:push" } + ['rails:push']
|
||||
task :build => FRAMEWORKS.map { |f| "#{f}:build" } + ['rails:build']
|
||||
task :update_versions => FRAMEWORKS.map { |f| "#{f}:update_versions" } + ['rails:update_versions']
|
||||
task :install => FRAMEWORKS.map { |f| "#{f}:install" } + ['rails:install']
|
||||
task :push => FRAMEWORKS.map { |f| "#{f}:push" } + ['rails:push']
|
||||
|
||||
task :ensure_clean_state do
|
||||
unless `git status -s | grep -v RAILS_VERSION`.strip.empty?
|
||||
|
Loading…
Reference in New Issue
Block a user