private static void PreProcess(ref CleanupCodeSettings toolSettings) { var installedPlugins = GetInstalledPlugins(); if (installedPlugins.Count == 0 && toolSettings.Extensions.Count == 0) { return; } var shadowDirectory = GetShadowDirectory(installedPlugins); FileSystemTasks.CopyDirectoryRecursively( Path.GetDirectoryName(toolSettings.ToolPath).NotNull(), shadowDirectory, DirectoryExistsPolicy.Merge, FileExistsPolicy.OverwriteIfNewer ); installedPlugins.Select(x => x.FileName) .ForEach(x => File.Copy(x, Path.Combine(shadowDirectory, Path.GetFileName(x).NotNull()), true)); toolSettings.Extensions.ForEach( x => HttpTasks.HttpDownloadFile( $"https://resharper-plugins.jetbrains.com/api/v2/package/{x}", Path.Combine(shadowDirectory, $"{x}.nupkg") ) ); }
private static IProcess StartProcess(CleanupCodeSettings toolSettings) { var installedPackages = GetInstalledPlugins(); if (toolSettings.Extensions.Count > 0 || installedPackages.Count > 0) { toolSettings = toolSettings.SetToolPath( Path.Combine( GetShadowDirectory(installedPackages), GetPackageExecutable() ) ); } return(ProcessTasks.StartProcess(toolSettings)); }