|
|
|
|
@ -6,6 +6,8 @@ namespace Volo.Abp.Cli.ProjectBuilding.Files;
|
|
|
|
|
|
|
|
|
|
public static class FileEntryExtensions
|
|
|
|
|
{
|
|
|
|
|
private static int _maximumRecursionCount = 20;
|
|
|
|
|
|
|
|
|
|
public static FileEntry ReplaceText(this FileEntry file, string oldText, string newText)
|
|
|
|
|
{
|
|
|
|
|
file.NormalizeLineEndings();
|
|
|
|
|
@ -20,7 +22,7 @@ public static class FileEntryExtensions
|
|
|
|
|
|
|
|
|
|
public static void RemoveTemplateCodeMarkers(this FileEntry file)
|
|
|
|
|
{
|
|
|
|
|
if (!file.Content.Contains("</TEMPLATE-REMOVE>"))
|
|
|
|
|
if (!file.Content.Contains("<TEMPLATE-REMOVE") && !file.Content.Contains("</TEMPLATE-REMOVE>") )
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -49,9 +51,9 @@ public static class FileEntryExtensions
|
|
|
|
|
file.SetLines(newLines);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static void RemoveMarkedTemplateCode(this FileEntry file, List<string> symbols)
|
|
|
|
|
private static void RemoveMarkedTemplateCode(this FileEntry file, List<string> symbols, int recursionCount = 0)
|
|
|
|
|
{
|
|
|
|
|
if (!file.Content.Contains("</TEMPLATE-REMOVE>"))
|
|
|
|
|
if (!file.Content.Contains("<TEMPLATE-REMOVE") || recursionCount > _maximumRecursionCount)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
@ -97,9 +99,25 @@ public static class FileEntryExtensions
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
while (i < lines.Length && !lines[i].Contains("</TEMPLATE-REMOVE>"))
|
|
|
|
|
var innerConditionCount = 0;
|
|
|
|
|
|
|
|
|
|
while (i < lines.Length)
|
|
|
|
|
{
|
|
|
|
|
++i;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
if (lines[i].Contains("<TEMPLATE-REMOVE"))
|
|
|
|
|
{
|
|
|
|
|
innerConditionCount++;
|
|
|
|
|
}
|
|
|
|
|
else if (lines[i].Contains("</TEMPLATE-REMOVE>"))
|
|
|
|
|
{
|
|
|
|
|
if (innerConditionCount < 1)
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
innerConditionCount--;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (lines[i+1].Contains("<TEMPLATE-REMOVE"))
|
|
|
|
|
@ -117,6 +135,8 @@ public static class FileEntryExtensions
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
file.SetLines(newLines);
|
|
|
|
|
|
|
|
|
|
RemoveMarkedTemplateCode(file, symbols, recursionCount + 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static TemplateRemoveMarkerParseResult ParseTemplateRemoveMarker(string marker)
|
|
|
|
|
|