Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
                }
            }
        }