// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace UnrealBuildTool
{
public class ResponseFile
{
///
/// Creates a file from a list of strings; each string is placed on a line in the file.
///
/// Name of response file
/// List of lines to write to the response file
public static string Create(string TempFileName, List Lines)
{
FileInfo TempFileInfo = new FileInfo( TempFileName );
DirectoryInfo TempFolderInfo = new DirectoryInfo( TempFileInfo.DirectoryName );
// Delete the existing file if it exists
if( TempFileInfo.Exists )
{
TempFileInfo.IsReadOnly = false;
TempFileInfo.Delete();
TempFileInfo.Refresh();
}
// Create the folder if it doesn't exist
if( !TempFolderInfo.Exists )
{
// Create the
TempFolderInfo.Create();
TempFolderInfo.Refresh();
}
using( FileStream Writer = TempFileInfo.OpenWrite() )
{
using( StreamWriter TextWriter = new StreamWriter( Writer ) )
{
Lines.ForEach( x => TextWriter.WriteLine( x ) );
}
}
return TempFileName;
}
}
}