Browse Source

Move Angular PWA logic to ProjectCreationCommandBase

pull/12264/head
Enis Necipoglu 4 years ago
parent
commit
65203e7c9b
  1. 14
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs
  2. 20
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs
  3. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildArgs.cs

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

@ -25,7 +25,6 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien
protected TemplateProjectBuilder TemplateProjectBuilder { get; } protected TemplateProjectBuilder TemplateProjectBuilder { get; }
public ITemplateInfoProvider TemplateInfoProvider { get; } public ITemplateInfoProvider TemplateInfoProvider { get; }
protected AngularPwaSupportAdder AngularPwaSupportAdder { get; }
public NewCommand(TemplateProjectBuilder templateProjectBuilder public NewCommand(TemplateProjectBuilder templateProjectBuilder
, ITemplateInfoProvider templateInfoProvider, , ITemplateInfoProvider templateInfoProvider,
@ -34,11 +33,10 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien
ICmdHelper cmdHelper, ICmdHelper cmdHelper,
IInstallLibsService installLibsService, IInstallLibsService installLibsService,
AngularPwaSupportAdder angularPwaSupportAdder) AngularPwaSupportAdder angularPwaSupportAdder)
: base(connectionStringProvider, solutionPackageVersionFinder, cmdHelper, installLibsService) : base(connectionStringProvider, solutionPackageVersionFinder, cmdHelper, installLibsService, angularPwaSupportAdder)
{ {
TemplateProjectBuilder = templateProjectBuilder; TemplateProjectBuilder = templateProjectBuilder;
TemplateInfoProvider = templateInfoProvider; TemplateInfoProvider = templateInfoProvider;
AngularPwaSupportAdder = angularPwaSupportAdder;
} }
public async Task ExecuteAsync(CommandLineArgs commandLineArgs) public async Task ExecuteAsync(CommandLineArgs commandLineArgs)
@ -82,15 +80,9 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien
RunGraphBuildForMicroserviceServiceTemplate(projectArgs); RunGraphBuildForMicroserviceServiceTemplate(projectArgs);
await RunInstallLibsForWebTemplateAsync(projectArgs); await RunInstallLibsForWebTemplateAsync(projectArgs);
OpenRelatedWebPage(projectArgs, template, isTiered, commandLineArgs); ConfigurePwaSupportForAngular(projectArgs);
var pwa = commandLineArgs.Options.ContainsKey(Options.ProgressiveWebApp.Short); OpenRelatedWebPage(projectArgs, template, isTiered, commandLineArgs);
var angular = projectArgs.UiFramework == UiFramework.Angular;
if (angular && pwa)
{
Logger.LogInformation("Adding PWA Support to Angular app.");
AngularPwaSupportAdder.AddPwaSupport(projectArgs.OutputFolder);
}
} }
public string GetUsageInfo() public string GetUsageInfo()

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

@ -25,18 +25,21 @@ public abstract class ProjectCreationCommandBase
public SolutionPackageVersionFinder SolutionPackageVersionFinder { get; } public SolutionPackageVersionFinder SolutionPackageVersionFinder { get; }
public ICmdHelper CmdHelper { get; } public ICmdHelper CmdHelper { get; }
public IInstallLibsService InstallLibsService { get; } public IInstallLibsService InstallLibsService { get; }
public AngularPwaSupportAdder AngularPwaSupportAdder { get; }
public ILogger<NewCommand> Logger { get; set; } public ILogger<NewCommand> Logger { get; set; }
public ProjectCreationCommandBase( public ProjectCreationCommandBase(
ConnectionStringProvider connectionStringProvider, ConnectionStringProvider connectionStringProvider,
SolutionPackageVersionFinder solutionPackageVersionFinder, SolutionPackageVersionFinder solutionPackageVersionFinder,
ICmdHelper cmdHelper, ICmdHelper cmdHelper,
IInstallLibsService installLibsService) IInstallLibsService installLibsService,
AngularPwaSupportAdder angularPwaSupportAdder)
{ {
ConnectionStringProvider = connectionStringProvider; ConnectionStringProvider = connectionStringProvider;
SolutionPackageVersionFinder = solutionPackageVersionFinder; SolutionPackageVersionFinder = solutionPackageVersionFinder;
CmdHelper = cmdHelper; CmdHelper = cmdHelper;
InstallLibsService = installLibsService; InstallLibsService = installLibsService;
AngularPwaSupportAdder = angularPwaSupportAdder;
Logger = NullLogger<NewCommand>.Instance; Logger = NullLogger<NewCommand>.Instance;
} }
@ -176,7 +179,8 @@ public abstract class ProjectCreationCommandBase
gitHubVoloLocalRepositoryPath, gitHubVoloLocalRepositoryPath,
templateSource, templateSource,
commandLineArgs.Options, commandLineArgs.Options,
connectionString connectionString,
pwa
); );
} }
@ -333,6 +337,18 @@ public abstract class ProjectCreationCommandBase
} }
} }
protected void ConfigurePwaSupportForAngular(ProjectBuildArgs projectArgs)
{
var isAngular = projectArgs.UiFramework == UiFramework.Angular;
var isPwa = projectArgs.Pwa;
if (isAngular && isPwa)
{
Logger.LogInformation("Adding PWA Support to Angular app.");
AngularPwaSupportAdder.AddPwaSupport(projectArgs.OutputFolder);
}
}
protected virtual DatabaseManagementSystem GetDatabaseManagementSystem(CommandLineArgs commandLineArgs) protected virtual DatabaseManagementSystem GetDatabaseManagementSystem(CommandLineArgs commandLineArgs)
{ {
var optionValue = commandLineArgs.Options.GetOrNull(Options.DatabaseManagementSystem.Short, Options.DatabaseManagementSystem.Long); var optionValue = commandLineArgs.Options.GetOrNull(Options.DatabaseManagementSystem.Short, Options.DatabaseManagementSystem.Long);

6
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/ProjectBuildArgs.cs

@ -40,6 +40,8 @@ public class ProjectBuildArgs
[NotNull] [NotNull]
public string OutputFolder { get; set; } public string OutputFolder { get; set; }
public bool Pwa { get; set; }
[NotNull] [NotNull]
public Dictionary<string, string> ExtraProperties { get; set; } public Dictionary<string, string> ExtraProperties { get; set; }
@ -57,7 +59,8 @@ public class ProjectBuildArgs
[CanBeNull] string voloGitHubLocalRepositoryPath = null, [CanBeNull] string voloGitHubLocalRepositoryPath = null,
[CanBeNull] string templateSource = null, [CanBeNull] string templateSource = null,
Dictionary<string, string> extraProperties = null, Dictionary<string, string> extraProperties = null,
[CanBeNull] string connectionString = null) [CanBeNull] string connectionString = null,
bool pwa = false)
{ {
SolutionName = Check.NotNull(solutionName, nameof(solutionName)); SolutionName = Check.NotNull(solutionName, nameof(solutionName));
TemplateName = templateName; TemplateName = templateName;
@ -73,5 +76,6 @@ public class ProjectBuildArgs
TemplateSource = templateSource; TemplateSource = templateSource;
ExtraProperties = extraProperties ?? new Dictionary<string, string>(); ExtraProperties = extraProperties ?? new Dictionary<string, string>();
ConnectionString = connectionString; ConnectionString = connectionString;
Pwa = pwa;
} }
} }

Loading…
Cancel
Save