diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs
index ce5baf1a38..ac4747de5d 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs
@@ -1,4 +1,11 @@
-namespace Volo.Abp.Cli;
+using System.Collections.Generic;
+using System.Security.Policy;
+using Volo.Abp.Cli.ProjectBuilding.Templates.App;
+using Volo.Abp.Cli.ProjectBuilding.Templates.Microservice;
+using Volo.Abp.Cli.ProjectBuilding.Templates.Module;
+using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule;
+
+namespace Volo.Abp.Cli;
public static class CliConsts
{
@@ -11,4 +18,10 @@ public static class CliConsts
public const string HttpClientName = "AbpHttpClient";
public const string LogoutUrl = CliUrls.WwwAbpIo + "api/license/logout";
+
+ public const string LicenseCodePlaceHolder = @"";
+
+ public const string AppSettingsJsonFileName = "appsettings.json";
+
+ public const string AppSettingsSecretJsonFileName = "appsettings.secrets.json";
}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateAppSettingsSecretsStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateAppSettingsSecretsStep.cs
index 82d736bbde..5a84bda994 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateAppSettingsSecretsStep.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateAppSettingsSecretsStep.cs
@@ -6,28 +6,28 @@ namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
public class CreateAppSettingsSecretsStep : ProjectBuildPipelineStep
{
- private const string FileName = "appsettings.secrets.json";
- private const string AppSettingsFileName = "appsettings.json";
private const string AppSettingsPlaceholder = "";
public override void Execute(ProjectBuildContext context)
{
var appSettingsFiles = context.Files
- .Where(x =>
- x.Name.EndsWith(AppSettingsFileName) &&
- NotBlazorWasmProject(x.Name))
+ .Where(x => x.Name.EndsWith(CliConsts.AppSettingsJsonFileName) && NotBlazorWasmProject(x.Name))
.ToList();
- var content = context.Template.IsPro()
- ? $"{{{Environment.NewLine} \"AbpLicenseCode\": \"\" {Environment.NewLine}}}"
- : $"{{{Environment.NewLine}}}";
+ if (!appSettingsFiles.Any())
+ {
+ return;
+ }
+ var appsettingsSecretJsonContent = GetAppSettingsSecretJsonContent(context);
+
foreach (var appSettingsFile in appSettingsFiles)
{
context.Files.Add(new FileEntry(
- appSettingsFile.Name.Replace(AppSettingsFileName, FileName),
- content.GetBytes(),
- false));
+ appSettingsFile.Name.Replace(CliConsts.AppSettingsJsonFileName, CliConsts.AppSettingsSecretJsonFileName),
+ appsettingsSecretJsonContent,
+ false)
+ );
}
var projectFiles = context.Files.Where(x => x.Content.Contains(AppSettingsPlaceholder)).ToList();
@@ -38,6 +38,13 @@ public class CreateAppSettingsSecretsStep : ProjectBuildPipelineStep
}
}
+ private static byte[] GetAppSettingsSecretJsonContent(ProjectBuildContext context)
+ {
+ return context.Template.IsPro()
+ ? $"{{{Environment.NewLine} \"AbpLicenseCode\": \"{CliConsts.LicenseCodePlaceHolder}\" {Environment.NewLine}}}".GetBytes()
+ : $"{{{Environment.NewLine}}}".GetBytes();
+ }
+
private static bool NotBlazorWasmProject(string fileName)
{
return !fileName.Contains("Blazor/wwwroot") && !fileName.Contains("Blazor.Host/wwwroot");
@@ -45,11 +52,11 @@ public class CreateAppSettingsSecretsStep : ProjectBuildPipelineStep
private static string ReplaceAppSettingsSecretsPlaceholder(string content)
{
- var replaceContent = $"{Environment.NewLine}" +
- $" {Environment.NewLine}" +
+ var replaceContent = $"{Environment.NewLine}" +
+ $" {Environment.NewLine}" +
$" PreserveNewest{Environment.NewLine}" +
$" Always{Environment.NewLine}" +
" ";
return content.Replace(AppSettingsPlaceholder, replaceContent);
}
-}
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/LicenseCodeReplaceStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/LicenseCodeReplaceStep.cs
index 5ed63e4021..6fa6a4ee7c 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/LicenseCodeReplaceStep.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/LicenseCodeReplaceStep.cs
@@ -12,12 +12,12 @@ public class LicenseCodeReplaceStep : ProjectBuildPipelineStep
var licenseCode = context.BuildArgs.ExtraProperties.GetOrDefault("license-code");
var appSettingsJsonFiles = context.Files.Where(f =>
- f.Name.EndsWith("appsettings.json", StringComparison.OrdinalIgnoreCase) ||
- f.Name.EndsWith("appsettings.secrets.json", StringComparison.OrdinalIgnoreCase));
+ f.Name.EndsWith(CliConsts.AppSettingsJsonFileName, StringComparison.OrdinalIgnoreCase) ||
+ f.Name.EndsWith(CliConsts.AppSettingsSecretJsonFileName, StringComparison.OrdinalIgnoreCase));
foreach (var appSettingsJson in appSettingsJsonFiles)
{
- appSettingsJson.ReplaceText(@"", licenseCode);
+ appSettingsJson.ReplaceText(CliConsts.LicenseCodePlaceHolder, licenseCode);
}
}
}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs
index 9000053d30..88bdc27973 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs
@@ -33,6 +33,6 @@ public abstract class TemplateInfo
public bool IsPro()
{
- return Name.EndsWith("pro", StringComparison.OrdinalIgnoreCase);
+ return Name.EndsWith("-pro", StringComparison.OrdinalIgnoreCase);
}
}
diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs
index 230a6018f3..d991c7101e 100644
--- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs
+++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs
@@ -26,10 +26,7 @@ public static class TemplateProjectBuildPipelineBuilder
pipeline.Steps.Add(new TemplateCodeDeleteStep());
pipeline.Steps.Add(new SolutionRenameStep());
- if (context.Template.Name == AppProTemplate.TemplateName ||
- context.Template.Name == MicroserviceProTemplate.TemplateName ||
- context.Template.Name == MicroserviceServiceProTemplate.TemplateName ||
- context.Template.Name == ModuleProTemplate.TemplateName)
+ if (context.Template.IsPro())
{
pipeline.Steps.Add(new LicenseCodeReplaceStep()); // todo: move to custom steps?
}