mirror of https://github.com/abpframework/abp.git
3 changed files with 71 additions and 64 deletions
@ -0,0 +1,63 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using Volo.Abp.Cli.ProjectBuilding.Files; |
|||
|
|||
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
|||
|
|||
public class SolutionRenamer |
|||
{ |
|||
private readonly List<FileEntry> _entries; |
|||
private readonly string _companyNamePlaceHolder; |
|||
private readonly string _projectNamePlaceHolder; |
|||
|
|||
private readonly string _companyName; |
|||
private readonly string _projectName; |
|||
|
|||
public SolutionRenamer(List<FileEntry> entries, string companyNamePlaceHolder, string projectNamePlaceHolder, string companyName, string projectName) |
|||
{ |
|||
if (string.IsNullOrWhiteSpace(companyName)) |
|||
{ |
|||
companyName = null; |
|||
} |
|||
|
|||
if (companyNamePlaceHolder == null && companyName != null) |
|||
{ |
|||
throw new UserFriendlyException($"Can not set {nameof(companyName)} if {nameof(companyNamePlaceHolder)} is null."); |
|||
} |
|||
|
|||
_entries = entries; |
|||
|
|||
_companyNamePlaceHolder = companyNamePlaceHolder; |
|||
_projectNamePlaceHolder = projectNamePlaceHolder ?? throw new ArgumentNullException(nameof(projectNamePlaceHolder)); |
|||
|
|||
_companyName = companyName; |
|||
_projectName = projectName ?? throw new ArgumentNullException(nameof(projectName)); |
|||
} |
|||
|
|||
public void Run() |
|||
{ |
|||
if (_companyNamePlaceHolder != null) |
|||
{ |
|||
if (_companyName != null) |
|||
{ |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder, _companyName); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToCamelCase(), _companyName.ToCamelCase()); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToKebabCase(), _companyName.ToKebabCase()); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToLowerInvariant(), _companyName.ToLowerInvariant()); |
|||
} |
|||
else |
|||
{ |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder + "." + _projectNamePlaceHolder, _projectNamePlaceHolder); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToCamelCase() + "." + _projectNamePlaceHolder.ToCamelCase(), _projectNamePlaceHolder.ToCamelCase()); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToLowerInvariant() + "." + _projectNamePlaceHolder.ToLowerInvariant(), _projectNamePlaceHolder.ToLowerInvariant()); |
|||
RenameHelper.RenameAll(_entries, _companyNamePlaceHolder.ToKebabCase() + "/" + _projectNamePlaceHolder.ToKebabCase(), _projectNamePlaceHolder.ToKebabCase()); |
|||
} |
|||
} |
|||
|
|||
RenameHelper.RenameAll(_entries, _projectNamePlaceHolder, _projectName); |
|||
RenameHelper.RenameAll(_entries, _projectNamePlaceHolder.ToCamelCase(), _projectName.ToCamelCase()); |
|||
RenameHelper.RenameAll(_entries, _projectNamePlaceHolder.ToKebabCase(), _projectName.ToKebabCase()); |
|||
RenameHelper.RenameAll(_entries, _projectNamePlaceHolder.ToLowerInvariant(), _projectName.ToLowerInvariant()); |
|||
RenameHelper.RenameAll(_entries, _projectNamePlaceHolder.ToSnakeCase().ToUpper(), _projectName.ToSnakeCase().ToUpper()); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue