diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs index d5e7a4e15a..3f1e658525 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ModuleInfo.cs @@ -1,4 +1,6 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; +using System.Linq; namespace Volo.Abp.Cli.ProjectModification { @@ -10,8 +12,23 @@ namespace Volo.Abp.Cli.ProjectModification public string EfCoreConfigureMethodName { get; set; } + public string DocumentationLinks { get; set; } + public List NugetPackages { get; set; } public List NpmPackages { get; set; } + + public string GetFirstDocumentationLinkOrNull() + { + if (string.IsNullOrWhiteSpace(DocumentationLinks)) + { + return null; + } + + var docs = DocumentationLinks.Split(" ", StringSplitOptions.RemoveEmptyEntries); + return docs.Any() ? + docs.First() : + null; + } } -} \ No newline at end of file +} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs index 9a30fd7fd3..273f011f41 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/SolutionModuleAdder.cs @@ -131,6 +131,12 @@ namespace Volo.Abp.Cli.ProjectModification await RunBundleForBlazorAsync(projectFiles, module); ModifyDbContext(projectFiles, module, skipDbMigrations); + + var documentationLink = module.GetFirstDocumentationLinkOrNull(); + if (documentationLink != null) + { + CmdHelper.OpenWebPage(documentationLink); + } } private ModuleWithMastersInfo RemoveIncompatiblePackages(ModuleWithMastersInfo module, string version) @@ -209,7 +215,7 @@ namespace Volo.Abp.Cli.ProjectModification { projectsToRemove.AddRange(await FindProjectsToRemoveByTarget(module, NuGetPackageTarget.BlazorWebAssembly, isProjectTiered)); - webPackagesWillBeAddedToBlazorServerProject = module.NugetPackages.All(np=> np.Target != NuGetPackageTarget.BlazorServer && np.TieredTarget != NuGetPackageTarget.BlazorServer); + webPackagesWillBeAddedToBlazorServerProject = module.NugetPackages.All(np => np.Target != NuGetPackageTarget.BlazorServer && np.TieredTarget != NuGetPackageTarget.BlazorServer); } else { @@ -250,7 +256,7 @@ namespace Volo.Abp.Cli.ProjectModification private bool IsReferencedByAnotherModuleProject(string moduleDirectory, List projectsToRemove, string projectToRemove) { var moduleProjects = Directory.GetFiles(moduleDirectory, "*.csproj", SearchOption.AllDirectories); - var projectsToKeep = moduleProjects.Where(mp=> !projectsToRemove.Contains(Path.GetFileName(mp).RemovePostFix(".csproj"))).ToList(); + var projectsToKeep = moduleProjects.Where(mp => !projectsToRemove.Contains(Path.GetFileName(mp).RemovePostFix(".csproj"))).ToList(); return projectsToKeep.Select(File.ReadAllText).Any(content => content.Contains($"\"{projectToRemove}\"")); } @@ -278,7 +284,7 @@ namespace Volo.Abp.Cli.ProjectModification return projectsToRemove; } - private async Task> FindProjectsToRemoveByPostFix(string moduleDirectory, string targetFolder, + private async Task> FindProjectsToRemoveByPostFix(string moduleDirectory, string targetFolder, string postFix) { var projectsToRemove = new List();