/// <summary>Adds an end result file from a result file.</summary> /// <param name="contentItem">The result file.</param> /// <param name="id">The category.</param> /// <param name="isEndResult">If the result is an endresult.</param> public void AddResult(ContentItem contentItem, string id, bool isEndResult) { this.isUnsaved = true; Safe.Lock( this.cacheResults, Safe.MaxLockTimeout, () => this.cacheResults.Add(CacheResult.FromContentFile(this.context, this.cacheCategory, isEndResult, id, contentItem))); }
private static bool HasCachedEndResultThatChanged(IWebGreaseContext context, CacheResult r) { if (r == null) { return(true); } var absoluteEndResultPath = Path.Combine(context.Configuration.DestinationDirectory, r.RelativeHashedContentPath ?? r.RelativeContentPath); return(!File.Exists(absoluteEndResultPath) || !r.ContentHash.Equals(context.GetFileHash(absoluteEndResultPath))); }
/// <summary>Creates a content item from a cache result.</summary> /// <param name="cacheResult">The cache result.</param> /// <param name="relativeContentPath">The relative Content Path.</param> /// <param name="relativeHashedContentPath">The relative Hashed Content Path.</param> /// <param name="resourcePivotKeys">The resource Pivot Keys.</param> /// <returns>The <see cref="ContentItem"/>.</returns> public static ContentItem FromCacheResult(CacheResult cacheResult, string relativeContentPath = null, string relativeHashedContentPath = null, params ResourcePivotKey[] resourcePivotKeys) { return(new ContentItem { ContentItemType = ContentItemType.Path, AbsoluteContentPath = cacheResult.CachedFilePath, RelativeContentPath = relativeContentPath ?? cacheResult.RelativeContentPath, RelativeHashedContentPath = relativeHashedContentPath ?? cacheResult.RelativeHashedContentPath, ResourcePivotKeys = resourcePivotKeys, }); }