34 lines
831 B
C#
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;
|
|
}
|
|
}
|
|
}
|