Merge pull request #8523 from abpframework/auto-merge/rel-4-3/275

Merge branch dev with rel-4.3
pull/8551/head^2
Yunus Emre Kalkan 5 years ago committed by GitHub
commit c58f3a2d14
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,35 @@
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps
{
public class RemoveDependencyFromPackageJsonFileStep : ProjectBuildPipelineStep
{
private readonly string _packageJsonFilePath;
private readonly string _packageName;
public RemoveDependencyFromPackageJsonFileStep(string packageJsonFilePath, string packageName)
{
_packageJsonFilePath = packageJsonFilePath;
_packageName = packageName;
}
public override void Execute(ProjectBuildContext context)
{
var packageJsonFile = context.Files.FirstOrDefault(f => f.Name == _packageJsonFilePath);
if (packageJsonFile == null)
{
return;
}
var packageJsonObject = JObject.Parse(packageJsonFile.Content);
var dependenciesObject = (JObject) packageJsonObject["dependencies"];
dependenciesObject?.Remove(_packageName);
packageJsonFile.SetContent(packageJsonObject.ToString(Formatting.Indented));
}
}
}

@ -173,6 +173,37 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates.App
{
context.Symbols.Add("CMS-KIT");
}
else
{
RemoveCmsKitDependenciesFromPackageJsonFiles(steps);
}
}
private static void RemoveCmsKitDependenciesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps)
{
var adminCmsPackageInstalledProjectsPackageJsonFiles = new List<string>
{
"/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json"
};
var publicCmsPackageInstalledProjectsPackageJsonFiles = new List<string>
{
"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Public/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Public.Host/package.json"
};
foreach (var packageJsonFile in adminCmsPackageInstalledProjectsPackageJsonFiles)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFile, "@volo/cms-kit-pro.admin"));
}
foreach (var packageJsonFile in publicCmsPackageInstalledProjectsPackageJsonFiles)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFile, "@volo/cms-kit-pro.public"));
}
}
private bool IsCmsKitSupportedForTargetVersion(ProjectBuildContext context)

Loading…
Cancel
Save