dotnet-installer/build_projects/dotnet-cli-build/Chmod.cs

60 lines
1.4 KiB
C#
Raw Normal View History

// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace Microsoft.DotNet.Cli.Build
{
public class Chmod : ToolTask
{
[Required]
2017-03-01 02:16:51 +00:00
public string Glob { get; set; }
[Required]
public string Mode { get; set; }
public bool Recursive { get; set; }
protected override string ToolName
{
get { return "chmod"; }
}
protected override MessageImportance StandardOutputLoggingImportance
{
get { return MessageImportance.High; } // or else the output doesn't get logged by default
}
protected override string GenerateFullPathToTool()
{
return "chmod";
}
protected override string GenerateCommandLineCommands()
{
2017-03-01 02:16:51 +00:00
return $"{GetRecursive()} {GetMode()} {GetGlob()}";
}
2017-03-01 02:16:51 +00:00
private string GetGlob()
{
2017-03-01 02:16:51 +00:00
return Glob;
}
private string GetMode()
{
return Mode;
}
private string GetRecursive()
{
if(Recursive)
{
return "--recursive";
}
return null;
}
}
}