87 lines
2.3 KiB
Ruby
87 lines
2.3 KiB
Ruby
require "rake"
|
|
require "rspec"
|
|
require "rspec/core/rake_task"
|
|
|
|
$:.unshift File.expand_path("../lib", __FILE__)
|
|
require "foreman"
|
|
|
|
task :default => :spec
|
|
task :release => :man
|
|
|
|
desc "Run all specs"
|
|
Rspec::Core::RakeTask.new(:spec) do |t|
|
|
t.pattern = 'spec/**/*_spec.rb'
|
|
end
|
|
|
|
desc "Generate RCov code coverage report"
|
|
task :rcov => "rcov:build" do
|
|
%x{ open coverage/index.html }
|
|
end
|
|
|
|
Rspec::Core::RakeTask.new("rcov:build") do |t|
|
|
t.pattern = 'spec/**/*_spec.rb'
|
|
t.rcov = true
|
|
t.rcov_opts = [ "--exclude", Gem.default_dir , "--exclude", "spec" ]
|
|
end
|
|
|
|
desc 'Build the manual'
|
|
task :man do
|
|
ENV['RONN_MANUAL'] = "Foreman Manual"
|
|
ENV['RONN_ORGANIZATION'] = "Foreman #{Foreman::VERSION}"
|
|
sh "ronn -w -s toc -r5 --markdown man/*.ronn"
|
|
sh "cp man/foreman.1.markdown README.markdown"
|
|
sh "git add README.markdown"
|
|
sh "git commit -m 'update readme'"
|
|
end
|
|
|
|
task :pages => :man do
|
|
sh %{
|
|
cp man/foreman.1.html /tmp/foreman.1.html
|
|
git checkout gh-pages
|
|
rm ./index.html
|
|
cp /tmp/foreman.1.html ./index.html
|
|
git add -u index.html
|
|
git commit -m "rebuilding man page"
|
|
git push origin -f gh-pages
|
|
git checkout master
|
|
}
|
|
end
|
|
|
|
######################################################
|
|
|
|
begin
|
|
require 'jeweler'
|
|
Jeweler::Tasks.new do |s|
|
|
s.name = "foreman"
|
|
s.version = Foreman::VERSION
|
|
|
|
s.summary = "Process manager for applications with multiple components"
|
|
s.description = s.summary
|
|
s.author = "David Dollar"
|
|
s.email = "ddollar@gmail.com"
|
|
s.homepage = "http://github.com/ddollar/foreman"
|
|
|
|
s.platform = Gem::Platform::RUBY
|
|
s.has_rdoc = false
|
|
|
|
s.files = %w(Rakefile README.md) + Dir["{bin,lib,spec}/**/*"]
|
|
s.require_path = "lib"
|
|
|
|
# #s.bindir = "bin"
|
|
# s.executables = Dir["bin/*"]
|
|
s.default_executable = "foreman"
|
|
|
|
s.add_development_dependency 'fakefs', '~> 0.2.1'
|
|
s.add_development_dependency 'rake', '~> 0.8.7'
|
|
s.add_development_dependency 'rcov', '~> 0.9.8'
|
|
s.add_development_dependency 'rr', '~> 0.10.11'
|
|
s.add_development_dependency 'rspec', '~> 2.0.0'
|
|
|
|
s.add_dependency 'term-ansicolor', '~> 1.0.5'
|
|
s.add_dependency 'thor', '~> 0.13.6'
|
|
end
|
|
Jeweler::GemcutterTasks.new
|
|
rescue LoadError
|
|
puts "Jeweler not available. Install it with: sudo gem install jeweler"
|
|
end
|