Skip to content

Commit bb02ced

Browse files
author
Zachary Scott
authored
Merge pull request #396 from rdoc/no-hoe
Remove hoe from development
2 parents 1d29d00 + ba95a59 commit bb02ced

File tree

5 files changed

+125
-103
lines changed

5 files changed

+125
-103
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@
1010
/lib/rdoc/markdown.rb
1111
/pkg
1212
/tmp
13+
Gemfile.lock

.travis.yml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
---
2-
before_script:
3-
- gem install hoe kpeg racc json --no-rdoc --no-ri
4-
- gem install minitest -v '~> 4.0'
2+
before_install:
3+
- gem install bundler --no-document
54
language: ruby
65
notifications:
76
email:
87
98
rvm:
10-
- 1.8.7
11-
- 1.9.3
12-
- 2.0.0
13-
- 2.1.10
14-
- 2.2.5
15-
- 2.3.1
16-
- ruby-head
17-
- jruby-1.7.25
18-
- jruby-9.1.0.0
19-
- rbx-2
20-
- rbx
21-
script: rake test
9+
- 1.8.7
10+
- 1.9.3
11+
- 2.0.0
12+
- 2.1.10
13+
- 2.2.5
14+
- 2.3.1
15+
- ruby-head
16+
- rbx-2
17+
- jruby-1.7.25
18+
- jruby-9.1.0.0
19+
script: rake
2220
matrix:
2321
allow_failures:
2422
- rvm: jruby-1.7.25

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source 'https://rubygems.org'
2+
3+
gemspec

Rakefile

Lines changed: 42 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,28 @@
11
$:.unshift File.expand_path 'lib'
22
require 'rdoc'
3-
require 'hoe'
3+
require 'bundler/gem_tasks'
4+
require 'rake/testtask'
45

56
ENV['BENCHMARK'] = 'yes'
67

78
task :docs => :generate
89
task :test => :generate
910

1011
PARSER_FILES = %w[
11-
lib/rdoc/rd/block_parser.rb
12-
lib/rdoc/rd/inline_parser.rb
13-
lib/rdoc/markdown.rb
14-
lib/rdoc/markdown/literals_1_8.rb
15-
lib/rdoc/markdown/literals_1_9.rb
12+
lib/rdoc/rd/block_parser.ry
13+
lib/rdoc/rd/inline_parser.ry
14+
lib/rdoc/markdown.kpeg
15+
lib/rdoc/markdown/literals_1_8.kpeg
16+
lib/rdoc/markdown/literals_1_9.kpeg
1617
]
1718

18-
Hoe.plugin :git
19-
Hoe.plugin :kpeg
20-
Hoe.plugin :minitest
21-
2219
$rdoc_rakefile = true
2320

24-
hoe = Hoe.spec 'rdoc' do
25-
developer 'Eric Hodel', '[email protected]'
26-
developer 'Dave Thomas', ''
27-
developer 'Phil Hagelberg', '[email protected]'
28-
developer 'Tony Strauss', '[email protected]'
29-
30-
self.rsync_args = '-avz'
31-
rdoc_locations << 'docs.seattlerb.org:/data/www/docs.seattlerb.org/rdoc/'
32-
rdoc_locations << '[email protected]:/var/www/gforge-projects/rdoc/'
33-
34-
spec_extras[:post_install_message] = <<-MESSAGE
35-
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
36-
37-
<= 1.8.6 : unsupported
38-
= 1.8.7 : gem install rdoc-data; rdoc-data --install
39-
= 1.9.1 : gem install rdoc-data; rdoc-data --install
40-
>= 1.9.2 : nothing to do! Yay!
41-
MESSAGE
42-
43-
self.licenses << 'Ruby'
44-
self.readme_file = 'README.rdoc'
45-
self.history_file = 'History.rdoc'
46-
self.testlib = :minitest
47-
self.extra_rdoc_files += %w[
48-
CVE-2013-0256.rdoc
49-
CONTRIBUTING.rdoc
50-
ExampleMarkdown.md
51-
ExampleRDoc.rdoc
52-
History.rdoc
53-
LEGAL.rdoc
54-
LICENSE.rdoc
55-
README.rdoc
56-
RI.rdoc
57-
TODO.rdoc
58-
]
59-
60-
self.clean_globs += PARSER_FILES
61-
self.kpeg_flags = '-fsv' if self.respond_to? :kpeg_flags= # no plugin
62-
63-
require_ruby_version '>= 1.8.7'
64-
extra_deps << ['json', '~> 1.4']
65-
extra_dev_deps << ['racc', '~> 1.4', '> 1.4.10']
66-
extra_dev_deps << ['minitest', '~> 4']
67-
68-
extra_rdoc_files << 'Rakefile'
69-
spec_extras['required_rubygems_version'] = '>= 1.3'
70-
spec_extras['homepage'] = 'http://docs.seattlerb.org/rdoc'
71-
end
72-
73-
hoe.test_prelude = 'gem "minitest", "~> 4.0"'
74-
7521
def rake(*args)
7622
sh $0, *args
7723
end
7824

79-
need_racc = PARSER_FILES.any? do |rb_file|
80-
ry_file = rb_file.gsub(/\.rb\z/, ".ry")
81-
not File.exist?(rb_file) or
82-
(File.exist?(ry_file) and File.mtime(rb_file) < File.mtime(ry_file))
83-
end
84-
85-
if need_racc
86-
Rake::Task["default"].prerequisites.clear
87-
task :default do
88-
rake "check_extra_deps"
89-
rake "install_plugins"
90-
rake "newb"
91-
end
92-
end
25+
task :default => :test
9326

