Browse Source

Merge pull request #19437 from abpframework/auto-merge/rel-8-1/2608

Merge branch dev with rel-8.1
pull/19443/head
maliming 2 years ago
committed by GitHub
parent
commit
cbe92fa686
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs
  2. 60
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs
  3. 4
      npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs

@ -111,6 +111,8 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien
await RunGraphBuildForMicroserviceServiceTemplate(projectArgs);
await CreateInitialMigrationsAsync(projectArgs);
await ConfigureAngularAfterMicroserviceServiceCreatedAsync(projectArgs, template);
var skipInstallLibs = commandLineArgs.Options.ContainsKey(Options.SkipInstallingLibs.Long) || commandLineArgs.Options.ContainsKey(Options.SkipInstallingLibs.Short);
if (!skipInstallLibs)
{

60
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs

@ -1,13 +1,12 @@
using System;
using System.IO;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using ICSharpCode.SharpZipLib.Core;
using ICSharpCode.SharpZipLib.Zip;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using NuGet.Versioning;
using NUglify.Helpers;
using Volo.Abp.Cli.ProjectModification;
using Volo.Abp.Cli.Args;
using Volo.Abp.Cli.Bundling;
@ -436,6 +435,7 @@ public abstract class ProjectCreationCommandBase
var isModuleTemplate = ModuleTemplateBase.IsModuleTemplate(projectArgs.TemplateName);
var isWebassembly = projectArgs.UiFramework == UiFramework.Blazor;
var message = isWebassembly || isModuleTemplate
? "Generating bundles for Blazor Wasm"
: "Generating bundles for MAUI Blazor";
@ -453,6 +453,7 @@ public abstract class ProjectCreationCommandBase
var searchPattern = isWebassembly ? "*.Blazor.csproj" : "*.MauiBlazor.csproj";
var path = projectArgs.OutputFolder;
if (isWebassembly && Directory.GetFiles(path, "*.Blazor.Client.csproj", SearchOption.AllDirectories).Any())
{
searchPattern = "*.Blazor.Client.csproj";
@ -720,7 +721,7 @@ public abstract class ProjectCreationCommandBase
protected virtual ThemeStyle? GetThemeStyleOrNull(CommandLineArgs commandLineArgs, Theme theme)
{
if(theme != Theme.LeptonX)
if (theme != Theme.LeptonX)
{
return null;
}
@ -758,6 +759,59 @@ public abstract class ProjectCreationCommandBase
}
}
protected virtual async Task ConfigureAngularAfterMicroserviceServiceCreatedAsync(ProjectBuildArgs projectArgs, string template)
{
if (!MicroserviceServiceTemplateBase.IsMicroserviceServiceTemplate(projectArgs.TemplateName))
{
return;
}
var rootPath = Directory.GetCurrentDirectory();
var uiFramework = FindMicroserviceSolutionUiFramework(rootPath);
if (uiFramework != UiFramework.Angular)
{
return;
}
Logger.LogInformation("Setting up the angular library...");
var libraryName = projectArgs.SolutionName.ProjectName.ToKebabCase();
var angularAppPath = Path.Combine(rootPath, "apps", "angular");
var result = await CreateAngularLibraryAsync(libraryName, angularAppPath);
Logger.LogInformation(result);
}
protected virtual async Task<string> CreateAngularLibraryAsync(
string libraryName,
string workingDirectory,
bool isSecondaryEndpoint = false,
bool isModuleTemplate = true,
bool isOverride = true)
{
//TODO: Can we improve this validations ?
if (string.IsNullOrWhiteSpace(libraryName))
{
throw new CliUsageException("Angular library name can not be empty");
}
if (string.IsNullOrWhiteSpace(workingDirectory))
{
throw new CliUsageException("Angular project path can not be empty");
}
var commandBuilder = new StringBuilder($"npx ng g @abp/ng.schematics:create-lib --package-name {libraryName}");
commandBuilder.Append($" --is-secondary-entrypoint {isSecondaryEndpoint.ToString().ToLower()}");
commandBuilder.Append($" --is-module-template {isModuleTemplate.ToString().ToLower()}");
commandBuilder.Append($" --override {isOverride.ToString().ToLower()}");
var result = CmdHelper.RunCmdAndGetOutput(commandBuilder.ToString(), workingDirectory);
return await Task.FromResult(result);
}
public static class Options
{
public static class Template

4
npm/ng-packs/packages/schematics/src/commands/create-lib/files-package/__libraryName@kebab__/src/lib/__libraryName@kebab__-routing.module.ts.template

@ -1,12 +1,12 @@
import { NgModule } from '@angular/core';
import { DynamicLayoutComponent } from '@abp/ng.core';
import { RouterOutletComponent } from '@abp/ng.core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
path: '',
pathMatch: 'full',
component: DynamicLayoutComponent,
component: RouterOutletComponent,
children: [],
},
];

Loading…
Cancel
Save