template download improvements

pull/1672/head
Yunus Emre Kalkan 6 years ago
parent 00b9d015cb
commit f901f90919

@ -23,6 +23,8 @@ namespace Volo.Abp.Cli.ProjectBuilding
return new AppProTemplate();
case ModuleTemplate.TemplateName:
return new ModuleTemplate();
case ModuleProTemplate.TemplateName:
return new ModuleProTemplate();
default:
throw new Exception("There is no template found with given name: " + name);
}

@ -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";
}
}
}

@ -1,10 +1,8 @@
using System.Collections.Generic;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
using Volo.Abp.Cli.ProjectBuilding.Templates.Module;
namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule
{
public class ModuleTemplate : TemplateInfo
public class ModuleTemplate : ModuleTemplateBase
{
/// <summary>
/// "module".
@ -16,52 +14,5 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule
{
DocumentUrl = "https://docs.abp.io/en/abp/latest/Startup-Templates/Module";
}
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/", "/"));
}
}
}

@ -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…
Cancel
Save