-
Notifications
You must be signed in to change notification settings - Fork 438
/
Rakefile
99 lines (80 loc) · 3.54 KB
/
Rakefile
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
require 'hoe'
$:.unshift 'lib'
require 'rdoc/rdoc'
Hoe.plugin :git
Hoe.plugin :isolate
Hoe.plugin :minitest
Hoe.plugin :rdoc_tags
$rdoc_rakefile = true
Hoe.spec 'rdoc' do
developer 'Eric Hodel', 'drbrain@segment7.net'
developer 'Dave Thomas', ''
developer 'Phil Hagelberg', 'technomancy@gmail.com'
developer 'Tony Strauss', 'tony.strauss@designingpatterns.com'
self.rsync_args = '-avz'
rdoc_locations << 'docs.seattlerb.org:/data/www/docs.seattlerb.org/rdoc/'
rdoc_locations << 'drbrain@rubyforge.org:/var/www/gforge-projects/rdoc/'
spec_extras[:post_install_message] = <<-MESSAGE
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
MESSAGE
self.testlib = :minitest
if respond_to? :isolate_dir= then # HACK Hoe issue #7
self.isolate_dir = 'tmp/isolate'
else
warn 'please: gem install isolate'
end
require_ruby_version '>= 1.8.7'
extra_dev_deps << ['minitest', '~> 2']
extra_dev_deps << ['isolate', '~> 3']
extra_dev_deps << ['ZenTest', '~> 4'] # for autotest/isolate
extra_rdoc_files << 'Rakefile'
spec_extras['required_rubygems_version'] = '>= 1.3'
spec_extras['homepage'] = 'http://docs.seattlerb.org/rdoc'
end
# These tasks expect to have the following directory structure:
#
# git/git.rubini.us/code # Rubinius git HEAD checkout
# svn/ruby/trunk # ruby subversion HEAD checkout
# svn/rdoc/trunk # RDoc subversion HEAD checkout
#
# If you don't have this directory structure, set RUBY_PATH and/or
# RUBINIUS_PATH.
diff_options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
rsync_options = "-avP --exclude '*svn*' --exclude '*swp' --exclude '*rbc' --exclude '*.rej' --exclude '*.orig'"
rubinius_dir = ENV['RUBINIUS_PATH'] || '../../../git/git.rubini.us/code'
ruby_dir = ENV['RUBY_PATH'] || '../../svn/ruby/trunk'
desc "Updates Ruby HEAD with the currently checked-out copy of RDoc."
task :update_ruby do
sh "rsync #{rsync_options} bin/rdoc #{ruby_dir}/bin/rdoc"
sh "rsync #{rsync_options} bin/ri #{ruby_dir}/bin/ri"
sh "rsync #{rsync_options} lib/ #{ruby_dir}/lib"
sh "rsync #{rsync_options} test/ #{ruby_dir}/test/rdoc"
end
desc "Diffs Ruby HEAD with the currently checked-out copy of RDoc."
task :diff_ruby do
options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
sh "diff #{diff_options} bin/rdoc #{ruby_dir}/bin/rdoc; true"
sh "diff #{diff_options} bin/ri #{ruby_dir}/bin/ri; true"
sh "diff #{diff_options} lib/rdoc.rb #{ruby_dir}/lib/rdoc.rb; true"
sh "diff #{diff_options} lib/rdoc #{ruby_dir}/lib/rdoc; true"
sh "diff #{diff_options} test #{ruby_dir}/test/rdoc; true"
end
desc "Updates Rubinius HEAD with the currently checked-out copy of RDoc."
task :update_rubinius do
sh "rsync #{rsync_options} bin/rdoc #{rubinius_dir}/lib/bin/rdoc.rb"
sh "rsync #{rsync_options} bin/ri #{rubinius_dir}/lib/bin/ri.rb"
sh "rsync #{rsync_options} lib/ #{rubinius_dir}/lib"
sh "rsync #{rsync_options} test/ #{rubinius_dir}/test/rdoc"
end
desc "Diffs Rubinius HEAD with the currently checked-out copy of RDoc."
task :diff_rubinius do
sh "diff #{diff_options} bin/rdoc #{rubinius_dir}/lib/bin/rdoc.rb; true"
sh "diff #{diff_options} bin/ri #{rubinius_dir}/lib/bin/ri.rb; true"
sh "diff #{diff_options} lib/rdoc.rb #{rubinius_dir}/lib/rdoc.rb; true"
sh "diff #{diff_options} lib/rdoc #{rubinius_dir}/lib/rdoc; true"
sh "diff #{diff_options} test #{rubinius_dir}/test/rdoc; true"
end