lib/ztk/rake/docs.rb in ztk-1.12.0 vs lib/ztk/rake/docs.rb in ztk-1.13.0

- old
+ new

@@ -3,28 +3,34 @@ GEM_NAME = File.basename(Dir.pwd) VENDOR_PATH = File.expand_path(File.join(Dir.pwd, "vendor")) DOC_PATH = File.join(VENDOR_PATH, "docs") -namespace :doc do +namespace :docs do - YARD::Rake::YardocTask.new(:pages) do |t| - if !File.exists?(DOC_PATH) - remote = %x(git remote -v | grep 'origin').split[1].strip + YARD::Rake::YardocTask.new(:generate) do |t| + t.options = ['--verbose', '-o', DOC_PATH] + end - FileUtils.mkdir_p(VENDOR_PATH) - Dir.chdir(VENDOR_PATH) do - system(%(git clone --branch gh-pages #{remote} #{DOC_PATH})) + namespace :ghpages do + + desc "Clone GitHub pages under vendor" + task :clone do + if !File.exists?(DOC_PATH) + remote = %x(git remote -v | grep 'origin').split[1].strip + + FileUtils.mkdir_p(VENDOR_PATH) + Dir.chdir(VENDOR_PATH) do + system(%(git clone --branch gh-pages #{remote} #{DOC_PATH})) + end end end - t.options = ['--verbose', '-o', DOC_PATH] - end + desc 'Clone, generate and publish YARD Documentation to GitHub pages' + task :publish do + Rake::Task["docs:ghpages:clone"].invoke + Rake::Task["docs:generate"].invoke - namespace :pages do - - desc 'Generate and publish YARD Documentation to GitHub pages' - task :publish => ['doc:pages'] do describe = %x(git describe).chomp stats = %x(bundle exec yard stats).chomp commit_message = Array.new commit_message << "Generated YARD Documentation for #{GEM_NAME.upcase.inspect} #{describe}\n\n"