Sha256: 2db1e70fd8be252e4a1ca7586efea99b9177a34242b1f5c779abed4a7bbe5f0f
Contents?: true
Size: 1.98 KB
Versions: 1
Compression:
Stored size: 1.98 KB
Contents
require 'reap/task' # # RDoc Task # class Reap::RDocTask < Reap::Task section_name :rdoc attr_accessor :dir, :main, :title, :template, :include, :exclude, :options def init @dir = section["dir"] || 'doc' @main = section["main"] || 'README' @title = section["title"] || master["title"] @template = section["template"] || 'html' @include = section["include"] || ['lib/**/*'] @exclude = section["exclude"] || [] @options = section["options"] || [] end def define desc "generate RDocs (in #{@dir}) *" task :rdoc do run_rdoc end end private def run_rdoc if !File.exists?(@main) or File.directory?(@main) warn "Specified RDoc Main file #{@main} not found. Ignored." @main = nil end rdoc_dir = File.expand_path(@dir) if FileTest.directory?(@dir) print "Directory '#{@dir}' already exists. Clobber? [y/N] " until inp = $stdin.gets[0,1] ; sleep 1 ; end ; puts if (inp || 'y').downcase == 'y' puts "Removing old directory '#{rdoc_dir}'..." #FileUtils.mkdir_p(".trash") unless FileTest.directory?(".trash") #trashdir = ".trash/#{File.basename(@dir)}" #FileUtils.rm_r(trashdir) if FileTest.exists?(trashdir) #FileUtils.mv(@dir, trashdir) FileUtils.rm_r(@dir) else puts "Reap rdoc task canceled." return nil end end rdoc_target = "#{rdoc_dir}/index.html" # rdoc files rdoc_files = FileList.new rdoc_files.include(*@include) rdoc_files.exclude(*@exclude) rdoc_files = '"' << rdoc_files.join('" "') << '"' # build options string build = @options.dup build << "--main '#{@main}'" if @main build << "--title '#{@title}'" if @title build << "-T '#{@template}'" if @template rdoc_opts = build.join(' ') # do it! puts "Reap is shelling work out to RDoc..." puts %{rdoc -o #{@dir} #{rdoc_opts}} sh %{rdoc -o #{rdoc_dir} #{rdoc_opts} #{rdoc_files}} end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
reap-0.6.1 | lib/reap/rdoc-task.rb |