text: # Copyright 2016 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  import os
  
  
  def MergeFiles(dest_file, source_files):
    """Merge list of files into single destination file.
  
    Args:
      dest_file: File to be written to.
      source_files: List of files to be merged. Will be merged in the order they
          appear in the list.
    """
    if not os.path.exists(os.path.dirname(dest_file)):
      os.makedirs(os.path.dirname(dest_file))
    try:
      with open(dest_file, 'w') as dest_f:
        for source_file in source_files:
          with open(source_file, 'r') as source_f:
            dest_f.write(source_f.read())
    except Exception as e:  # pylint: disable=broad-except
      # Something went wrong when creating dest_file. Cleaning up.
      try:
        os.remove(dest_file)
      except OSError:
        pass
      raise e
  
  
  