aspnetcore/build/tasks/ReplaceInFile.cs

34 lines
831 B
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.IO;
using System.Linq;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace RepoTasks
{
public class ReplaceInFile : Task
{
[Required]
public string Filename { get; set; }
[Required]
public ITaskItem[] Items { get; set; }
public override bool Execute()
{
var fileText = File.ReadAllText(Filename);
foreach (var item in Items)
{
fileText = fileText.Replace(item.ItemSpec, item.GetMetadata("Replacement"));
}
File.WriteAllText(Filename, fileText);
return true;
}
}
}