// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. namespace WixToolset.HeatTasks { using System; using System.Collections.Generic; using Microsoft.Build.Utilities; /// /// Helper class for appending the command line arguments. /// public class WixCommandLineBuilder : CommandLineBuilder { /// /// Append a switch to the command line if the condition is true. /// /// Switch to append. /// Condition specified by the user. public void AppendIfTrue(string switchName, bool condition) { if (condition) { this.AppendSwitch(switchName); } } /// /// Append a switch to the command line if any values in the array have been specified. /// /// Switch to append. /// Values specified by the user. public void AppendArrayIfNotNull(string switchName, IEnumerable values) { if (values != null) { foreach (var value in values) { this.AppendSwitchIfNotNull(switchName, value); } } } /// /// Append arbitrary text to the command-line if specified. /// /// Text to append. public void AppendTextIfNotNull(string textToAppend) { if (!String.IsNullOrWhiteSpace(textToAppend)) { this.AppendSpaceIfNotEmpty(); this.AppendTextUnquoted(textToAppend); } } } }