Browse Source

Merge branch 'rel-5.2' of https://github.com/abpframework/abp into rel-5.2

pull/11874/head
Halil İbrahim Kalkan 5 years ago
parent
commit
e6e8039164
  1. 15
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliConsts.cs
  2. 35
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/CreateAppSettingsSecretsStep.cs
  3. 6
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/LicenseCodeReplaceStep.cs
  4. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs
  5. 5
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs

15
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 public static class CliConsts
{ {
@ -11,4 +18,10 @@ public static class CliConsts
public const string HttpClientName = "AbpHttpClient"; public const string HttpClientName = "AbpHttpClient";
public const string LogoutUrl = CliUrls.WwwAbpIo + "api/license/logout"; public const string LogoutUrl = CliUrls.WwwAbpIo + "api/license/logout";
public const string LicenseCodePlaceHolder = @"<LICENSE_CODE/>";
public const string AppSettingsJsonFileName = "appsettings.json";
public const string AppSettingsSecretJsonFileName = "appsettings.secrets.json";
} }

35
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 public class CreateAppSettingsSecretsStep : ProjectBuildPipelineStep
{ {
private const string FileName = "appsettings.secrets.json";
private const string AppSettingsFileName = "appsettings.json";
private const string AppSettingsPlaceholder = "<!--APPSETTINGS-SECRETS-->"; private const string AppSettingsPlaceholder = "<!--APPSETTINGS-SECRETS-->";
public override void Execute(ProjectBuildContext context) public override void Execute(ProjectBuildContext context)
{ {
var appSettingsFiles = context.Files var appSettingsFiles = context.Files
.Where(x => .Where(x => x.Name.EndsWith(CliConsts.AppSettingsJsonFileName) && NotBlazorWasmProject(x.Name))
x.Name.EndsWith(AppSettingsFileName) &&
NotBlazorWasmProject(x.Name))
.ToList(); .ToList();
var content = context.Template.IsPro() if (!appSettingsFiles.Any())
? $"{{{Environment.NewLine} \"AbpLicenseCode\": \"<LICENSE_CODE/>\" {Environment.NewLine}}}" {
: $"{{{Environment.NewLine}}}"; return;
}
var appsettingsSecretJsonContent = GetAppSettingsSecretJsonContent(context);
foreach (var appSettingsFile in appSettingsFiles) foreach (var appSettingsFile in appSettingsFiles)
{ {
context.Files.Add(new FileEntry( context.Files.Add(new FileEntry(
appSettingsFile.Name.Replace(AppSettingsFileName, FileName), appSettingsFile.Name.Replace(CliConsts.AppSettingsJsonFileName, CliConsts.AppSettingsSecretJsonFileName),
content.GetBytes(), appsettingsSecretJsonContent,
false)); false)
);
} }
var projectFiles = context.Files.Where(x => x.Content.Contains(AppSettingsPlaceholder)).ToList(); 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) private static bool NotBlazorWasmProject(string fileName)
{ {
return !fileName.Contains("Blazor/wwwroot") && !fileName.Contains("Blazor.Host/wwwroot"); return !fileName.Contains("Blazor/wwwroot") && !fileName.Contains("Blazor.Host/wwwroot");
@ -45,11 +52,11 @@ public class CreateAppSettingsSecretsStep : ProjectBuildPipelineStep
private static string ReplaceAppSettingsSecretsPlaceholder(string content) private static string ReplaceAppSettingsSecretsPlaceholder(string content)
{ {
var replaceContent = $"<None Remove=\"{FileName}\" />{Environment.NewLine}" + var replaceContent = $"<None Remove=\"{CliConsts.AppSettingsSecretJsonFileName}\" />{Environment.NewLine}" +
$" <Content Include=\"{FileName}\">{Environment.NewLine}" + $" <Content Include=\"{CliConsts.AppSettingsSecretJsonFileName}\">{Environment.NewLine}" +
$" <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>{Environment.NewLine}" + $" <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>{Environment.NewLine}" +
$" <CopyToOutputDirectory>Always</CopyToOutputDirectory>{Environment.NewLine}" + $" <CopyToOutputDirectory>Always</CopyToOutputDirectory>{Environment.NewLine}" +
" </Content>"; " </Content>";
return content.Replace(AppSettingsPlaceholder, replaceContent); return content.Replace(AppSettingsPlaceholder, replaceContent);
} }
} }

6
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 licenseCode = context.BuildArgs.ExtraProperties.GetOrDefault("license-code");
var appSettingsJsonFiles = context.Files.Where(f => var appSettingsJsonFiles = context.Files.Where(f =>
f.Name.EndsWith("appsettings.json", StringComparison.OrdinalIgnoreCase) || f.Name.EndsWith(CliConsts.AppSettingsJsonFileName, StringComparison.OrdinalIgnoreCase) ||
f.Name.EndsWith("appsettings.secrets.json", StringComparison.OrdinalIgnoreCase)); f.Name.EndsWith(CliConsts.AppSettingsSecretJsonFileName, StringComparison.OrdinalIgnoreCase));
foreach (var appSettingsJson in appSettingsJsonFiles) foreach (var appSettingsJson in appSettingsJsonFiles)
{ {
appSettingsJson.ReplaceText(@"<LICENSE_CODE/>", licenseCode); appSettingsJson.ReplaceText(CliConsts.LicenseCodePlaceHolder, licenseCode);
} }
} }
} }

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateInfo.cs

@ -33,6 +33,6 @@ public abstract class TemplateInfo
public bool IsPro() public bool IsPro()
{ {
return Name.EndsWith("pro", StringComparison.OrdinalIgnoreCase); return Name.EndsWith("-pro", StringComparison.OrdinalIgnoreCase);
} }
} }

5
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 TemplateCodeDeleteStep());
pipeline.Steps.Add(new SolutionRenameStep()); pipeline.Steps.Add(new SolutionRenameStep());
if (context.Template.Name == AppProTemplate.TemplateName || if (context.Template.IsPro())
context.Template.Name == MicroserviceProTemplate.TemplateName ||
context.Template.Name == MicroserviceServiceProTemplate.TemplateName ||
context.Template.Name == ModuleProTemplate.TemplateName)
{ {
pipeline.Steps.Add(new LicenseCodeReplaceStep()); // todo: move to custom steps? pipeline.Steps.Add(new LicenseCodeReplaceStep()); // todo: move to custom steps?
} }

Loading…
Cancel
Save