From 3531cf246f0750e0fd27534a2e5f467e227f8f9b Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Wed, 20 Mar 2019 10:43:42 +0300 Subject: [PATCH] Refactor SolutionTemplating --- .../Building/ProjectBuildContextExtensions.cs | 20 +++++++++++++++++++ .../Building/ProjectBuildPipelineStep.cs | 17 +--------------- .../Steps/RemoveProjectFromSolutionStep.cs | 2 +- .../SwitchEntityFrameworkCoreToMongoDbStep.cs | 8 ++++---- 4 files changed, 26 insertions(+), 21 deletions(-) create mode 100644 abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildContextExtensions.cs diff --git a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildContextExtensions.cs b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildContextExtensions.cs new file mode 100644 index 0000000000..2aa568ba20 --- /dev/null +++ b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildContextExtensions.cs @@ -0,0 +1,20 @@ +using System; +using System.Linq; +using Volo.Utils.SolutionTemplating.Files; + +namespace Volo.Utils.SolutionTemplating.Building +{ + public static class ProjectBuildContextExtensions + { + public static FileEntry GetFile(this ProjectBuildContext context, string filePath) + { + var file = context.Files.FirstOrDefault(f => f.Name == filePath); + if (file == null) + { + throw new ApplicationException("Could not find file: " + filePath); + } + + return file; + } + } +} \ No newline at end of file diff --git a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildPipelineStep.cs b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildPipelineStep.cs index 7a94ca6ee1..ed6f613dbf 100644 --- a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildPipelineStep.cs +++ b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/ProjectBuildPipelineStep.cs @@ -1,22 +1,7 @@ -using System; -using System.Linq; -using Volo.Utils.SolutionTemplating.Files; - -namespace Volo.Utils.SolutionTemplating.Building +namespace Volo.Utils.SolutionTemplating.Building { public abstract class ProjectBuildPipelineStep { public abstract void Execute(ProjectBuildContext context); - - protected FileEntry GetFile(ProjectBuildContext context, string filePath) - { - var file = context.Files.FirstOrDefault(f => f.Name == filePath); - if (file == null) - { - throw new ApplicationException("Could not find file: " + filePath); - } - - return file; - } } } \ No newline at end of file diff --git a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/RemoveProjectFromSolutionStep.cs b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/RemoveProjectFromSolutionStep.cs index 41e9b2cd26..eb56699547 100644 --- a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/RemoveProjectFromSolutionStep.cs +++ b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/RemoveProjectFromSolutionStep.cs @@ -23,7 +23,7 @@ namespace Volo.Utils.SolutionTemplating.Building.Steps public override void Execute(ProjectBuildContext context) { context.Files.RemoveAll(file => file.Name.StartsWith(_projectFolderPath)); - var solutionFile = GetFile(context, _solutionFilePath); + var solutionFile = context.GetFile(_solutionFilePath); solutionFile.NormalizeLineEndings(); solutionFile.SetLines(RemoveProject(solutionFile.GetLines().ToList())); } diff --git a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs index cf7404eccf..0901d0250b 100644 --- a/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs +++ b/abp_io/src/Volo.Utils.SolutionTemplating/Volo/Utils/SolutionTemplating/Building/Steps/SwitchEntityFrameworkCoreToMongoDbStep.cs @@ -14,7 +14,7 @@ namespace Volo.Utils.SolutionTemplating.Building.Steps private void ChangeProjectReference(ProjectBuildContext context) { - var file = GetFile(context, "/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj"); + var file = context.GetFile("/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj"); file.NormalizeLineEndings(); @@ -29,12 +29,12 @@ namespace Volo.Utils.SolutionTemplating.Building.Steps } } - throw new ApplicationException("Could not find the 'Default' connection string in appsettings.json file!"); + throw new ApplicationException("Could not find the EntityFrameworkCore reference in the MyCompanyName.MyProjectName.Web.csproj!"); } private void ChangeWebModuleUsage(ProjectBuildContext context) { - var file = GetFile(context, "/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs"); + var file = context.GetFile("/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs"); file.NormalizeLineEndings(); @@ -59,7 +59,7 @@ namespace Volo.Utils.SolutionTemplating.Building.Steps private void ChangeConnectionString(ProjectBuildContext context) { - var file = GetFile(context, "/src/MyCompanyName.MyProjectName.Web/appsettings.json"); + var file = context.GetFile("/src/MyCompanyName.MyProjectName.Web/appsettings.json"); file.NormalizeLineEndings();