#!/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) require 'bundler/shared_helpers' Bundler.require :assets if Bundler::SharedHelpers.in_bundle? 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