From d7610350c68852496c43fdd3bfee540733015646 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 27 Sep 2019 14:06:22 +0800 Subject: [PATCH] The CLI update command updates the test project. Resolve #1808 --- .../Cli/ProjectModification/ProjectFinder.cs | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs index 548290df5c..4a313e784d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectFinder.cs @@ -83,8 +83,11 @@ namespace Volo.Abp.Cli.ProjectModification public static string[] GetProjectFiles(string solutionFile) { - var baseProjectFolder = GetBaseProjectFolder(solutionFile); - return Directory.GetFiles(baseProjectFolder, "*.csproj", SearchOption.AllDirectories); + return GetBaseProjectFolders(solutionFile) + .Select(baseProjectFolder => + Directory.GetFiles(baseProjectFolder, "*.csproj", SearchOption.AllDirectories)) + .SelectMany(files => files) + .ToArray(); } public static string[] GetAssemblyNames(string[] projectFiles) @@ -118,16 +121,33 @@ namespace Volo.Abp.Cli.ProjectModification return null; } - private static string GetBaseProjectFolder(string solutionFile) + private static string[] GetBaseProjectFolders(string solutionFile) { + var projectFolders = new List(); var baseFolder = Path.GetDirectoryName(solutionFile); + if (baseFolder == null) + { + return projectFolders.ToArray(); + } + var srcFolder = Path.Combine(baseFolder, "src"); if (Directory.Exists(srcFolder)) { - baseFolder = srcFolder; + projectFolders.Add(srcFolder); + } + + var testFolder = Path.Combine(baseFolder, "test"); + if (Directory.Exists(testFolder)) + { + projectFolders.Add(testFolder); + } + + if (!projectFolders.Any()) + { + projectFolders.Add(baseFolder); } - return baseFolder; + return projectFolders.ToArray(); } } }