-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathrelease.rb
52 lines (43 loc) · 1.38 KB
/
release.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require 'fileutils'
require 'version_number'
require 'generators/base'
require 'generators/config/release'
module Generators
class Release < Base
include Config::Release
def initialize(tag, basedir)
super(tag, basedir)
@version_number = VersionNumber.new(tag)
end
def before_generation
if version_number == '4.2.10'
# There is a dependency on json that doesn't play well with the following downgrade.
FileUtils.rm_f('Gemfile.lock')
patch 'Gemfile' do |contents|
# See the comment above for 4.2.9.
contents.sub(/gem 'sdoc'.*/, "gem 'sdoc', '~> 0.4.0'")
end
elsif version_number >= '5.1.2' && version_number <= '5.1.4'
patch 'guides/source/documents.yaml' do |contents|
# This guide was deleted and prevented Kindle guides from being
# generated. See https://github.com/rails/rails/issues/29865.
contents.sub(/^\s+name: Profiling Rails Applications[^-]+-\n/, '')
end
end
end
def generate_api
rake 'rdoc'
end
def generate_guides
FileUtils.mkdir('guides') unless Dir.exists?('guides')
Dir.chdir('guides') do
rake 'guides:generate:html', 'RAILS_VERSION' => target
rake 'guides:generate:kindle', 'RAILS_VERSION' => target
end
end
private
def version_number
@version_number
end
end
end