// 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);
}
}
}
}