/// <summary> /// Runs the Wix Heat runner for the specified directory path. /// </summary> /// <param name="objectFiles">The object files.</param> /// <param name="outputFile">The output file.</param> /// <param name="harvestType">The WiX harvest type.</param> /// <param name="settings">The settings.</param> public void Run(IEnumerable <FilePath> objectFiles, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (objectFiles == null) { throw new ArgumentNullException(nameof(objectFiles)); } if (outputFile == null) { throw new ArgumentNullException(nameof(outputFile)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } var objectFilesArray = objectFiles as FilePath[] ?? objectFiles.ToArray(); if (!objectFilesArray.Any()) { throw new ArgumentException("No object files provided.", nameof(objectFiles)); } Run(settings, GetArguments(objectFilesArray, outputFile, harvestType, settings)); }
private string GetHarvestType(WiXHarvestType harvestType) { switch (harvestType) { case WiXHarvestType.Dir: return("dir"); case WiXHarvestType.File: return("file"); case WiXHarvestType.Project: return("project"); case WiXHarvestType.Reg: return("reg"); case WiXHarvestType.Perf: return("perf"); case WiXHarvestType.Website: return("website"); default: return("dir"); } }
public HeatFixture() : base("heat.exe") { DirectoryPath = new DirectoryPath("./src/Cake"); ObjectFile = new FilePath("Cake.dll"); OutputFile = new FilePath("cake.wxs"); Settings = new HeatSettings(); HarvestType = WiXHarvestType.Dir; HarvestTarget = "Default Web Site"; }
/// <summary> /// Runs the Wix Heat runner for the specified directory path. /// </summary> /// <param name="objectFile">The object file.</param> /// <param name="outputFile">The output file.</param> /// <param name="harvestType">The WiX harvest type.</param> /// <param name="settings">The settings.</param> public void Run(FilePath objectFile, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (objectFile == null) { throw new ArgumentNullException(nameof(objectFile)); } if (outputFile == null) { throw new ArgumentNullException(nameof(outputFile)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } Run(settings, GetArguments(objectFile, outputFile, harvestType, settings)); }
/// <summary> /// Runs the Wix Heat runner for the specified directory path. /// </summary> /// <param name="directoryPath">The directory path.</param> /// <param name="outputFile">The output file.</param> /// <param name="harvestType">The WiX harvest type.</param> /// <param name="settings">The settings.</param> public void Run(DirectoryPath directoryPath, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (directoryPath == null) { throw new ArgumentNullException("directoryPath"); } if (outputFile == null) { throw new ArgumentNullException("outputFile"); } if (settings == null) { throw new ArgumentNullException("settings"); } Run(settings, GetArguments(directoryPath, outputFile, harvestType, settings)); }
/// <summary> /// Runs the Wix Heat runner for the specified directory path. /// </summary> /// <param name="harvestTarget">The harvest target.</param> /// <param name="outputFile">The output file.</param> /// <param name="harvestType">The WiX harvest type.</param> /// <param name="settings">The settings.</param> public void Run(string harvestTarget, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (harvestTarget == null) { throw new ArgumentNullException("harvestTarget"); } if (outputFile == null) { throw new ArgumentNullException("outputFile"); } if (settings == null) { throw new ArgumentNullException("settings"); } Run(settings, GetArguments(harvestTarget, outputFile, harvestType, settings)); }
public static void WiXHeat(this ICakeContext context, string harvestTarget, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var runner = new HeatRunner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); runner.Run(harvestTarget, outputFile, harvestType, settings ?? new HeatSettings()); }
public static void WiXHeat(this ICakeContext context, DirectoryPath directoryPath, FilePath outputFile, WiXHarvestType harvestType) { if (context == null) { throw new ArgumentNullException(nameof(context)); } var runner = new HeatRunner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); runner.Run(directoryPath, outputFile, harvestType, new HeatSettings()); }
private ProcessArgumentBuilder GetArguments(string harvestTarget, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { var builder = new ProcessArgumentBuilder(); builder.Append(GetHarvestType(harvestType)); builder.AppendQuoted(harvestTarget); var args = GetArguments(outputFile, settings); args.CopyTo(builder); return(builder); }
private ProcessArgumentBuilder GetArguments(DirectoryPath directoryPath, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { var builder = new ProcessArgumentBuilder(); builder.Append(GetHarvestType(harvestType)); builder.AppendQuoted(directoryPath.MakeAbsolute(_environment).FullPath); var args = GetArguments(outputFile, settings); args.CopyTo(builder); return(builder); }
private ProcessArgumentBuilder GetArguments(IEnumerable <FilePath> objectFiles, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { var builder = new ProcessArgumentBuilder(); builder.Append(GetHarvestType(harvestType)); // Object files foreach (var objectFile in objectFiles.Select(file => file.MakeAbsolute(_environment).FullPath)) { builder.Append(objectFile); } var args = GetArguments(outputFile, settings); args.CopyTo(builder); return(builder); }
public static void WiXHeat(this ICakeContext context, IEnumerable <FilePath> objectFiles, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings) { if (context == null) { throw new ArgumentNullException("context"); } var runner = new HeatRunner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); runner.Run(objectFiles, outputFile, harvestType, settings ?? new HeatSettings()); }