protected virtual List <BundleContributor> GetContributors(BundleConfigurationCollection bundles, string bundleName) { var contributors = new List <BundleContributor>(); AddContributorsWithBaseBundles(contributors, bundles, bundleName); return(contributors); }
protected virtual List <BundleContributor> GetContributors(BundleConfigurationCollection bundles, string bundleName) { var contributors = new List <BundleContributor>(); AddContributorsWithBaseBundles(contributors, bundles, bundleName); for (var i = 0; i < contributors.Count; ++i) { var extensions = ContributorOptions.Extensions(contributors[i].GetType()).GetAll(); if (extensions.Count > 0) { contributors.InsertRange(i + 1, extensions); i += extensions.Count; } } return(contributors); }
protected virtual IReadOnlyList <string> GetBundleFiles(BundleConfigurationCollection bundles, string bundleName, IBundler bundler) { var contributors = GetContributors(bundles, bundleName); var bundleFiles = RequestResources.TryAdd(GetBundleFiles(contributors)); var dynamicResources = RequestResources.TryAdd(GetDynamicResources(contributors)); if (!IsBundlingEnabled()) { return(bundleFiles.Union(dynamicResources).ToImmutableList()); } var bundleRelativePath = Options.BundleFolderName.EnsureEndsWith('/') + bundleName + "." + bundleFiles.JoinAsString("|").ToMd5() + "." + bundler.FileExtension; var cacheItem = BundleCache.GetOrAdd(bundleRelativePath, () => { var cacheValue = new BundleCacheItem( new List <string> { "/" + bundleRelativePath } ); WatchChanges(cacheValue, bundleFiles, bundleRelativePath); var bundleResult = bundler.Bundle( new BundlerContext( bundleRelativePath, bundleFiles, IsMinficationEnabled() ) ); SaveBundleResult(bundleRelativePath, bundleResult); return(cacheValue); }); return(cacheItem.Files.Union(dynamicResources).ToImmutableList()); }
protected virtual void AddContributorsWithBaseBundles(List <BundleContributor> contributors, BundleConfigurationCollection bundles, string bundleName) { var bundleConfiguration = bundles.Get(bundleName); foreach (var baseBundleName in bundleConfiguration.BaseBundles) { AddContributorsWithBaseBundles(contributors, bundles, baseBundleName); //Recursive call } var selfContributors = bundleConfiguration.Contributors.GetAll(); if (selfContributors.Any()) { contributors.AddRange(selfContributors); } }
public AbpBundlingOptions() { StyleBundles = new BundleConfigurationCollection(); ScriptBundles = new BundleConfigurationCollection(); MinificationIgnoredFiles = new HashSet <string>(); }