mirror of https://github.com/abpframework/abp.git
4 changed files with 87 additions and 51 deletions
@ -0,0 +1,19 @@ |
|||||
|
using Volo.Abp.Cli.ProjectBuilding.Templates.Module; |
||||
|
|
||||
|
namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule |
||||
|
{ |
||||
|
public class ModuleProTemplate : ModuleTemplateBase |
||||
|
{ |
||||
|
/// <summary>
|
||||
|
/// "module".
|
||||
|
/// </summary>
|
||||
|
public const string TemplateName = "module-pro"; |
||||
|
|
||||
|
public ModuleProTemplate() |
||||
|
: base(TemplateName) |
||||
|
{ |
||||
|
//TODO: uncomment next line after document is ready
|
||||
|
//DocumentUrl = "https://docs.abp.io/en/commercial/latest/Startup-Templates/Module";
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,64 @@ |
|||||
|
using System; |
||||
|
using System.Collections.Generic; |
||||
|
using System.Text; |
||||
|
using JetBrains.Annotations; |
||||
|
using Volo.Abp.Cli.ProjectBuilding.Building; |
||||
|
using Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
||||
|
|
||||
|
namespace Volo.Abp.Cli.ProjectBuilding.Templates.Module |
||||
|
{ |
||||
|
public abstract class ModuleTemplateBase : TemplateInfo |
||||
|
{ |
||||
|
protected ModuleTemplateBase([NotNull] string name) |
||||
|
: base(name) |
||||
|
{ |
||||
|
} |
||||
|
|
||||
|
public override IEnumerable<ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context) |
||||
|
{ |
||||
|
var steps = new List<ProjectBuildPipelineStep>(); |
||||
|
|
||||
|
DeleteUnrelatedProjects(context, steps); |
||||
|
RandomizeSslPorts(context, steps); |
||||
|
CleanupFolderHierarchy(context, steps); |
||||
|
|
||||
|
return steps; |
||||
|
} |
||||
|
|
||||
|
private void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) |
||||
|
{ |
||||
|
if (context.BuildArgs.ExtraProperties.ContainsKey("no-ui")) |
||||
|
{ |
||||
|
steps.Add(new RemoveProjectFromSolutionStep( |
||||
|
"MyCompanyName.MyProjectName.Web" |
||||
|
)); |
||||
|
|
||||
|
steps.Add(new RemoveProjectFromSolutionStep( |
||||
|
"MyCompanyName.MyProjectName.Web.Host", |
||||
|
projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host" |
||||
|
)); |
||||
|
|
||||
|
steps.Add(new RemoveProjectFromSolutionStep( |
||||
|
"MyCompanyName.MyProjectName.Web.Unified", |
||||
|
projectFolderPath: "/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified" |
||||
|
)); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
private void RandomizeSslPorts(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) |
||||
|
{ |
||||
|
steps.Add(new TemplateRandomSslPortStep(new List<string> |
||||
|
{ |
||||
|
"https://localhost:44300", |
||||
|
"https://localhost:44301", |
||||
|
"https://localhost:44302", |
||||
|
"https://localhost:44303" |
||||
|
})); |
||||
|
} |
||||
|
|
||||
|
private void CleanupFolderHierarchy(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) |
||||
|
{ |
||||
|
steps.Add(new MoveFolderStep("/aspnet-core/", "/")); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue