2009-02-13 07:49:29 +00:00
|
|
|
if ENV['RUN_CODE_RUN']
|
|
|
|
# We need to checkout edge haml for the run>code>run test environment.
|
|
|
|
if File.directory?("haml")
|
|
|
|
Dir.chdir("haml") do
|
|
|
|
sh "git", "pull"
|
|
|
|
end
|
|
|
|
else
|
|
|
|
sh "git", "clone", "git://github.com/nex3/haml.git"
|
|
|
|
end
|
|
|
|
$LOAD_PATH.unshift "haml/lib"
|
|
|
|
end
|
|
|
|
|
2008-08-23 17:00:46 +00:00
|
|
|
require 'rubygems'
|
|
|
|
require 'rake'
|
|
|
|
require 'lib/compass'
|
|
|
|
|
|
|
|
# ----- Default: Testing ------
|
|
|
|
|
2008-11-29 09:08:07 +00:00
|
|
|
task :default => :run_tests
|
2008-08-23 17:00:46 +00:00
|
|
|
|
|
|
|
require 'rake/testtask'
|
|
|
|
require 'fileutils'
|
|
|
|
|
2008-11-29 09:08:07 +00:00
|
|
|
Rake::TestTask.new :run_tests do |t|
|
2008-08-23 17:00:46 +00:00
|
|
|
t.libs << 'lib'
|
2009-02-13 07:49:29 +00:00
|
|
|
t.libs << 'haml/lib' if ENV["RUN_CODE_RUN"]
|
2008-08-23 17:00:46 +00:00
|
|
|
test_files = FileList['test/**/*_test.rb']
|
|
|
|
test_files.exclude('test/rails/*', 'test/haml/*')
|
|
|
|
t.test_files = test_files
|
|
|
|
t.verbose = true
|
|
|
|
end
|
|
|
|
Rake::Task[:test].send(:add_comment, <<END)
|
|
|
|
To run with an alternate version of Rails, make test/rails a symlink to that version.
|
|
|
|
To run with an alternate version of Haml & Sass, make test/haml a symlink to that version.
|
|
|
|
END
|
|
|
|
|
2008-08-24 07:05:04 +00:00
|
|
|
begin
|
2009-05-23 21:41:04 +00:00
|
|
|
require 'jeweler'
|
|
|
|
Jeweler::Tasks.new do |gemspec|
|
|
|
|
gemspec.rubyforge_project = "compass"
|
|
|
|
gemspec.name = "compass"
|
|
|
|
gemspec.summary = "A Real Stylesheet Framework"
|
|
|
|
gemspec.email = "chris@eppsteins.net"
|
|
|
|
gemspec.homepage = "http://compass-style.org"
|
|
|
|
gemspec.description = "Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS."
|
|
|
|
gemspec.authors = ["Chris Eppstein"]
|
|
|
|
gemspec.has_rdoc = false
|
2008-08-24 07:05:04 +00:00
|
|
|
end
|
2009-05-23 21:41:04 +00:00
|
|
|
rescue LoadError
|
|
|
|
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
2008-08-24 07:05:04 +00:00
|
|
|
end
|
2008-08-23 17:00:46 +00:00
|
|
|
|
2009-05-23 21:41:04 +00:00
|
|
|
|
2008-08-23 17:00:46 +00:00
|
|
|
desc "Compile Examples into HTML and CSS"
|
|
|
|
task :examples do
|
|
|
|
linked_haml = "tests/haml"
|
|
|
|
if File.exists?(linked_haml) && !$:.include?(linked_haml + '/lib')
|
|
|
|
puts "[ using linked Haml ]"
|
|
|
|
$:.unshift linked_haml + '/lib'
|
|
|
|
end
|
|
|
|
require 'haml'
|
|
|
|
require 'sass'
|
|
|
|
require 'pathname'
|
2009-03-12 16:54:20 +00:00
|
|
|
require 'lib/compass'
|
|
|
|
require 'lib/compass/exec'
|
2008-08-23 17:00:46 +00:00
|
|
|
FileList['examples/*'].each do |example|
|
2009-03-12 16:54:20 +00:00
|
|
|
puts "\nCompiling #{example}"
|
|
|
|
puts "=" * "Compiling #{example}".length
|
2008-08-23 17:00:46 +00:00
|
|
|
# compile any haml templates to html
|
|
|
|
FileList["#{example}/*.haml"].each do |haml_file|
|
2009-03-12 16:54:20 +00:00
|
|
|
basename = haml_file[0..-6]
|
2008-08-23 17:00:46 +00:00
|
|
|
engine = Haml::Engine.new(open(haml_file).read, :filename => haml_file)
|
2009-03-12 16:54:20 +00:00
|
|
|
puts " haml #{File.basename(basename)}"
|
|
|
|
output = open(basename,'w')
|
2008-08-23 17:00:46 +00:00
|
|
|
output.write(engine.render)
|
|
|
|
output.close
|
|
|
|
end
|
2009-03-12 16:54:20 +00:00
|
|
|
Dir.chdir example do
|
2009-05-02 22:07:14 +00:00
|
|
|
Compass::Exec::Compass.new(["--force"]).run!
|
2008-08-23 17:00:46 +00:00
|
|
|
end
|
|
|
|
end
|
2008-10-31 20:07:35 +00:00
|
|
|
end
|
|
|
|
|
2008-12-17 21:13:55 +00:00
|
|
|
namespace :git do
|
|
|
|
desc "Perform normal operations required for pushing to github."
|
|
|
|
task :push => [:manifest, :gem] do
|
2009-02-13 07:49:29 +00:00
|
|
|
sh "git", "add", "Manifest", "compass.gemspec", "VERSION"
|
2008-12-17 21:13:55 +00:00
|
|
|
sh "git", "commit", "-m", "Updated Manifest and gemspec."
|
|
|
|
sh "git", "push", "origin", "master"
|
|
|
|
end
|
|
|
|
task :clean do
|
|
|
|
sh "git", "clean", "-fdx"
|
|
|
|
end
|
2008-10-31 20:07:35 +00:00
|
|
|
end
|
|
|
|
|
2008-12-17 21:13:55 +00:00
|
|
|
task :manifest => :"git:clean"
|