9427
Rake::Task['docs'].actions.clear
9528
task :docs do
@@ -106,28 +39,49 @@ task :docs do
10639
RDoc::RDoc.new.document options
10740
end
10841

109-
# requires ruby 1.8 and ruby 1.8 to build
110-
hoe.clean_globs -= PARSER_FILES.grep(/literals_/)
42+
Rake::TestTask.new(:test) do |t|
43+
t.libs << "test"
44+
t.libs << "lib"
45+
t.test_files = FileList['test/**/test_*.rb']
46+
end
11147

112-
task :generate => :isolate
113-
task :generate => PARSER_FILES
114-
task :check_manifest => :generate
48+
path = "pkg/#{Bundler::GemHelper.gemspec.full_name}"
49+
50+
package_parser_files = PARSER_FILES.map do |parser_file|
51+
name = File.basename(parser_file, File.extname(parser_file))
52+
_path = File.dirname(parser_file)
53+
package_parser_file = "#{path}/#{name}.rb"
54+
parsed_file = "#{_path}/#{name}.rb"
11555

116-
rule '.rb' => '.ry' do |t|
117-
racc = Gem.bin_path 'racc', 'racc'
56+
file package_parser_file => parsed_file # ensure copy runs before racc
11857

119-
ruby "-rubygems #{racc} -l -o #{t.name} #{t.source}"
58+
package_parser_file
12059
end
12160

122-
path = "pkg/#{hoe.spec.full_name}"
61+
parsed_files = PARSER_FILES.map do |parser_file|
62+
name = File.basename(parser_file, File.extname(parser_file))
63+
_path = File.dirname(parser_file)
64+
parsed_file = "#{_path}/#{name}.rb"
65+
66+
file parsed_file do |t|
67+
puts "Generating #{parsed_file}..."
68+
if parser_file =~ /\.ry\z/ # need racc
69+
racc = Gem.bin_path 'racc', 'racc'
70+
rb_file = parser_file.gsub(/\.ry\z/, ".rb")
71+
ruby "-rubygems #{racc} -l -o #{rb_file} #{parser_file}"
72+
elsif parser_file =~ /\.kpeg\z/ # need kpeg
73+
kpeg = Gem.bin_path 'kpeg', 'kpeg'
74+
rb_file = parser_file.gsub(/\.kpeg\z/, ".rb")
75+
ruby "-rubygems #{kpeg} -fsv -o #{rb_file} #{parser_file}"
76+
end
77+
end
12378

124-
package_parser_files = PARSER_FILES.map do |parser_file|
125-
package_parser_file = "#{path}/#{parser_file}"
126-
file package_parser_file => parser_file # ensure copy runs before racc
127-
package_parser_file
79+
parsed_file
12880
end
12981

13082
task "#{path}.gem" => package_parser_files
83+
task :generate => parsed_files
84+
task :check_manifest => :generate
13185

13286
# These tasks expect to have the following directory structure:
13387
#

rdoc.gemspec

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# -*- encoding: utf-8 -*-
2+
$:.push File.expand_path("../lib", __FILE__)
3+
require 'rdoc'
4+
5+
Gem::Specification.new do |s|
6+
s.name = "rdoc"
7+
s.version = RDoc::VERSION
8+
9+
s.required_rubygems_version = Gem::Requirement.new(">= 1.3") if
10+
s.respond_to? :required_rubygems_version=
11+
12+
s.require_paths = ["lib"]
13+
s.authors = [
14+
"Eric Hodel",
15+
"Dave Thomas",
16+
"Phil Hagelberg",
17+
"Tony Strauss",
18+
"Zachary Scott"
19+
]
20+
21+
s.description = <<-DESCRIPTION
22+
RDoc produces HTML and command-line documentation for Ruby projects.
23+
RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
24+
DESCRIPTION
25+
26+
27+
28+
s.executables = ["rdoc", "ri"]
29+
30+
s.extra_rdoc_files += %w[
31+
CVE-2013-0256.rdoc
32+
CONTRIBUTING.rdoc
33+
ExampleMarkdown.md
34+
ExampleRDoc.rdoc
35+
History.rdoc
36+
LEGAL.rdoc
37+
LICENSE.rdoc
38+
README.rdoc
39+
RI.rdoc
40+
TODO.rdoc
41+
]
42+
43+
s.files = File.readlines("Manifest.txt").map { |l| l.gsub("\n",'') }
44+
45+
s.homepage = "http://docs.seattlerb.org/rdoc"
46+
s.licenses = ["Ruby"]
47+
s.post_install_message = <<-MESSAGE
48+
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
49+
50+
<= 1.8.6 : unsupported
51+
= 1.8.7 : gem install rdoc-data; rdoc-data --install
52+
= 1.9.1 : gem install rdoc-data; rdoc-data --install
53+
>= 1.9.2 : nothing to do! Yay!
54+
MESSAGE
55+
56+
s.rdoc_options = ["--main", "README.rdoc"]
57+
s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
58+
s.rubygems_version = "2.5.2"
59+
s.summary = "RDoc produces HTML and command-line documentation for Ruby projects"
60+
61+
s.add_runtime_dependency("json", "~> 1.4")
62+
s.add_development_dependency("rake", "~> 10.5")
63+
s.add_development_dependency("racc", "~> 1.4", "> 1.4.10")
64+
s.add_development_dependency("kpeg", "~> 0.9")
65+
s.add_development_dependency("minitest", "~> 4")
66+
end

0 commit comments

Comments
 (0)