#!/usr/bin/env ruby require 'logger' LOG = Logger.new(STDOUT) LOG.level = Logger::WARN LOG.debug("original #{ARGV.join(' ')}") require 'gcc_to_clang_analyzer/prepare_compiler_commandline' require 'gcc_to_clang_analyzer/rewrite_plist_file' command_line, output = PrepareCompilerCommandline.transform(ARGV) cl = command_line.join(' ') LOG.info("executing '#{cl}'") res = system(cl) unless res LOG.warn("problems while executing #{cl}") exit 1 end if output.length > 0 workspace_path = File.absolute_path('..') prefix = File.absolute_path('.').gsub(workspace_path+'/', '') tmp_output = output + ".tmp" File.open(tmp_output, 'w') do |io| output_data = File.read(output) io << RewritePlistFile.with_prefix(prefix, output_data, LOG) end File.delete(output) File.rename(tmp_output, output) end exit 0