require 'rake' require 'rake/clean' require 'rake/gempackagetask' require 'rake/rdoctask' require 'fileutils' include FileUtils NAME = "backpack" VERS = ENV['VERSION'] || "0.3.0" CLEAN.include ['**/.*.sw?', '*.gem', '.config', 'test/test.log'] RDOC_OPTS = ['--quiet', '--title', "Bivouac, the Documentation", "--opname", "index.html", "--line-numbers", "--main", "README", "--inline-source"] desc "Packages up Backpack." task :default => [:package] task :package => [:clean] task :doc => [:rdoc, :after_doc] Rake::RDocTask.new do |rdoc| rdoc.rdoc_dir = 'doc/rdoc' rdoc.options += RDOC_OPTS rdoc.template = "extras/rfrbook_rdoc.rb" rdoc.main = "README" rdoc.title = "Backpack, the Documentation" rdoc.rdoc_files.add ['README', 'AUTHORS', 'COPYING'] end task :after_doc do cp "extras/permalink.gif", "doc/rdoc/" cp "extras/rubyfr.png", "doc/rdoc/" sh %{scp -r doc/rdoc/* #{ENV['USER']}@rubyforge.org:/var/www/gforge-projects/bivouac/backpack} end spec = Gem::Specification.new do |s| s.name = NAME s.version = VERS s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README", "AUTHORS", "COPYING"] s.rdoc_options += RDOC_OPTS + ['--exclude', '^(extras|lib)\/'] s.summary = "A plugin generator for Bivouac" s.description = s.summary s.author = "Grégoire Lejeune" s.email = 'gregoire.lejeune@free.fr' s.homepage = 'http://greg.rubyfr.net' s.rubyforge_project = 'bivouac' s.executables = ['backpack'] s.add_dependency('bivouac', '>= 0.2.2') s.required_ruby_version = ">= 1.8.1" s.files = %w(COPYING README AUTHORS setup.rb) + Dir.glob("{bin,doc,lib}/**/*").delete_if {|item| item.include?("CVS") or item.include?("._")} s.require_path = "lib" s.bindir = "bin" end Rake::GemPackageTask.new(spec) do |p| p.need_tar = true p.gem_spec = spec end task :install do sh %{rake package} sh %{sudo gem install pkg/#{NAME}-#{VERS}} end task :uninstall => [:clean] do sh %{sudo gem uninstall #{NAME}} end