2010-10-27 15:12:26 -04:00
|
|
|
require 'rubygems'
|
|
|
|
|
2011-05-28 02:21:11 -04:00
|
|
|
version_file = File.expand_path __FILE__ + '/../VERSION'
|
|
|
|
version = File.read version_file
|
|
|
|
|
|
|
|
spec_file = File.expand_path __FILE__ + '/../mailcatcher.gemspec'
|
|
|
|
spec = Gem::Specification.load spec_file
|
2010-10-27 15:12:26 -04:00
|
|
|
|
2011-05-28 02:21:11 -04:00
|
|
|
require 'rdoc/task'
|
|
|
|
RDoc::Task.new :rdoc => "rdoc",
|
|
|
|
:clobber_rdoc => "rdoc:clean",
|
|
|
|
:rerdoc => "rdoc:force" do |rdoc|
|
2010-10-27 15:12:26 -04:00
|
|
|
rdoc.title = "MailCatcher #{version}"
|
2011-05-27 00:16:48 -04:00
|
|
|
rdoc.rdoc_dir = 'rdoc'
|
2011-05-28 02:21:11 -04:00
|
|
|
rdoc.main = 'README.md'
|
|
|
|
rdoc.rdoc_files.include 'lib/**/*.rb'
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "Compile SASS/SCSS files into SCSS"
|
|
|
|
task "build:sass" do
|
2011-06-09 23:17:30 -04:00
|
|
|
Dir["public/stylesheets/**/*.sass"].each do |file|
|
|
|
|
css_file = file.sub /\.sass$/, ".css"
|
|
|
|
system "sass", "--no-cache", "--compass", file, css_file
|
2011-05-28 02:21:11 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-05-29 00:41:02 -04:00
|
|
|
desc "Compile CoffeeScript files into JavaScript"
|
|
|
|
task "build:coffee" do
|
|
|
|
require 'coffee-script'
|
|
|
|
Dir["public/javascripts/**/*.coffee"].each do |file|
|
|
|
|
js_file = file.sub /\.coffee$/, ".js"
|
|
|
|
File.new(js_file, "w").write CoffeeScript.compile File.read file
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2011-05-28 02:21:11 -04:00
|
|
|
task "build:rdoc" => "rdoc"
|
|
|
|
|
2011-05-29 00:41:02 -04:00
|
|
|
multitask "build" => ["build:sass", "build:coffee", "build:rdoc"]
|
2011-05-28 02:21:11 -04:00
|
|
|
|
|
|
|
desc "Package as Gem"
|
|
|
|
task "package:gem" do
|
|
|
|
builder = Gem::Builder.new spec
|
|
|
|
builder.build
|
|
|
|
end
|
|
|
|
|
|
|
|
task "package" => ["build", "package:gem"]
|
|
|
|
|
|
|
|
desc "Release Gem to RubyGems"
|
|
|
|
task "release:gem" do
|
|
|
|
%x[gem push mailcatcher-#{version}.gem]
|
|
|
|
end
|
|
|
|
|
|
|
|
task "release" => ["package", "release:gem"]
|
|
|
|
|
|
|
|
task "default" => "build"
|