From 408db7beb7c8419f6eac3e1a47573de81ab8a3b4 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 24 Dec 2021 11:01:44 +0300 Subject: [PATCH] Created CommonPropsStep --- .../ModuleInstallingPipelineBuilderBase.cs | 1 + .../ModuleInstalling/Steps/CommonPropsStep.cs | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/Steps/CommonPropsStep.cs diff --git a/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/ModuleInstallingPipelineBuilderBase.cs b/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/ModuleInstallingPipelineBuilderBase.cs index e03a67f428..5b3f953e1a 100644 --- a/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/ModuleInstallingPipelineBuilderBase.cs +++ b/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/ModuleInstallingPipelineBuilderBase.cs @@ -12,6 +12,7 @@ public abstract class ModuleInstallingPipelineBuilderBase if (context.WithSourceCode) { pipeline.Add(new SourceCodeDownloadStep()); + pipeline.Add(new CommonPropsStep()); if (context.AddToSolutionFile) { diff --git a/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/Steps/CommonPropsStep.cs b/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/Steps/CommonPropsStep.cs new file mode 100644 index 0000000000..519cc31c06 --- /dev/null +++ b/studio/src/Volo.Abp.Studio.ModuleInstaller/Volo/Abp/Studio/ModuleInstalling/Steps/CommonPropsStep.cs @@ -0,0 +1,29 @@ +using System.IO; +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Studio.Packages.Modifying; + +namespace Volo.Abp.Studio.ModuleInstalling.Steps; + +public class CommonPropsStep : ModuleInstallingPipelineStep +{ + public async override Task ExecuteAsync(ModuleInstallingContext context) + { + var moduleFolder = Path.GetDirectoryName(context.TargetModule); + var commonPropsFilePath = Path.Combine(moduleFolder, "common.props"); + + if (!File.Exists(commonPropsFilePath)) + { + return; + } + + var _csprojFileManager = context.ServiceProvider.GetRequiredService(); + + var csProjFiles = Directory.GetFiles(context.GetTargetSourceCodeFolder(), "*.csproj", SearchOption.AllDirectories); + + foreach (var csProjFile in csProjFiles) + { + await _csprojFileManager.AddImportAsync(csProjFile, commonPropsFilePath); + } + } +}