public static async Task UpdateAllBundlesAsync(bool isBuild = false) { foreach (Project project in ProjectHelpers.GetAllProjects()) { if (project.ProjectItems.Count == 0) { continue; } string folder = ProjectHelpers.GetRootFolder(project); if (string.IsNullOrEmpty(folder)) { continue; } BundleFilesMenu menu = new BundleFilesMenu(); foreach (string file in Directory.EnumerateFiles(folder, "*" + _ext, SearchOption.AllDirectories)) { if (ProjectHelpers.GetProjectItem(file) == null) { continue; } await menu.UpdateBundleAsync(file, isBuild); } } }
private async void SolutionEvents_Opened() { foreach (Project project in ProjectHelpers.GetAllProjects()) { if (project.ProjectItems.Count == 0) { continue; } string folder = ProjectHelpers.GetRootFolder(project); Func <string, bool, Task> bundleFunc = new BundleFilesMenu().UpdateBundleAsync; Func <string, bool, Task> spriteFunc = new SpriteImageMenu().UpdateSpriteAsync; foreach (string file in Directory.EnumerateFiles(folder, "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".bundle") || s.EndsWith(".sprite"))) { if (ProjectHelpers.GetProjectItem(file) == null) { continue; } if (file.EndsWith(".bundle", StringComparison.OrdinalIgnoreCase)) { await BundleGenerator.WatchFiles(await BundleDocument.FromFile(file), bundleFunc); } else { await SpriteGenerator.WatchFiles(await SpriteDocument.FromFile(file), spriteFunc); } } } }
private void SolutionBeforeQueryStatus(object sender, EventArgs e) { OleMenuCommand menuCommand = sender as OleMenuCommand; bool settingsExist = SettingsStore.SolutionSettingsExist; var projects = ProjectHelpers.GetAllProjects(); menuCommand.Enabled = projects.Any() && !settingsExist; }
public static void UpdateBundles(string changedFile, bool isBuild) { if (!string.IsNullOrEmpty(changedFile)) { UpdateBundle(changedFile, isBuild); return; } foreach (Project project in ProjectHelpers.GetAllProjects()) { if (project.ProjectItems.Count > 0) { string folder = ProjectHelpers.GetRootFolder(project); UpdateBundle(folder, isBuild); } } }
public async static Threading.Task UpdateBundles(string changedFile, bool isBuild) { if (!string.IsNullOrEmpty(changedFile)) { await UpdateBundle(changedFile, isBuild); return; } foreach (Project project in ProjectHelpers.GetAllProjects()) { if (project.ProjectItems.Count == 0) { continue; } string folder = ProjectHelpers.GetRootFolder(project); await UpdateBundle(folder, isBuild); } }
private async Task Minify() { _dte.StatusBar.Text = "Web Essentials: Minifying files..."; var extensions = new HashSet <string>( Mef.GetSupportedExtensions <IFileMinifier>(), StringComparer.OrdinalIgnoreCase ); var files = ProjectHelpers.GetAllProjects() .Select(ProjectHelpers.GetRootFolder) .SelectMany(p => Directory.EnumerateFiles(p, "*", SearchOption.AllDirectories)) .Where(f => extensions.Contains(Path.GetExtension(f))); await Task.WhenAll(files.AsParallel().Select(async file => await MinificationSaveListener.ReMinify( FileExtensionRegistry.GetContentTypeForExtension(Path.GetExtension(file).TrimStart('.')), file, false ))); WebEssentialsPackage.DTE.StatusBar.Clear(); }
private void Minify() { _dte.StatusBar.Text = "Web Essentials: Minifying files..."; var extensions = new HashSet <string>( Mef.GetSupportedExtensions <IFileMinifier>(), StringComparer.OrdinalIgnoreCase ); var files = ProjectHelpers.GetAllProjects() .Select(ProjectHelpers.GetRootFolder) .SelectMany(p => Directory.EnumerateFiles(p, "*", SearchOption.AllDirectories)) .Where(f => extensions.Contains(Path.GetExtension(f))); // Perform expensive blocking work in parallel Parallel.ForEach(files, file => MinificationSaveListener.ReMinify( ContentTypeManager.GetContentType(Path.GetExtension(file).TrimStart('.')), file, false ) ); EditorExtensionsPackage.DTE.StatusBar.Clear(); }