File tree Expand file tree Collapse file tree 3 files changed +22
-2
lines changed Expand file tree Collapse file tree 3 files changed +22
-2
lines changed Original file line number Diff line number Diff line change @@ -92,8 +92,18 @@ parsed_files = PARSER_FILES.map do |parser_file|
9292end
9393
9494task "#{ path } .gem" => package_parser_files
95- desc "Generate all files used racc and kpeg"
96- task :generate => parsed_files
95+
96+ desc "Generate all files use racc and kpeg"
97+ task :generate do
98+ unless ENV . key? ( 'BUNDLE_GEMFILE' )
99+ Gem . install 'racc' , '> 1.4.10'
100+ Gem . install 'kpeg' , '>= 1.3.3'
101+ end
102+
103+ parsed_files . each do |file_name |
104+ Rake ::Task [ file_name ] . invoke
105+ end
106+ end
97107
98108task :clean do
99109 parsed_files . each do |path |
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ # Generate all parse files using racc and kpeg. This is not necessary for regular gem installation, but it is when
4+ # installing RDoc from the git source. Without this, the generated parse files would not exist and RDoc would not work
5+ system ( "rake generate" ) if Dir . exist? ( File . join ( ".." , ".." , ".git" ) )
6+
7+ # RDoc doesn't actually have a native extension, but a Makefile needs to exist in order to successfully install the gem
8+ require "mkmf"
9+ create_makefile ( "rdoc/rdoc" )
Original file line number Diff line number Diff line change @@ -35,6 +35,7 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
3535 s . bindir = "exe"
3636 s . executables = [ "rdoc" , "ri" ]
3737 s . require_paths = [ "lib" ]
38+ s . extensions = [ "ext/rdoc/extconf.rb" ]
3839 # for ruby core repository. It was generated by
3940 # `git ls-files -z`.split("\x0").each {|f| puts " #{f.dump}," unless f.start_with?(*%W[test/ spec/ features/ .]) }
4041 s . files = [
You can’t perform that action at this time.
0 commit comments