From 8017ea6be7caf055eec068050532008751b1d70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0smail=20=C3=87A=C4=9EDA=C5=9E?= Date: Wed, 2 Sep 2020 10:17:07 +0300 Subject: [PATCH] allow users to ignore specific folders during build --- .../Volo/Abp/Cli/Build/DefaultChangedProjectFinder.cs | 9 ++++++++- .../Volo/Abp/Cli/Build/GitRepository.cs | 3 +++ .../Volo/Abp/Cli/Commands/BuildCommand.cs | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DefaultChangedProjectFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DefaultChangedProjectFinder.cs index cf1dbeeb32..86b140b9c3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DefaultChangedProjectFinder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/DefaultChangedProjectFinder.cs @@ -143,6 +143,13 @@ namespace Volo.Abp.Cli.Build ); } } + + // Filter ignored directories + foreach (var ignoredDirectory in repository.IgnoredDirectories) + { + changedProjectList = changedProjectList.Where(e => !e.CsProjPath.StartsWith(Path.Combine(repository.RootPath, ignoredDirectory))) + .ToList(); + } } private void AddAllCsProjFiles(GitRepository repository, List changedFiles) @@ -151,7 +158,7 @@ namespace Volo.Abp.Cli.Build repository.RootPath, "*.csproj", SearchOption.AllDirectories - ); + ).ToList(); foreach (var file in allCsProjFiles) { diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs index 093c50a9a3..94e218757f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Build/GitRepository.cs @@ -24,6 +24,8 @@ namespace Volo.Abp.Cli.Build public string RootPath { get; set; } public List DependingRepositories { get; set; } + + public List IgnoredDirectories { get; set; } public GitRepository(string name, string branchName, string rootPath) { @@ -31,6 +33,7 @@ namespace Volo.Abp.Cli.Build BranchName = branchName; RootPath = rootPath; DependingRepositories = new List(); + IgnoredDirectories = new List(); } public string GetUniqueName(string uniqueName) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs index b77bad8a55..0f96959494 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/BuildCommand.cs @@ -51,7 +51,7 @@ namespace Volo.Abp.Cli.Commands Options.BuildName.Short, Options.BuildName.Long ); - + var forceBuild = commandLineArgs.Options.ContainsKey(Options.ForceBuild.Long); var buildConfig = DotNetProjectBuildConfigReader.Read(workingDirectory ?? Directory.GetCurrentDirectory());