45 lines
829 B
Ruby
Executable File
45 lines
829 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# The compass command line utility
|
|
|
|
# This allows compass to run easily from a git checkout without install.
|
|
def fallback_load_path(path)
|
|
retried = false
|
|
begin
|
|
yield
|
|
rescue LoadError
|
|
unless retried
|
|
$: << path
|
|
retried = true
|
|
retry
|
|
end
|
|
raise
|
|
end
|
|
end
|
|
|
|
fallback_load_path(File.join(File.dirname(__FILE__), '..', 'lib')) do
|
|
require 'compass'
|
|
require 'compass/exec'
|
|
end
|
|
|
|
if defined?(Bundler)
|
|
Bundler.require :assets
|
|
end
|
|
|
|
runner = Proc.new do
|
|
Compass::Exec::SubCommandUI.new(ARGV).run!
|
|
end
|
|
|
|
if ARGV.delete("--profile")
|
|
require 'ruby-prof'
|
|
RubyProf.start
|
|
exit_code = runner.call
|
|
result = RubyProf.stop
|
|
|
|
# Print a flat profile to text
|
|
printer = RubyProf::FlatPrinter.new(result)
|
|
printer.print(STDERR, 0)
|
|
exit exit_code
|
|
else
|
|
exit runner.call || 1
|
|
end
|