private bool PortExistsForAnotherService(ProjectBuildContext context, string newPort) { return(ReadTyeFileContent(context).SplitToLines().Any(l => l.Contains("port") && l.Contains(newPort))); }
public async Task <ProjectBuildResult> BuildAsync(ProjectBuildArgs args) { var packageInfo = await GetPackageInfoAsync(args); var templateFile = await SourceCodeStore.GetAsync( args.TemplateName, SourceCodeTypes.NugetPackage, args.Version, null, args.ExtraProperties.ContainsKey(GetSourceCommand.Options.Preview.Long) ); var apiKeyResult = await ApiKeyService.GetApiKeyOrNullAsync(); if (apiKeyResult?.ApiKey != null) { args.ExtraProperties["api-key"] = apiKeyResult.ApiKey; } if (apiKeyResult?.LicenseCode != null) { args.ExtraProperties["license-code"] = apiKeyResult.LicenseCode; } var context = new ProjectBuildContext( null, null, packageInfo, null, templateFile, args ); NugetPackageProjectBuildPipelineBuilder.Build(context).Execute(); // Exclude unwanted or known options. var options = args.ExtraProperties .Where(x => !x.Key.Equals(CliConsts.Command, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.OutputFolder.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.OutputFolder.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Version.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.Version.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.TemplateSource.Short, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.TemplateSource.Long, StringComparison.InvariantCultureIgnoreCase)) .Select(x => x.Key).ToList(); await CliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto { Tool = Options.ToolName, Command = args.ExtraProperties.ContainsKey(CliConsts.Command) ? args.ExtraProperties[CliConsts.Command] : "", DatabaseProvider = null, IsTiered = null, UiFramework = null, Options = JsonSerializer.Serialize(options), ProjectName = null, TemplateName = args.TemplateName, TemplateVersion = templateFile.Version }); return(new ProjectBuildResult(context.Result.ZipContent, args.TemplateName)); }
private static void RandomizeStringEncryption(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { steps.Add(new RandomizeStringEncryptionStep()); }
public override void Execute(ProjectBuildContext context) { ChangeProjectReference(context); ChangeWebModuleUsage(context); ChangeConnectionString(context); }
private static void SetRandomPortForHostProject(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { steps.Add(new MicroserviceServiceRandomPortStep("44371")); }
public abstract void Execute(ProjectBuildContext context);
public override void Execute(ProjectBuildContext context) { context.Files = GetEntriesFromZipFile(context.TemplateFile.FileBytes); }
protected void DeleteUnrelatedProjects(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { switch (context.BuildArgs.UiFramework) { case UiFramework.None: ConfigureWithoutUi(context, steps); break; case UiFramework.Angular: ConfigureWithAngularUi(context, steps); break; case UiFramework.Blazor: ConfigureWithBlazorUi(context, steps); break; case UiFramework.BlazorServer: ConfigureWithBlazorServerUi(context, steps); break; case UiFramework.Mvc: case UiFramework.NotSpecified: ConfigureWithMvcUi(context, steps); break; } if (context.BuildArgs.UiFramework != UiFramework.Blazor && context.BuildArgs.UiFramework != UiFramework.BlazorServer) { steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor")); } if (context.BuildArgs.UiFramework != UiFramework.BlazorServer) { steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Tiered")); } if (context.BuildArgs.UiFramework != UiFramework.Angular) { steps.Add(new RemoveFolderStep("/angular")); } if (context.BuildArgs.MobileApp != MobileApp.ReactNative) { steps.Add(new RemoveFolderStep(MobileApp.ReactNative.GetFolderName().EnsureStartsWith('/'))); } if (!context.BuildArgs.PublicWebSite) { steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web.Public")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web.Public.Host")); } else { if (context.BuildArgs.ExtraProperties.ContainsKey(NewCommand.Options.Tiered.Long) || context.BuildArgs.ExtraProperties.ContainsKey("separate-identity-server")) { steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web.Public")); } else { steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web.Public.Host")); } } }
public override void Execute(ProjectBuildContext context) { context.Files.FirstOrDefault(f => f.Name.EndsWith("MyCompanyName.MyProjectName.Domain.Shared.csproj"))?.RemoveTemplateCodeIf("CMS-KIT"); context.Files.FirstOrDefault(f => f.Name.EndsWith("MyProjectNameDomainSharedModule.cs"))?.RemoveTemplateCodeIf("CMS-KIT"); }
public override void Execute(ProjectBuildContext context) { context .GetFile("/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/appsettings.json") .ReplaceText("44305", IdentityServerPort); }
public override void Execute(ProjectBuildContext context) { var launchSettings = context.Files.Where(x => !x.IsDirectory && x.Name.EndsWith("launchSettings.json", StringComparison.InvariantCultureIgnoreCase)) .ToList(); var appSettings = context.Files.Where(x => !x.IsDirectory && x.Name.EndsWith("appSettings.json", StringComparison.InvariantCultureIgnoreCase)) .ToList(); var angularEnvironments = context.Files.Where(x => !x.IsDirectory && (x.Name.EndsWith("environments/environment.ts", StringComparison.InvariantCultureIgnoreCase) || x.Name.EndsWith("environments/environment.hmr.ts", StringComparison.InvariantCultureIgnoreCase) || x.Name.EndsWith("environments/environment.prod.ts", StringComparison.InvariantCultureIgnoreCase)) ) .ToList(); var excludePorts = new List <string>(); excludePorts.AddRange(_buildInSslUrls.Select(GetUrlPort).ToList()); foreach (var buildInUrl in _buildInSslUrls) { var newPort = GetRandomPort(excludePorts); excludePorts.Add(newPort); var buildInUrlWithoutPort = GetUrlWithoutPort(buildInUrl); var buildInUrlPort = GetUrlPort(buildInUrl); foreach (var launchSetting in launchSettings) { launchSetting.NormalizeLineEndings(); var launchSettingLines = launchSetting.GetLines(); for (var i = 0; i < launchSettingLines.Length; i++) { if (launchSettingLines[i].Contains($"{buildInUrl}")) { launchSettingLines[i] = launchSettingLines[i].Replace($"{buildInUrl}", $"{buildInUrlWithoutPort}:{newPort}"); } if (launchSettingLines[i].Contains($"\"sslPort\": {buildInUrlPort}")) { launchSettingLines[i] = launchSettingLines[i] .Replace($"\"sslPort\": {buildInUrlPort}", $"\"sslPort\": {newPort}"); } } launchSetting.SetLines(launchSettingLines); foreach (var appSetting in appSettings) { appSetting.NormalizeLineEndings(); var appSettingLines = appSetting.GetLines(); for (var i = 0; i < appSettingLines.Length; i++) { if (appSettingLines[i].Contains(buildInUrl)) { appSettingLines[i] = appSettingLines[i].Replace(buildInUrl, $"{buildInUrlWithoutPort}:{newPort}"); } } appSetting.SetLines(appSettingLines); } foreach (var environment in angularEnvironments) { environment.NormalizeLineEndings(); var environmentLines = environment.GetLines(); for (var i = 0; i < environmentLines.Length; i++) { if (environmentLines[i].Contains(buildInUrl)) { environmentLines[i] = environmentLines[i].Replace(buildInUrl, $"{buildInUrlWithoutPort}:{newPort}"); } } environment.SetLines(environmentLines); } } } }
public override void Execute(ProjectBuildContext context) { RenameHelper.RenameAll(context.Files, _oldProjectName, _newProjectName); }
public override void Execute(ProjectBuildContext context) { //MyCompanyName.MyProjectName.Web ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/appsettings.json" ); //MyCompanyName.MyProjectName.AuthServer ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/appsettings.json" ); //MyCompanyName.MyProjectName.HttpApi.Host ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/appsettings.json" ); //MyCompanyName.MyProjectName.Blazor.Server ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/appsettings.json" ); //MyCompanyName.MyProjectName.HttpApi.HostWithIds ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/appsettings.json" ); //MyCompanyName.MyProjectName.DbMigrator ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyProjectNameDbMigratorModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/appsettings.json" ); //MyCompanyName.MyProjectName.Domain.Tests ChangeProjectReference( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj", "EntityFrameworkCore.Tests", "MongoDB.Tests" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainTestModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreTestModule", "MyProjectNameMongoDbTestModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); //MyCompanyName.MyProjectName.Application.Tests ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyProjectNameApplicationCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); //MyCompanyName.MyProjectName.Web.Tests ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyProjectNameWebCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); // TODO: remove this method after published 6.0.0 ProvideIdentityServerBackwardCompatibility(context); if (context.BuildArgs.PublicWebSite) { ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Public/MyCompanyName.MyProjectName.Web.Public.csproj", _hasDbMigrations ? "EntityFrameworkCore.DbMigrations" : "EntityFrameworkCore", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Public/MyProjectNameWebPublicModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", _hasDbMigrations ? "MyProjectNameEntityFrameworkCoreDbMigrationsModule" : "MyProjectNameEntityFrameworkCoreModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Public/appsettings.json" ); } }
public override void Execute(ProjectBuildContext context) { RemoveUnnecessaryDbMigratorClients(context); RemoveUnnecessaryHttpApiHostPorts(context); }
public override IEnumerable <ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context) { var steps = new List <ProjectBuildPipelineStep>(); switch (context.BuildArgs.DatabaseProvider) { case DatabaseProvider.NotSpecified: case DatabaseProvider.EntityFrameworkCore: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc.Mongo")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Host.Mongo")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Mongo")); break; case DatabaseProvider.MongoDb: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Host")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Mvc.Mongo", "MyCompanyName.MyProjectName.Mvc")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Host.Mongo", "MyCompanyName.MyProjectName.Host")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Blazor.Server.Mongo", "MyCompanyName.MyProjectName.Blazor.Server")); break; } if (context.BuildArgs.DatabaseManagementSystem == DatabaseManagementSystem.PostgreSQL) { context.Symbols.Add("dbms:PostgreSQL"); } switch (context.BuildArgs.UiFramework) { case UiFramework.Angular: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Host", "MyCompanyName.MyProjectName")); break; case UiFramework.None: steps.Add(new RemoveFolderStep("/angular")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Host", "MyCompanyName.MyProjectName")); break; case UiFramework.BlazorServer: steps.Add(new RemoveFolderStep("/angular")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Host")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Blazor.Server", "MyCompanyName.MyProjectName")); break; case UiFramework.NotSpecified: case UiFramework.Mvc: steps.Add(new RemoveFolderStep("/angular")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Host")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new ProjectRenameStep("MyCompanyName.MyProjectName.Mvc", "MyCompanyName.MyProjectName")); break; case UiFramework.Blazor: throw new AbpException("app-nolayers doesn't support blazor wasm."); break; } //ConfigureTenantSchema(context, steps); //SwitchDatabaseProvider(context, steps); //DeleteUnrelatedProjects(context, steps); steps.Add(new RemoveFolderStep("/aspnet-core/MyCompanyName.MyProjectName/Migrations")); //RemoveMigrations(context, steps); //ConfigureTieredArchitecture(context, steps); //ConfigurePublicWebSite(context, steps); //RemoveUnnecessaryPorts(context, steps); RandomizeSslPorts(context, steps); RandomizeStringEncryption(context, steps); UpdateNuGetConfig(context, steps); ChangeConnectionString(context, steps); //CleanupFolderHierarchy(context, steps); if (context.BuildArgs.UiFramework != UiFramework.Angular) { steps.Add(new MoveFolderStep("/aspnet-core/", "/")); } return(steps); }
public async Task <ProjectBuildResult> BuildAsync(ProjectBuildArgs args) { var templateInfo = GetTemplateInfo(args); NormalizeArgs(args, templateInfo); var templateFile = await SourceCodeStore.GetAsync( args.TemplateName, SourceCodeTypes.Template, args.Version, args.TemplateSource ); var apiKeyResult = await ApiKeyService.GetApiKeyOrNullAsync(); if (apiKeyResult?.ApiKey != null) { args.ExtraProperties["api-key"] = apiKeyResult.ApiKey; } if (apiKeyResult?.LicenseCode != null) { args.ExtraProperties["license-code"] = apiKeyResult.LicenseCode; } var context = new ProjectBuildContext( templateInfo, null, templateFile, args ); TemplateProjectBuildPipelineBuilder.Build(context).Execute(); if (!templateInfo.DocumentUrl.IsNullOrEmpty()) { Logger.LogInformation("Check out the documents at " + templateInfo.DocumentUrl); } // Exclude unwanted or known options. var options = args.ExtraProperties .Where(x => !x.Key.Equals(CliConsts.Command, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals("tiered", StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.DatabaseProvider.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.DatabaseProvider.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.OutputFolder.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.OutputFolder.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.UiFramework.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.UiFramework.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Mobile.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.Mobile.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Version.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.Version.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.TemplateSource.Short, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.TemplateSource.Long, StringComparison.InvariantCultureIgnoreCase)) .Select(x => x.Key).ToList(); await CliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto { Tool = Options.ToolName, Command = args.ExtraProperties.ContainsKey(CliConsts.Command) ? args.ExtraProperties[CliConsts.Command] : "", DatabaseProvider = args.DatabaseProvider.ToProviderName(), IsTiered = args.ExtraProperties.ContainsKey("tiered"), UiFramework = args.UiFramework.ToFrameworkName(), Options = JsonSerializer.Serialize(options), ProjectName = args.SolutionName.FullName, TemplateName = args.TemplateName, TemplateVersion = templateFile.Version }); return(new ProjectBuildResult(context.Result.ZipContent, args.SolutionName.ProjectName)); }
public override void Execute(ProjectBuildContext context) { context.Result.ZipContent = CreateZipFileFromEntries(context.Files); }
public override void Execute(ProjectBuildContext context) { //MyCompanyName.MyProjectName.Web ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/appsettings.json" ); //MyCompanyName.MyProjectName.IdentityServer ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyProjectNameIdentityServerModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/appsettings.json" ); //MyCompanyName.MyProjectName.HttpApi.Host ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/appsettings.json" ); //MyCompanyName.MyProjectName.Blazor.Server ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/appsettings.json" ); //MyCompanyName.MyProjectName.HttpApi.HostWithIds ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/appsettings.json" ); //MyCompanyName.MyProjectName.DbMigrator ChangeProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyProjectNameDbMigratorModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/appsettings.json" ); //MyCompanyName.MyProjectName.Domain.Tests ChangeProjectReference( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj", "EntityFrameworkCore.Tests", "MongoDB.Tests" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainTestModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreTestModule", "MyProjectNameMongoDbTestModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); //MyCompanyName.MyProjectName.Application.Tests ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Application.Tests/MyProjectNameApplicationCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); //MyCompanyName.MyProjectName.Web.Tests ChangeNamespaceAndKeyword( context, "/aspnet-core/test/MyCompanyName.MyProjectName.Web.Tests/MyProjectNameWebCollection.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDB", "MyProjectNameEntityFrameworkCoreCollectionFixtureBase", "MyProjectNameMongoDbCollectionFixtureBase" ); }
public override void Execute(ProjectBuildContext context) { context.Files.FirstOrDefault(f => f.Name.EndsWith("MyCompanyName.MyProjectName.Web.Public.csproj"))?.RemoveTemplateCodeIfNot("EFCORE"); context.Files.FirstOrDefault(f => f.Name.EndsWith("MyProjectNameWebPublicModule.cs"))?.RemoveTemplateCodeIfNot("EFCORE"); }
protected void ChangeToBasicTheme(ProjectBuildContext context) { #region MyCompanyName.MyProjectName.Web ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.HttpApi.Host ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.Blazor ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj", "Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXLiteTheme", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXLiteTheme", "Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme", "AbpAspNetCoreComponentsWebAssemblyLeptonXLiteThemeModule", "AbpAspNetCoreComponentsWebAssemblyBasicThemeModule" ); ChangeNamespace( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite", "Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic" ); #endregion #region MyCompanyName.MyProjectName.Blazor.Server ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.Server.BasicTheme\Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", "Volo.Abp.AspNetCore.Components.Server.BasicTheme", "AbpAspNetCoreComponentsServerLeptonXLiteThemeModule", "AbpAspNetCoreComponentsServerBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/_Host.cshtml", "Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite", "Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/Pages/_Host.cshtml", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "BlazorLeptonXLiteThemeBundles.Scripts.Global", "BlazorBasicThemeBundles.Scripts.Global" ); #endregion #region MyCompanyName.MyProjectName.Blazor.Server.Tiered ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.Server.BasicTheme\Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", "Volo.Abp.AspNetCore.Components.Server.BasicTheme", "AbpAspNetCoreComponentsServerLeptonXLiteThemeModule", "AbpAspNetCoreComponentsServerBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Pages/_Host.cshtml", "Volo.Abp.AspNetCore.Components.Web.LeptonXLiteTheme.Themes.LeptonXLite", "Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/Pages/_Host.cshtml", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "BlazorLeptonXLiteThemeBundles.Scripts.Global", "BlazorBasicThemeBundles.Scripts.Global" ); #endregion #region MyCompanyName.MyProjectName.AuthServer ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyCompanyName.MyProjectName.AuthServer.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.Web.Mvc ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc/MyCompanyName.MyProjectName.Web.Mvc.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.Web.Mvc.Mongo ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc.Mongo/MyCompanyName.MyProjectName.Web.Mvc.Mongo.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc.Mongo/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc.Mongo/MyProjectNameWebModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.Blazor.Server - (app-nolayers) ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", "Volo.Abp.AspNetCore.Components.Server.BasicTheme", "AbpAspNetCoreComponentsServerLeptonXLiteThemeModule", "AbpAspNetCoreComponentsServerBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); #endregion #region MyCompanyName.MyProjectName.Blazor.Server.Mongo ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); ReplacePackageReferenceWithProjectReference( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.Server.BasicTheme\Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme", "Volo.Abp.AspNetCore.Components.Server.BasicTheme", "AbpAspNetCoreComponentsServerLeptonXLiteThemeModule", "AbpAspNetCoreComponentsServerBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "AbpAspNetCoreMvcUiLeptonXLiteThemeModule", "AbpAspNetCoreMvcUiBasicThemeModule" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Components.Server.LeptonXLiteTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "LeptonXLiteThemeBundles.Styles.Global", "BasicThemeBundles.Styles.Global" ); ChangeNamespaceAndKeyword( context, "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "BlazorLeptonXLiteThemeBundles.Styles.Global", "BlazorBasicThemeBundles.Styles.Global" ); #endregion #region Angular ReplaceImportPackage( context, "/angular/src/app/app.module.ts", "@abp/ng.theme.lepton-x", "@abp/ng.theme.basic" ); RemoveLinesByStatement( context, "/angular/src/app/app.module.ts", "SideMenuLayoutModule" ); ReplaceMethodNames( context, "/angular/src/app/app.module.ts", "ThemeLeptonXModule", "ThemeBasicModule" ); #endregion }
public override void Execute(ProjectBuildContext context) { var projectFile = context.Files.FirstOrDefault(f => f.Name.EndsWith("MyCompanyName.MyProjectName.csproj")); projectFile?.SetContent(projectFile.Content.Replace("27317750-B571-4690-B433-B358B2480E01", Guid.NewGuid().ToString())); }
public override void Execute(ProjectBuildContext context) { //MyCompanyName.MyProjectName.Web ChangeProjectReference( context, "/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeModuleDependency( context, "/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDb", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/src/MyCompanyName.MyProjectName.Web/appsettings.json" ); //MyCompanyName.MyProjectName.IdentityServer ChangeProjectReference( context, "/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeModuleDependency( context, "/src/MyCompanyName.MyProjectName.IdentityServer/MyProjectNameIdentityServerModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDb", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/src/MyCompanyName.MyProjectName.IdentityServer/appsettings.json" ); //MyCompanyName.MyProjectName.HttpApi.Host ChangeProjectReference( context, "/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeModuleDependency( context, "/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDb", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/src/MyCompanyName.MyProjectName.HttpApi.Host/appsettings.json" ); //MyCompanyName.MyProjectName.DbMigrator ChangeProjectReference( context, "/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj", "EntityFrameworkCore.DbMigrations", "MongoDB" ); ChangeModuleDependency( context, "/src/MyCompanyName.MyProjectName.DbMigrator/MyProjectNameDbMigratorModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDb", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbModule" ); ChangeConnectionStringToMongoDb( context, "/src/MyCompanyName.MyProjectName.DbMigrator/appsettings.json" ); //MyCompanyName.MyProjectName.Domain.Tests ChangeProjectReference( context, "/test/MyCompanyName.MyProjectName.Domain.Tests/MyCompanyName.MyProjectName.Domain.Tests.csproj", "EntityFrameworkCore.Tests", "MongoDB.Tests" ); ChangeModuleDependency( context, "/test/MyCompanyName.MyProjectName.Domain.Tests/MyProjectNameDomainTestModule.cs", "MyCompanyName.MyProjectName.EntityFrameworkCore", "MyCompanyName.MyProjectName.MongoDb", "MyProjectNameEntityFrameworkCoreDbMigrationsModule", "MyProjectNameMongoDbTestModule" ); }
public virtual IEnumerable <ProjectBuildPipelineStep> GetCustomSteps(ProjectBuildContext context) { return(Array.Empty <ProjectBuildPipelineStep>()); }
public override void Execute(ProjectBuildContext context) { var launchSettings = context.Files.Where(x => !x.IsDirectory && x.Name.EndsWith("launchSettings.json", StringComparison.InvariantCultureIgnoreCase)) .ToList(); var appSettings = context.Files.Where(x => !x.IsDirectory && x.Name.EndsWith("appSettings.json", StringComparison.InvariantCultureIgnoreCase)) .ToList(); var angularEnvironments = context.Files.Where(x => !x.IsDirectory && (x.Name.EndsWith("environments/environment.ts", StringComparison.InvariantCultureIgnoreCase) || x.Name.EndsWith("environments/environment.hmr.ts", StringComparison.InvariantCultureIgnoreCase) || x.Name.EndsWith("environments/environment.prod.ts", StringComparison.InvariantCultureIgnoreCase)) ) .ToList(); var reactNativeEnvironments = context.Files.Where(x => !x.IsDirectory && x.Name.EndsWith($"{MobileApp.ReactNative.GetFolderName()}/Environment.js", StringComparison.InvariantCultureIgnoreCase) ) .ToList(); if (AppTemplateBase.IsAppTemplate(context.Template.Name)) { // no tiered if (launchSettings.Count == 1 && launchSettings.First().Name .Equals("/aspnet-core/src/MyCompanyName.MyProjectName.Web/Properties/launchSettings.json", StringComparison.InvariantCultureIgnoreCase)) { var dbMigrator = appSettings.FirstOrDefault(x => x.Name.Equals("/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/appsettings.json", StringComparison.InvariantCultureIgnoreCase)); dbMigrator?.SetContent(dbMigrator.Content.Replace("https://localhost:44302", "https://localhost:44303")); var web = appSettings.FirstOrDefault(x => x.Name.Equals("/aspnet-core/src/MyCompanyName.MyProjectName.Web/appsettings.json", StringComparison.InvariantCultureIgnoreCase)); web?.SetContent(web.Content.Replace("https://localhost:44301", "https://localhost:44303")); var consoleTestApp = appSettings.FirstOrDefault(x => x.Name.Equals("/aspnet-core/test/MyCompanyName.MyProjectName.HttpApi.Client.ConsoleTestApp/appsettings.json", StringComparison.InvariantCultureIgnoreCase)); consoleTestApp?.SetContent(consoleTestApp.Content.Replace("https://localhost:44300", "https://localhost:44303")); consoleTestApp?.SetContent(consoleTestApp.Content.Replace("https://localhost:44301", "https://localhost:44303")); } } var excludePorts = new List <string>(); excludePorts.AddRange(_buildInSslUrls.Select(GetUrlPort).ToList()); foreach (var buildInUrl in _buildInSslUrls) { var newPort = GetRandomPort(excludePorts); excludePorts.Add(newPort); var buildInUrlWithoutPort = GetUrlWithoutPort(buildInUrl); var buildInUrlPort = GetUrlPort(buildInUrl); foreach (var launchSetting in launchSettings) { launchSetting.NormalizeLineEndings(); var launchSettingLines = launchSetting.GetLines(); for (var i = 0; i < launchSettingLines.Length; i++) { if (launchSettingLines[i].Contains($"{buildInUrl}")) { launchSettingLines[i] = launchSettingLines[i].Replace($"{buildInUrl}", $"{buildInUrlWithoutPort}:{newPort}"); } if (launchSettingLines[i].Contains($"\"sslPort\": {buildInUrlPort}")) { launchSettingLines[i] = launchSettingLines[i] .Replace($"\"sslPort\": {buildInUrlPort}", $"\"sslPort\": {newPort}"); } } launchSetting.SetLines(launchSettingLines); foreach (var appSetting in appSettings) { appSetting.NormalizeLineEndings(); var appSettingLines = appSetting.GetLines(); for (var i = 0; i < appSettingLines.Length; i++) { if (appSettingLines[i].Contains(buildInUrl)) { appSettingLines[i] = appSettingLines[i].Replace(buildInUrl, $"{buildInUrlWithoutPort}:{newPort}"); } } appSetting.SetLines(appSettingLines); } foreach (var environment in angularEnvironments) { environment.NormalizeLineEndings(); var environmentLines = environment.GetLines(); for (var i = 0; i < environmentLines.Length; i++) { if (environmentLines[i].Contains(buildInUrl)) { environmentLines[i] = environmentLines[i].Replace(buildInUrl, $"{buildInUrlWithoutPort}:{newPort}"); } } environment.SetLines(environmentLines); } foreach (var environment in reactNativeEnvironments) { environment.NormalizeLineEndings(); var buildInUrlHttp = buildInUrl.Replace("https://", "http://"); var buildInUrlWithoutPortHttp = buildInUrlWithoutPort.Replace("https://", "http://"); var environmentLines = environment.GetLines(); for (var i = 0; i < environmentLines.Length; i++) { if (environmentLines[i].Contains(buildInUrlHttp)) { environmentLines[i] = environmentLines[i].Replace(buildInUrlHttp, $"{buildInUrlWithoutPortHttp}:{newPort}"); } } environment.SetLines(environmentLines); } } } }
public override void Execute(ProjectBuildContext context) { new ConfigureAwaitPropsReplacer(context.Files).Run(); }
public async Task <ProjectBuildResult> BuildAsync(ProjectBuildArgs args) { var templateInfo = await GetTemplateInfoAsync(args); NormalizeArgs(args, templateInfo); await EventBus.PublishAsync(new ProjectCreationProgressEvent { Message = "Fetching the solution template" }, false); var templateFile = await SourceCodeStore.GetAsync( args.TemplateName, SourceCodeTypes.Template, args.Version, args.TemplateSource, args.ExtraProperties.ContainsKey(NewCommand.Options.Preview.Long) ); DeveloperApiKeyResult apiKeyResult = null; #if DEBUG try { var apiKeyResultSection = _configuration.GetSection("apiKeyResult"); if (apiKeyResultSection.Exists()) { apiKeyResult = apiKeyResultSection.Get <DeveloperApiKeyResult>(); //you can use user secrets } } catch (Exception e) { Console.WriteLine(e); } if (apiKeyResult == null) { apiKeyResult = await ApiKeyService.GetApiKeyOrNullAsync(); } #else apiKeyResult = await ApiKeyService.GetApiKeyOrNullAsync(); #endif if (apiKeyResult != null) { if (apiKeyResult.ApiKey != null) { args.ExtraProperties["api-key"] = apiKeyResult.ApiKey; } else if (templateInfo.Name == AppProTemplate.TemplateName) { throw new UserFriendlyException(apiKeyResult.ErrorMessage); } } if (apiKeyResult?.LicenseCode != null) { args.ExtraProperties["license-code"] = apiKeyResult.LicenseCode; } var context = new ProjectBuildContext( templateInfo, null, null, null, templateFile, args ); if (context.Template is AppTemplateBase appTemplateBase) { appTemplateBase.HasDbMigrations = SemanticVersion.Parse(templateFile.Version) < new SemanticVersion(4, 3, 99); } await EventBus.PublishAsync(new ProjectCreationProgressEvent { Message = "Preparing the solution according to preferences" }, false); TemplateProjectBuildPipelineBuilder.Build(context).Execute(); if (!templateInfo.DocumentUrl.IsNullOrEmpty()) { Logger.LogInformation("Check out the documents at " + templateInfo.DocumentUrl); } // Exclude unwanted or known options. var options = args.ExtraProperties .Where(x => !x.Key.Equals(CliConsts.Command, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Tiered.Long, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Preview.Long, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.DatabaseProvider.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.DatabaseProvider.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.OutputFolder.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.OutputFolder.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.UiFramework.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.UiFramework.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Mobile.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.Mobile.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.Version.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.Version.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.TemplateSource.Short, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.TemplateSource.Long, StringComparison.InvariantCultureIgnoreCase)) .Select(x => x.Key).ToList(); await CliAnalyticsCollect.CollectAsync(new CliAnalyticsCollectInputDto { Tool = Options.ToolName, Command = args.ExtraProperties.ContainsKey(CliConsts.Command) ? args.ExtraProperties[CliConsts.Command] : "", DatabaseProvider = args.DatabaseProvider.ToProviderName(), IsTiered = args.ExtraProperties.ContainsKey(NewCommand.Options.Tiered.Long), UiFramework = args.UiFramework.ToFrameworkName(), Options = JsonSerializer.Serialize(options), ProjectName = args.SolutionName.FullName, TemplateName = args.TemplateName, TemplateVersion = templateFile.Version }); return(new ProjectBuildResult(context.Result.ZipContent, args.SolutionName.ProjectName)); }
private static void RemoveUnnecessaryPorts(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { steps.Add(new RemoveUnnecessaryPortsStep()); }
private void CleanupFolderHierarchy(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { steps.Add(new MoveFolderStep("/aspnet-core/", "/")); }
private static void UpdateNuGetConfig(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { steps.Add(new UpdateNuGetConfigStep("/aspnet-core/NuGet.Config")); }
private static void DeleteUnrelatedProjects(ProjectBuildContext context, List <ProjectBuildPipelineStep> steps) { //TODO: move common tasks to methods switch (context.BuildArgs.UiFramework) { case UiFramework.None: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null, "/apps/web/src/MyCompanyName.MyProjectName.Web")); steps.Add(new RemoveFolderStep("/apps/web")); steps.Add(new RemoveProjectFromTyeStep("web")); steps.Add(new RemoveProjectFromPrometheusStep("web")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor", "/services/product/MyCompanyName.MyProjectName.ProductService.sln", "/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveFolderStep("/apps/blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor-server")); steps.Add(new RemoveFolderStep("/apps/angular")); break; case UiFramework.Angular: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null, "/apps/web/src/MyCompanyName.MyProjectName.Web")); steps.Add(new RemoveFolderStep("/apps/web")); steps.Add(new RemoveProjectFromTyeStep("web")); steps.Add(new RemoveProjectFromPrometheusStep("web")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor", "/services/product/MyCompanyName.MyProjectName.ProductService.sln", "/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveFolderStep("/apps/blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor-server")); break; case UiFramework.Blazor: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null, "/apps/web/src/MyCompanyName.MyProjectName.Web")); steps.Add(new RemoveFolderStep("/apps/web")); steps.Add(new RemoveFolderStep("/apps/angular")); steps.Add(new RemoveProjectFromTyeStep("web")); steps.Add(new RemoveProjectFromPrometheusStep("web")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", "/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln", "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveProjectFromTyeStep("blazor-server")); break; case UiFramework.BlazorServer: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null, "/apps/web/src/MyCompanyName.MyProjectName.Web")); steps.Add(new RemoveFolderStep("/apps/web")); steps.Add(new RemoveFolderStep("/apps/angular")); steps.Add(new RemoveProjectFromTyeStep("web")); steps.Add(new RemoveProjectFromPrometheusStep("web")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", "/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln", "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor")); steps.Add(new TemplateProjectRenameStep("MyCompanyName.MyProjectName.Blazor.Server", "MyCompanyName.MyProjectName.Blazor")); steps.Add(new RenameProjectInTyeStep("blazor-server", "blazor")); break; case UiFramework.Mvc: case UiFramework.NotSpecified: steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null, "/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor", "/services/product/MyCompanyName.MyProjectName.ProductService.sln", "/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor")); steps.Add(new RemoveFolderStep("/apps/blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor")); steps.Add(new RemoveProjectFromTyeStep("blazor-server")); steps.Add(new RemoveFolderStep("/apps/angular")); break; } steps.Add(new RemoveFolderStep("/services/template")); }