From cfeb88ae3c8c5f855b6cb73834451da13d34d104 Mon Sep 17 00:00:00 2001 From: Stuart Cam Date: Thu, 5 Mar 2020 12:44:24 +1100 Subject: [PATCH] Delete dependant fles generated by the ApiGenerator before generating them. (#4477) --- src/ApiGenerator/Generator/Razor/DescriptorsGenerator.cs | 5 +++++ .../Razor/HighLevelClientImplementationGenerator.cs | 5 +++++ .../Generator/Razor/LowLevelClientImplementationGenerator.cs | 5 +++++ .../Generator/Razor/RequestParametersGenerator.cs | 5 +++++ src/ApiGenerator/Generator/Razor/RequestsGenerator.cs | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/src/ApiGenerator/Generator/Razor/DescriptorsGenerator.cs b/src/ApiGenerator/Generator/Razor/DescriptorsGenerator.cs index c00efd18caf..8a123a06ba8 100644 --- a/src/ApiGenerator/Generator/Razor/DescriptorsGenerator.cs +++ b/src/ApiGenerator/Generator/Razor/DescriptorsGenerator.cs @@ -1,3 +1,4 @@ +using System.IO; using System.Linq; using System.Threading.Tasks; using ApiGenerator.Configuration; @@ -12,6 +13,10 @@ public class DescriptorsGenerator : RazorGeneratorBase public override async Task Generate(RestApiSpec spec, ProgressBar progressBar) { + // Delete existing files + foreach (var file in Directory.GetFiles(GeneratorLocations.NestFolder, "Descriptors.*.cs")) + File.Delete(file); + var view = ViewLocations.HighLevel("Descriptors", "RequestDescriptorBase.cshtml"); var target = GeneratorLocations.HighLevel("Descriptors.cs"); await DoRazor(spec, view, target); diff --git a/src/ApiGenerator/Generator/Razor/HighLevelClientImplementationGenerator.cs b/src/ApiGenerator/Generator/Razor/HighLevelClientImplementationGenerator.cs index 92abc6bf3af..da86c9cda70 100644 --- a/src/ApiGenerator/Generator/Razor/HighLevelClientImplementationGenerator.cs +++ b/src/ApiGenerator/Generator/Razor/HighLevelClientImplementationGenerator.cs @@ -1,3 +1,4 @@ +using System.IO; using System.Linq; using System.Threading.Tasks; using ApiGenerator.Configuration; @@ -13,6 +14,10 @@ public class HighLevelClientImplementationGenerator : RazorGeneratorBase public override async Task Generate(RestApiSpec spec, ProgressBar progressBar) { + // Delete existing files + foreach (var file in Directory.GetFiles(GeneratorLocations.NestFolder, "ElasticClient.*.cs")) + File.Delete(file); + var view = ViewLocations.HighLevel("Client", "Implementation", "ElasticClient.cshtml"); var target = GeneratorLocations.HighLevel($"ElasticClient.{CsharpNames.RootNamespace}.cs"); await DoRazor(spec, view, target); diff --git a/src/ApiGenerator/Generator/Razor/LowLevelClientImplementationGenerator.cs b/src/ApiGenerator/Generator/Razor/LowLevelClientImplementationGenerator.cs index 0767e880977..c1d95d1e775 100644 --- a/src/ApiGenerator/Generator/Razor/LowLevelClientImplementationGenerator.cs +++ b/src/ApiGenerator/Generator/Razor/LowLevelClientImplementationGenerator.cs @@ -1,3 +1,4 @@ +using System.IO; using System.Linq; using System.Threading.Tasks; using ApiGenerator.Configuration; @@ -13,6 +14,10 @@ public class LowLevelClientImplementationGenerator : RazorGeneratorBase public override async Task Generate(RestApiSpec spec, ProgressBar progressBar) { + // Delete existing files + foreach (var file in Directory.GetFiles(GeneratorLocations.EsNetFolder, "ElasticLowLevelClient.*.cs")) + File.Delete(file); + var view = ViewLocations.LowLevel("Client", "Implementation", "ElasticLowLevelClient.cshtml"); var target = GeneratorLocations.LowLevel($"ElasticLowLevelClient.{CsharpNames.RootNamespace}.cs"); await DoRazor(spec, view, target); diff --git a/src/ApiGenerator/Generator/Razor/RequestParametersGenerator.cs b/src/ApiGenerator/Generator/Razor/RequestParametersGenerator.cs index ba8647dbaf9..205aa73edd5 100644 --- a/src/ApiGenerator/Generator/Razor/RequestParametersGenerator.cs +++ b/src/ApiGenerator/Generator/Razor/RequestParametersGenerator.cs @@ -1,3 +1,4 @@ +using System.IO; using System.Linq; using System.Threading.Tasks; using ApiGenerator.Configuration; @@ -12,6 +13,10 @@ public class RequestParametersGenerator : RazorGeneratorBase public override async Task Generate(RestApiSpec spec, ProgressBar progressBar) { + // Delete existing files + foreach (var file in Directory.GetFiles(GeneratorLocations.EsNetFolder, "RequestParameters.*.cs")) + File.Delete(file); + var view = ViewLocations.LowLevel("RequestParameters", "RequestParameters.cshtml"); string Target(string id) => GeneratorLocations.LowLevel("Api", "RequestParameters", $"RequestParameters.{id}.cs"); diff --git a/src/ApiGenerator/Generator/Razor/RequestsGenerator.cs b/src/ApiGenerator/Generator/Razor/RequestsGenerator.cs index 8a06b5d4a64..164ea08f3af 100644 --- a/src/ApiGenerator/Generator/Razor/RequestsGenerator.cs +++ b/src/ApiGenerator/Generator/Razor/RequestsGenerator.cs @@ -1,3 +1,4 @@ +using System.IO; using System.Linq; using System.Threading.Tasks; using ApiGenerator.Configuration; @@ -12,6 +13,10 @@ public class RequestsGenerator : RazorGeneratorBase public override async Task Generate(RestApiSpec spec, ProgressBar progressBar) { + // Delete existing files + foreach (var file in Directory.GetFiles(GeneratorLocations.NestFolder, "Requests.*.cs")) + File.Delete(file); + var view = ViewLocations.HighLevel("Requests", "PlainRequestBase.cshtml"); var target = GeneratorLocations.HighLevel("Requests.cs"); await DoRazor(spec, view, target);