# File lib/compass/compiler.rb, line 68
    def run
      if new_config?
        # Wipe out the cache and force compilation if the configuration has changed.
        FileUtils.rm_rf options[:cache_location]
        options[:force] = true
      end

      # We use the Sass::Plugin to check dependencies so we have configure it.
      Compass.configure_sass_plugin! unless Compass.sass_plugin_configured?

      # Make sure the target directories exist
      target_directories.each {|dir| directory dir}

      # Compile each sass file.
      sass_files.zip(css_files).each do |sass_filename, css_filename|
        begin
          compile_if_required sass_filename, css_filename
        rescue Sass::SyntaxError => e
          handle_exception(sass_filename, css_filename, e)
        end
      end
    end