Move Angular PWA logic to ProjectCreationCommandBase

pull/12264/head
Enis Necipoglu 4 years ago
parent f56d83ef39
commit 65203e7c9b

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

@ -25,18 +25,21 @@ public abstract class ProjectCreationCommandBase
public SolutionPackageVersionFinder SolutionPackageVersionFinder { get; }
public ICmdHelper CmdHelper { get; }
public IInstallLibsService InstallLibsService { get; }
public AngularPwaSupportAdder AngularPwaSupportAdder { get; }
public ILogger<NewCommand> Logger { get; set; }
public ProjectCreationCommandBase(
ConnectionStringProvider connectionStringProvider,
SolutionPackageVersionFinder solutionPackageVersionFinder,
ICmdHelper cmdHelper,
IInstallLibsService installLibsService)
IInstallLibsService installLibsService,
AngularPwaSupportAdder angularPwaSupportAdder)
{
ConnectionStringProvider = connectionStringProvider;
SolutionPackageVersionFinder = solutionPackageVersionFinder;
CmdHelper = cmdHelper;
InstallLibsService = installLibsService;
AngularPwaSupportAdder = angularPwaSupportAdder;
Logger = NullLogger<NewCommand>.Instance;
}
@ -176,7 +179,8 @@ public abstract class ProjectCreationCommandBase
gitHubVoloLocalRepositoryPath,
templateSource,
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)
{
var optionValue = commandLineArgs.Options.GetOrNull(Options.DatabaseManagementSystem.Short, Options.DatabaseManagementSystem.Long);

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

Loading…
Cancel
Save