private async Task RemoveProjectByTarget(ModuleWithMastersInfo module, string moduleSolutionFile, NuGetPackageTarget target, bool isTieredProject) { var packages = module.NugetPackages.Where(n => (isTieredProject && n.TieredTarget != NuGetPackageTarget.Undefined ? n.TieredTarget : n.Target) == target ).ToList(); foreach (var package in packages) { if (target == NuGetPackageTarget.Web && package.Name.StartsWith("Volo.Abp.Account")) { continue; } await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, package.Name); var projectPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), "src", package.Name); if (Directory.Exists(projectPath)) { Directory.Delete(projectPath, true); } } }
private async Task RemoveProjectFromSolutionAsync(string moduleSolutionFile, string projectName) { await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, projectName); var projectFolderPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), "src", projectName); if (Directory.Exists(projectFolderPath)) { Directory.Delete(projectFolderPath, true); } }
private async Task RemoveProjectByPostFix(ModuleWithMastersInfo module, string moduleSolutionFile, string targetFolder, string postFix) { var srcPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), targetFolder); var projectFolderPath = Directory.GetDirectories(srcPath).FirstOrDefault(d => d.EndsWith(postFix)); await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, Path.GetDirectoryName(projectFolderPath)); if (Directory.Exists(projectFolderPath)) { Directory.Delete(projectFolderPath, true); } }
private async Task DeleteRedundantHostProjects(string targetModuleFolder, string folderName) { var moduleSolutionFile = Directory.GetFiles(targetModuleFolder, "*.sln", SearchOption.TopDirectoryOnly).First(); var folder = Path.Combine(targetModuleFolder, folderName); if (Directory.Exists(folder)) { var projects = Directory.GetDirectories(folder); foreach (var project in projects) { await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, new DirectoryInfo(project).Name); } Directory.Delete(folder, true); } }
private async Task RemoveProjectByPostFix(ModuleWithMastersInfo module, string moduleSolutionFile, string targetFolder, string postFix) { var srcPath = Path.Combine(Path.GetDirectoryName(moduleSolutionFile), targetFolder); if (!Directory.Exists(srcPath)) { return; } var projectFolderPaths = Directory.GetDirectories(srcPath).Where(d => d.EndsWith(postFix)).ToList(); foreach (var projectFolderPath in projectFolderPaths) { await SolutionFileModifier.RemoveProjectFromSolutionFileAsync(moduleSolutionFile, new DirectoryInfo(projectFolderPath).Name); if (Directory.Exists(projectFolderPath)) { Directory.Delete(projectFolderPath, true); } } }