mirror of https://github.com/abpframework/abp.git
committed by
GitHub
6 changed files with 172 additions and 12 deletions
@ -0,0 +1,13 @@ |
|||
using System; |
|||
using System.Linq; |
|||
|
|||
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
|||
|
|||
public class AppNoLayersMigrateDatabaseChangeStep : ProjectBuildPipelineStep |
|||
{ |
|||
public override void Execute(ProjectBuildContext context) |
|||
{ |
|||
var file = context.Files.FirstOrDefault(file => file.Name.EndsWith("/migrate-database.ps1")); |
|||
file?.SetContent(file.Content.Replace("MyCompanyName.MyProjectName", "MyCompanyName.MyProjectName.Host")); |
|||
} |
|||
} |
|||
@ -0,0 +1,57 @@ |
|||
using System; |
|||
using System.Linq; |
|||
|
|||
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
|||
|
|||
public class AppNoLayersMoveProjectsStep : ProjectBuildPipelineStep |
|||
{ |
|||
public override void Execute(ProjectBuildContext context) |
|||
{ |
|||
MoveFiles(context, "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client", |
|||
"/aspnet-core/MyCompanyName.MyProjectName.Blazor"); |
|||
MoveFiles(context, "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server", |
|||
"/aspnet-core/MyCompanyName.MyProjectName.Host"); |
|||
MoveFiles(context, "/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Shared", |
|||
"/aspnet-core/MyCompanyName.MyProjectName.Contracts"); |
|||
|
|||
ModifySolutionFile(context, "MyCompanyName.MyProjectName.Blazor.WebAssembly\\Client\\MyCompanyName.MyProjectName.Blazor.csproj", |
|||
"MyCompanyName.MyProjectName.Blazor\\MyCompanyName.MyProjectName.Blazor.csproj"); |
|||
ModifySolutionFile(context, "MyCompanyName.MyProjectName.Blazor.WebAssembly\\Server\\MyCompanyName.MyProjectName.Host.csproj", |
|||
"MyCompanyName.MyProjectName.Host\\MyCompanyName.MyProjectName.Host.csproj"); |
|||
ModifySolutionFile(context, "MyCompanyName.MyProjectName.Blazor.WebAssembly\\Server.Mongo\\MyCompanyName.MyProjectName.Host.csproj", |
|||
"MyCompanyName.MyProjectName.Host\\MyCompanyName.MyProjectName.Host.csproj"); |
|||
ModifySolutionFile(context, "MyCompanyName.MyProjectName.Blazor.WebAssembly\\Shared\\MyCompanyName.MyProjectName.Contracts.csproj", |
|||
"MyCompanyName.MyProjectName.Contracts\\MyCompanyName.MyProjectName.Contracts.csproj"); |
|||
|
|||
ModifyProjectFiles(context, "..\\Shared\\MyCompanyName.MyProjectName.Blazor.WebAssembly.Shared.csproj", |
|||
"..\\MyCompanyName.MyProjectName.Contracts\\MyCompanyName.MyProjectName.Contracts.csproj"); |
|||
|
|||
ModifyProjectFiles(context, "..\\Client\\MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj", |
|||
"..\\MyCompanyName.MyProjectName.Blazor\\MyCompanyName.MyProjectName.Blazor.csproj"); |
|||
} |
|||
|
|||
public void MoveFiles(ProjectBuildContext context, string projectFolder, string newProjectFolder) |
|||
{ |
|||
var fileEntries = context.Files.Where(file => file.Name.StartsWith(projectFolder)); |
|||
foreach (var fileEntry in fileEntries) |
|||
{ |
|||
fileEntry.SetName(fileEntry.Name.ReplaceFirst(projectFolder, newProjectFolder)); |
|||
} |
|||
} |
|||
|
|||
public void ModifySolutionFile(ProjectBuildContext context, string pathInSlnFile, string newPathInSlnFile) |
|||
{ |
|||
var slnFile = context.Files.First(file => file.Name.EndsWith(".sln")); |
|||
slnFile.SetContent(slnFile.Content.Replace($"\"{pathInSlnFile}\"", $"\"{newPathInSlnFile}\"")); |
|||
} |
|||
|
|||
public void ModifyProjectFiles(ProjectBuildContext context, string oldContent, string newContent) |
|||
{ |
|||
var projectFiles = context.Files.Where(file => file.Name.EndsWith(".csproj")); |
|||
|
|||
foreach (var projectFile in projectFiles) |
|||
{ |
|||
projectFile.SetContent(projectFile.Content.Replace(oldContent, newContent)); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue