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

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

          # Compile each sass file.
          result = timed do
            sass_files.zip(css_files).each do |sass_filename, css_filename|
              begin
                compile_if_required sass_filename, css_filename
              rescue Sass::SyntaxError => e
                failure_count += 1
                handle_exception(sass_filename, css_filename, e)
              end
            end
          end
          if options[:time]
            puts "Compilation took #{(result.__duration * 1000).round / 1000.0}s"
          end
          return failure_count
        end