Beispiel #1
0
      self.write_commit_details(commit, f)
      output_val = self.output_value(f)
    finally:
      f.close()
    self.log("Finished writing commit summary for {0}".format(commit))
    return output_val

  def link(self, compilation_output, linking_options):
    '''Combine all the commit summaries into a single commit summary report.'''
    commits = compilation_output.keys()
    commits.sort(key=lambda c: c.committed_date) # TODO abstract this since this is something that would be commonly done.
    with open('commit_summary_report.txt', 'w') as report:
      for commit in commits:
        output = compilation_output[commit]
        if self.output_to_files:
          with open(output, 'r') as output_file:
            output = output_file.read()
        print >> report, "-------------------"
        print >> report, output
        print >> report, "-------------------"


if __name__ == '__main__':
  from gcc.git_compiler import GitCompiler
  compiler = GitCompiler('.')
  compiler.add_commit_targets(rev='master')
  commit_summary = CommitSummary()
  compiler.set_compilation_task(CompilationTask(commit_summary))
  compiler.set_linking_task(LinkingTask(commit_summary))
  compiler.compile(link=True)