Update CLI to support MAUI template

pull/12962/head
liangshiwei 3 years ago
parent 9f94699bcb
commit 8e2e41453f

@ -14,6 +14,7 @@ using System.Threading.Tasks;
using Volo.Abp.Cli.Http;
using Volo.Abp.Cli.ProjectBuilding.Templates.App;
using Volo.Abp.Cli.ProjectBuilding.Templates.Console;
using Volo.Abp.Cli.ProjectBuilding.Templates.Maui;
using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule;
using Volo.Abp.Cli.ProjectBuilding.Templates.Wpf;
using Volo.Abp.DependencyInjection;
@ -278,7 +279,7 @@ public class AbpIoSourceCodeStore : ISourceCodeStore, ITransientDependency
}
var matches = Regex.Matches(stringBuilder.ToString(),
$"({AppTemplate.TemplateName}|{AppNoLayersProTemplate.TemplateName}|{AppNoLayersTemplate.TemplateName}|{AppProTemplate.TemplateName}|{ModuleTemplate.TemplateName}|{ModuleProTemplate.TemplateName}|{ConsoleTemplate.TemplateName}|{WpfTemplate.TemplateName})-(.+).zip");
$"({AppTemplate.TemplateName}|{AppNoLayersProTemplate.TemplateName}|{AppNoLayersTemplate.TemplateName}|{AppProTemplate.TemplateName}|{ModuleTemplate.TemplateName}|{ModuleProTemplate.TemplateName}|{ConsoleTemplate.TemplateName}|{WpfTemplate.TemplateName}|{MauiTemplate.TemplateName})-(.+).zip");
foreach (Match match in matches)
{
templateList.Add((match.Groups[1].Value, match.Groups[2].Value));

@ -0,0 +1,14 @@
using System;
using System.Linq;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
public class ChangeApplicationIdGuidStep: ProjectBuildPipelineStep
{
public override void Execute(ProjectBuildContext context)
{
var projectFile = context.Files.FirstOrDefault(f => f.Name.EndsWith("MyCompanyName.MyProjectName.csproj"));
projectFile?.SetContent(projectFile.Content.Replace("27317750-B571-4690-B433-B358B2480E01", Guid.NewGuid().ToString()));
}
}

@ -8,6 +8,7 @@ using Volo.Abp.Cli.Http;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Templates.App;
using Volo.Abp.Cli.ProjectBuilding.Templates.Console;
using Volo.Abp.Cli.ProjectBuilding.Templates.Maui;
using Volo.Abp.Cli.ProjectBuilding.Templates.Microservice;
using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule;
using Volo.Abp.Cli.ProjectBuilding.Templates.Wpf;
@ -70,6 +71,8 @@ public class TemplateInfoProvider : ITemplateInfoProvider, ITransientDependency
return new ConsoleTemplate();
case WpfTemplate.TemplateName:
return new WpfTemplate();
case MauiTemplate.TemplateName:
return new MauiTemplate();
default:
throw new Exception("There is no template found with given name: " + name);
}

@ -0,0 +1,15 @@
namespace Volo.Abp.Cli.ProjectBuilding.Templates.Maui;
public class MauiTemplate : MauiTemplateBase
{
/// <summary>
/// "maui".
/// </summary>
public const string TemplateName = "maui";
public MauiTemplate()
: base(TemplateName)
{
DocumentUrl = CliConsts.DocsLink + "/en/abp/latest/Startup-Templates/MAUI";
}
}

@ -0,0 +1,24 @@
using System.Collections.Generic;
using JetBrains.Annotations;
using Volo.Abp.Cli.ProjectBuilding.Building;
using Volo.Abp.Cli.ProjectBuilding.Building.Steps;
namespace Volo.Abp.Cli.ProjectBuilding.Templates.Maui;
public class MauiTemplateBase: TemplateInfo
{
protected MauiTemplateBase([NotNull] string name) :
base(name)
{
}
public override IEnumerable<ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context)
{
var steps = new List<ProjectBuildPipelineStep>
{
new ChangeApplicationIdGuidStep()
};
return steps;
}
}

@ -17,7 +17,7 @@
<ApplicationTitle>MyCompanyName.MyProjectName</ApplicationTitle>
<!-- App Identifier -->
<ApplicationId>com.mycompanyname.myprojectname</ApplicationId>
<ApplicationId>com.companyname.mycompanyname.myprojectname</ApplicationId>
<ApplicationIdGuid>27317750-B571-4690-B433-B358B2480E01</ApplicationIdGuid>
<!-- Versions -->
@ -34,10 +34,7 @@
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Autofac\Volo.Abp.Autofac.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.5" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.5" />
</ItemGroup>
<ItemGroup>

Loading…
Cancel
Save