51 instantiations of StaticWebAsset
Microsoft.NET.Sdk.StaticWebAssets.Tasks (4)
Compression\ResolveCompressedAssets.cs (2)
307result = new StaticWebAsset(previousAsset) 316result = new StaticWebAsset(asset)
Data\StaticWebAsset.cs (2)
494return new() 706var result = new StaticWebAsset
Microsoft.NET.Sdk.StaticWebAssets.Tests (47)
ComputeStaticWebAssetsTargetPathsTest.cs (1)
111var result = new StaticWebAsset()
StaticWebAssets\ApplyCompressionNegotiationTest.cs (1)
1451var result = new StaticWebAsset()
StaticWebAssets\ComputeEndpointsForReferenceStaticWebAssetsTest.cs (1)
105var result = new StaticWebAsset()
StaticWebAssets\ComputeReferenceStaticWebAssetItemsTest.cs (1)
347var result = new StaticWebAsset()
StaticWebAssets\ComputeStaticWebAssetsForCurrentProjectTest.cs (1)
286var result = new StaticWebAsset()
StaticWebAssets\DefineStaticWebAssetEndpointsTest.cs (1)
598var result = new StaticWebAsset()
StaticWebAssets\DiscoverPrecompressedAssetsTest.cs (2)
35var uncompressedCandidate = new StaticWebAsset 60var compressedCandidate = new StaticWebAsset
StaticWebAssets\DiscoverStaticWebAssetsTest.cs (4)
639var newAsset = new StaticWebAsset { Identity = newAssetItem.ItemSpec }; 668cache.CachedAssets["input2"] = new StaticWebAsset { Identity = cachedAsset.ItemSpec, RelativePath = "Input2.txt" }; 675cache.AppendAsset("input1", new StaticWebAsset { Identity = newAsset.ItemSpec, RelativePath = "Input1.txt" }, newAsset); 827cache.CachedAssets = cached.ToDictionary(c => c, c => new StaticWebAsset { Identity = c });
StaticWebAssets\FilterStaticWebAssetEndpointsTest.cs (1)
285var result = new StaticWebAsset()
StaticWebAssets\GenerateStaticWebAssetEndpointsManifestTest.cs (1)
463var result = new StaticWebAsset()
StaticWebAssets\GenerateStaticWebAssetEndpointsPropsFileTest.cs (1)
171var result = new StaticWebAsset()
StaticWebAssets\GenerateStaticWebAssetsDevelopmentManifestTest.cs (1)
730return new StaticWebAsset()
StaticWebAssets\GenerateStaticWebAssetsManifestTest.cs (1)
405var result = new StaticWebAsset()
StaticWebAssets\ResolveCompressedAssetsTest.cs (9)
40var asset = new StaticWebAsset() 87var uncompressedCandidate = new StaticWebAsset 112var compressedCandidate = new StaticWebAsset 160var asset = new StaticWebAsset() 205var asset = new StaticWebAsset() 262var asset = new StaticWebAsset() 306var asset = new StaticWebAsset() 355var asset = new StaticWebAsset() 420var asset = new StaticWebAsset()
StaticWebAssets\ResolveFingerprintedStaticWebAssetEndpointsForAssetsTest.cs (1)
238var result = new StaticWebAsset()
StaticWebAssets\StaticWebAssetPathPatternTest.cs (19)
383var tokens = new StaticWebAsset 396var tokens = new StaticWebAsset 409var tokens = new StaticWebAsset 422var tokens = new StaticWebAsset 435var tokens = new StaticWebAsset 448var tokens = new StaticWebAsset 463var tokens = new StaticWebAsset 478var tokens = new StaticWebAsset 491var tokens = new StaticWebAsset 504var tokens = new StaticWebAsset 517var tokens = new StaticWebAsset 530var tokens = new StaticWebAsset 543var tokens = new StaticWebAsset 558var tokens = new StaticWebAsset 573var tokens = new StaticWebAsset 586var tokens = new StaticWebAsset(); 595var tokens = new StaticWebAsset 607var tokens = new StaticWebAsset(); 617var tokens = new StaticWebAsset
StaticWebAssets\UpdateStaticWebAssetEndpointsTest.cs (1)
350var result = new StaticWebAsset()
608 references to StaticWebAsset
Microsoft.NET.Sdk.BlazorWebAssembly.Tests (19)
AspNetSdkBaselineTest.cs (5)
117.Where(a => a.SourceType is StaticWebAsset.SourceTypes.Computed && 118a.AssetKind is not StaticWebAsset.AssetKinds.Publish); 225.Where(a => a.SourceType is StaticWebAsset.SourceTypes.Computed && 226a.AssetKind is not StaticWebAsset.AssetKinds.Build); 233!string.Equals(a.AssetMode, StaticWebAsset.AssetModes.Reference))
StaticWebAssetsBaselineComparer.cs (12)
68foreach (var asset in actual.Assets) 147protected virtual void CompareAssetGroup(string group, StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 169var manifestAsset = manifestAssets[i]; 170var expectedAsset = expectedAssets[i]; 197private GroupComparisonMode CompareAssetCounts(string group, StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 222static void ThrowAssetCountMismatchError(StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 252private static void ComputeAssetDifferences(List<string> assetDifferences, StaticWebAsset manifestAsset, StaticWebAsset expectedAsset) 316protected virtual string GetAssetGroup(StaticWebAsset asset)
StaticWebAssetsBaselineFactory.cs (2)
80foreach (var asset in manifest.Assets) 217private void TemplatizeAsset(string projectRoot, string restorePath, string runtimeIdentifier, StaticWebAsset asset)
Microsoft.NET.Sdk.StaticWebAssets.Tasks (277)
ApplyCompressionNegotiation.cs (9)
26var assetsById = StaticWebAsset.ToAssetDictionary(CandidateAssets); 35foreach (var compressedAsset in assetsById.Values) 211private static StaticWebAssetEndpointResponseHeader[] GetOrCreateCompressionHeaders(Dictionary<string, StaticWebAssetEndpointResponseHeader[]> compressionHeadersByEncoding, StaticWebAsset compressedAsset) 222private static StaticWebAssetEndpointResponseHeader[] CreateCompressionHeaders(StaticWebAsset compressedAsset) => 237StaticWebAsset compressedAsset, 321IDictionary<string, StaticWebAsset> assetsById, 323StaticWebAsset compressedAsset) 325if (!assetsById.TryGetValue(compressedAsset.RelatedAsset, out var relatedAsset)) 346private static string ResolveQuality(StaticWebAsset compressedAsset) =>
CollectStaticWebAssetsToCopy.cs (3)
25var normalizedOutputPath = StaticWebAsset.NormalizeContentRootPath(Path.GetFullPath(OutputPath)); 28foreach (var asset in StaticWebAsset.FromTaskItemGroup(Assets))
Compression\DiscoverPrecompressedAssets.cs (10)
32var candidates = StaticWebAsset.FromTaskItemGroup(CandidateAssets); 37foreach (var candidate in candidates) 49var relatedAsset = FindRelatedAsset(candidate, candidatesByIdentity); 74private static StaticWebAsset FindRelatedAsset(StaticWebAsset candidate, IDictionary<string, StaticWebAsset> candidates) 80return candidates.TryGetValue(identityWithoutExtension, out var relatedAsset) ? relatedAsset : null; 89private static bool IsCompressedAsset(StaticWebAsset asset) 92private static void UpdateCompressedAsset(StaticWebAsset asset, StaticWebAsset relatedAsset)
Compression\ResolveCompressedAssets.cs (14)
57var candidates = StaticWebAsset.FromTaskItemGroup(CandidateAssets).ToArray(); 58var explicitAssets = ExplicitAssets == null ? [] : StaticWebAsset.FromTaskItemGroup(ExplicitAssets); 69var matchingCandidateAssets = new List<StaticWebAsset>(CandidateAssets.Length); 74foreach (var asset in candidates) 121foreach (var asset in matchingCandidateAssets) 124StaticWebAsset previousAsset = null; 156out var compressedAsset)) 188private static string CreatePathTemplate(StaticWebAsset asset, string outputPath) 195private Dictionary<string, HashSet<string>> CollectCompressedAssets(StaticWebAsset[] candidates) 200foreach (var asset in candidates) 256private static bool IsCompressedAsset(StaticWebAsset asset) 266StaticWebAsset asset, 271ref StaticWebAsset previousAsset, 272out StaticWebAsset result)
ComputeEndpointsForReferenceStaticWebAssets.cs (4)
23var assets = StaticWebAsset.ToAssetDictionary(Assets); 30if (assets.TryGetValue(candidateEndpoint.AssetFile, out var asset)) 44candidateEndpoint.Route = StaticWebAsset.CombineNormalizedPaths("", asset.BasePath, candidateEndpoint.Route, '/'); 51property.Value = StaticWebAsset.CombineNormalizedPaths("", asset.BasePath, property.Value, '/');
ComputeReferenceStaticWebAssetItems.cs (4)
41var existingAssets = StaticWebAsset.AssetsByTargetPath(Assets, Source, AssetKind); 43var resultAssets = new List<StaticWebAsset>(existingAssets.Count); 58selected.SourceType = UpdateSourceType ? StaticWebAsset.SourceTypes.Project : selected.SourceType; 100private bool ShouldIncludeAssetAsReference(StaticWebAsset candidate, out string reason)
ComputeStaticWebAssetsForCurrentProject.cs (3)
31var currentProjectAssets = StaticWebAsset.AssetsByTargetPath(Assets, Source, AssetKind); 33var resultAssets = new List<StaticWebAsset>(currentProjectAssets.Count); 58.Concat(Assets.Where(asset => !StaticWebAsset.HasSourceId(asset, Source)))
ComputeStaticWebAssetsTargetPaths.cs (2)
33var staticWebAsset = StaticWebAsset.FromTaskItem(Assets[i]);
Data\StaticAssetsManifest.cs (6)
22StaticWebAsset[] assets, 64internal bool IsCurrentProjectAsset(StaticWebAsset asset) => asset.HasSourceId(Source); 82public StaticWebAsset[] Assets { get; set; } 135&& EqualityComparer<StaticWebAsset[]>.Default.Equals(Assets, other.Assets) 193internal static bool ShouldIncludeAssetInCurrentProject(StaticWebAsset asset, string projectMode) => IsRoot(projectMode) && !asset.IsForReferencedProjectsOnly(); 195internal static bool ShouldIncludeAssetAsReference(StaticWebAsset asset, string projectMode) =>
Data\StaticWebAsset.cs (36)
19public sealed class StaticWebAsset : IEquatable<StaticWebAsset>, IComparable<StaticWebAsset>, ITaskItem2 55public StaticWebAsset(StaticWebAsset asset) 328public static StaticWebAsset FromTaskItem(ITaskItem item, bool validate = false) 330var result = FromTaskItemCore(item); 351internal static IEnumerable<StaticWebAsset> ChooseNearestAssetKind(IEnumerable<StaticWebAsset> group, string assetKind) 353StaticWebAsset allKindAssetCandidate = null; 356foreach (var item in group) 388internal static bool ValidateAssetGroup(string path, (StaticWebAsset First, StaticWebAsset Second, IReadOnlyList<StaticWebAsset> Others) group, out string reason) 390var prototypeItem = group.First; 391StaticWebAsset build = null; 392StaticWebAsset publish = null; 393StaticWebAsset all = null; 443foreach (var item in group.Others) 480public static StaticWebAsset FromV1TaskItem(ITaskItem item) 482var result = FromTaskItemCore(item); 492private static StaticWebAsset FromTaskItemCore(ITaskItem item) 684internal static StaticWebAsset FromProperties( 706var result = new StaticWebAsset 844public int CompareTo(StaticWebAsset other) 970public override bool Equals(object obj) => obj != null && Equals(obj as StaticWebAsset); 972public bool Equals(StaticWebAsset other) => 1231internal static Dictionary<string, StaticWebAsset> ToAssetDictionary(ITaskItem[] candidateAssets, bool validate = false) 1233var dictionary = new Dictionary<string, StaticWebAsset>(candidateAssets.Length); 1236var candidateAsset = FromTaskItem(candidateAssets[i], validate); 1243internal static StaticWebAsset[] FromTaskItemGroup(ITaskItem[] candidateAssets, bool validate = false) 1245var result = new StaticWebAsset[candidateAssets.Length]; 1248var candidateAsset = FromTaskItem(candidateAssets[i], validate); 1254internal static Dictionary<string, (StaticWebAsset, List<StaticWebAsset>)> AssetsByTargetPath(ITaskItem[] assets, string source, string assetKind) 1257var result = new Dictionary<string, (StaticWebAsset selected, List<StaticWebAsset> all)>(); 1269var asset = FromTaskItem(candidate);
Data\StaticWebAssetPathPattern.cs (2)
220public (string Path, Dictionary<string, string> PatternValues) ReplaceTokens(StaticWebAsset staticWebAsset, StaticWebAssetTokenResolver tokens, bool applyPreferences = false) 402internal void EmbedTokens(StaticWebAsset staticWebAsset, StaticWebAssetTokenResolver resolver)
Data\StaticWebAssetTokenResolver.cs (2)
16internal virtual bool TryGetValue(StaticWebAsset asset, string key, out string value) 18if (string.Equals(key, nameof(StaticWebAsset.Fingerprint), StringComparison.OrdinalIgnoreCase))
DefineStaticWebAssetEndpoints.cs (9)
117private readonly List<StaticWebAsset.StaticWebAssetResolvedRoute> _resolvedRoutes = new(2); 120StaticWebAsset asset, 187var finalRoute = asset.IsProject() || asset.IsPackage() ? StaticWebAsset.Normalize(Path.Combine(asset.BasePath, route)) : route; 202private static (string mimeType, string cache) ResolveContentType(StaticWebAsset asset, ContentTypeProvider contentTypeProvider, StaticWebAssetGlobMatcher.MatchContext matchContext, TaskLoggingHelper log) 229var asset = StaticWebAsset.FromTaskItem(CandidateAssets[i]); 232var length = CandidateAssets[i].GetMetadata(nameof(StaticWebAsset.FileLength)); 233var lastWriteTime = CandidateAssets[i].GetMetadata(nameof(StaticWebAsset.LastWriteTime)); 246var finalRoute = asset.IsProject() || asset.IsPackage() ? StaticWebAsset.Normalize(Path.Combine(asset.BasePath, route)) : route;
DefineStaticWebAssets.Cache.cs (21)
51"FullPath", "RelativePath", "TargetPath", "Link", "ModifiedTime", nameof(StaticWebAsset.SourceId), 52nameof(StaticWebAsset.SourceType), nameof(StaticWebAsset.BasePath), nameof(StaticWebAsset.ContentRoot), 53nameof(StaticWebAsset.AssetKind), nameof(StaticWebAsset.AssetMode), nameof(StaticWebAsset.AssetRole), 54nameof(StaticWebAsset.AssetMergeBehavior), nameof(StaticWebAsset.AssetMergeSource), nameof(StaticWebAsset.RelatedAsset), 55nameof(StaticWebAsset.AssetTraitName), nameof(StaticWebAsset.AssetTraitValue), nameof(StaticWebAsset.Fingerprint), 56nameof(StaticWebAsset.Integrity), nameof(StaticWebAsset.CopyToOutputDirectory), nameof(StaticWebAsset.CopyToPublishDirectory), 57nameof(StaticWebAsset.OriginalItemSpec) 92public Dictionary<string, StaticWebAsset> CachedAssets { get; set; } = []; 124internal void AppendAsset(string hash, StaticWebAsset asset, ITaskItem item) 126asset.AssetKind = item.GetMetadata(nameof(StaticWebAsset.AssetKind)); 211else if (CachedAssets.TryGetValue(hash, out var asset))
DefineStaticWebAssets.cs (81)
46public string AssetKind { get; set; } = StaticWebAsset.AssetKinds.All; 48public string AssetMode { get; set; } = StaticWebAsset.AssetModes.All; 50public string AssetRole { get; set; } = StaticWebAsset.AssetRoles.Primary; 54public string AssetMergeBehavior { get; set; } = StaticWebAsset.MergeBehaviors.None; 62public string CopyToOutputDirectory { get; set; } = StaticWebAsset.AssetCopyOptions.Never; 64public string CopyToPublishDirectory { get; set; } = StaticWebAsset.AssetCopyOptions.PreserveNewest; 110if (SourceType == StaticWebAsset.SourceTypes.Discovered) 146relativePathCandidate = StaticWebAsset.Normalize(match.Stem); 187var sourceId = ComputePropertyValue(candidate, nameof(StaticWebAsset.SourceId), SourceId); 188var sourceType = ComputePropertyValue(candidate, nameof(StaticWebAsset.SourceType), SourceType); 189var basePath = ComputePropertyValue(candidate, nameof(StaticWebAsset.BasePath), BasePath); 190var contentRoot = ComputePropertyValue(candidate, nameof(StaticWebAsset.ContentRoot), ContentRoot); 191var assetKind = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetKind), AssetKind, isRequired: false); 192var assetMode = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetMode), AssetMode); 193var assetRole = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetRole), AssetRole); 194var assetMergeSource = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetMergeSource), AssetMergeSource); 195var relatedAsset = ComputePropertyValue(candidate, nameof(StaticWebAsset.RelatedAsset), RelatedAsset, !StaticWebAsset.AssetRoles.IsPrimary(assetRole)); 196var assetTraitName = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetTraitName), AssetTraitName, !StaticWebAsset.AssetRoles.IsPrimary(assetRole)); 197var assetTraitValue = ComputePropertyValue(candidate, nameof(StaticWebAsset.AssetTraitValue), AssetTraitValue, !StaticWebAsset.AssetRoles.IsPrimary(assetRole)); 199var copyToOutputDirectory = ComputePropertyValue(candidate, nameof(StaticWebAsset.CopyToOutputDirectory), CopyToOutputDirectory); 200var copyToPublishDirectory = ComputePropertyValue(candidate, nameof(StaticWebAsset.CopyToPublishDirectory), CopyToPublishDirectory); 203nameof(StaticWebAsset.OriginalItemSpec), 213var fingerprint = ComputePropertyValue(candidate, nameof(StaticWebAsset.Fingerprint), null, false); 214var integrity = ComputePropertyValue(candidate, nameof(StaticWebAsset.Integrity), null, false); 223(fingerprint, integrity) = (StaticWebAsset.ComputeFingerprintAndIntegrity(file)); 231integrity = StaticWebAsset.ComputeIntegrity(file); 241if (!string.Equals(SourceType, StaticWebAsset.SourceTypes.Discovered, StringComparison.OrdinalIgnoreCase)) 244var contentRootPrefix = StaticWebAsset.AssetKinds.IsPublish(assetKind) ? null : contentRoot; 256relativePathCandidate = StaticWebAsset.Normalize(fingerprintPatternMatcher.AppendFingerprintPattern(matchContext, identity)); 259var asset = StaticWebAsset.FromProperties( 282if (SourceType == StaticWebAsset.SourceTypes.Discovered) 284item.SetMetadata(nameof(StaticWebAsset.AssetKind), !asset.ShouldCopyToPublishDirectory() ? StaticWebAsset.AssetKinds.Build : StaticWebAsset.AssetKinds.All); 315var file = StaticWebAsset.ResolveFile(identity, originalItemSpec); 335var normalizedContentRoot = StaticWebAsset.NormalizeContentRootPath(contentRoot); 414var normalizedPath = StaticWebAsset.Normalize(relativePath, allowEmpyPath: true); 422var normalizedPath = StaticWebAsset.Normalize(targetPath, allowEmpyPath: true); 430var normalizedPath = StaticWebAsset.Normalize(linkPath, allowEmpyPath: true); 436var normalizedContentRoot = StaticWebAsset.NormalizeContentRootPath(string.IsNullOrEmpty(candidate.GetMetadata(nameof(StaticWebAsset.ContentRoot))) ? 438candidate.GetMetadata(nameof(StaticWebAsset.ContentRoot))); 482first.GetMetadata(nameof(StaticWebAsset.AssetKind)), 484second.GetMetadata(nameof(StaticWebAsset.AssetKind)), 492switch ((asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)), existingAsset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)))) 494case (StaticWebAsset.AssetCopyOptions.Never, StaticWebAsset.AssetCopyOptions.Never): 495case (not StaticWebAsset.AssetCopyOptions.Never, not StaticWebAsset.AssetCopyOptions.Never): 503existingAsset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 505asset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 510case (StaticWebAsset.AssetCopyOptions.Never, not StaticWebAsset.AssetCopyOptions.Never): 512asset.SetMetadata(nameof(StaticWebAsset.AssetKind), StaticWebAsset.AssetKinds.Build); 513existingAsset.SetMetadata(nameof(StaticWebAsset.AssetKind), StaticWebAsset.AssetKinds.Publish); 517asset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 518asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)), 520StaticWebAsset.AssetKinds.Build); 524existingAsset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 525existingAsset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)), 527StaticWebAsset.AssetKinds.Publish); 530case (not StaticWebAsset.AssetCopyOptions.Never, StaticWebAsset.AssetCopyOptions.Never): 532asset.SetMetadata(nameof(StaticWebAsset.AssetKind), StaticWebAsset.AssetKinds.Publish); 533existingAsset.SetMetadata(nameof(StaticWebAsset.AssetKind), StaticWebAsset.AssetKinds.Build); 537asset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 538asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)), 540StaticWebAsset.AssetKinds.Publish); 544existingAsset.GetMetadata(nameof(StaticWebAsset.AssetKind)), 545existingAsset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)), 547StaticWebAsset.AssetKinds.Build); 556var computedPath = StaticWebAsset.ComputeAssetRelativePath(candidate, out var property);
FilterStaticWebAssetEndpoints.cs (4)
35var assetFiles = Assets != null ? StaticWebAsset.ToAssetDictionary(Assets) : []; 37var endpointFoundMatchingAsset = new Dictionary<string, StaticWebAsset>(); 42StaticWebAsset asset = null; 76private static bool MeetsAllCriteria(StaticWebAssetEndpoint endpoint, StaticWebAsset asset, FilterCriteria[] filterCriteria, out FilterCriteria failingCriteria)
GenerateStaticWebAssetEndpointsManifest.cs (6)
66var assets = StaticWebAsset.FromTaskItemGroup(Assets); 178private IEnumerable<TargetPathAssetPair> ComputeManifestAssets(IEnumerable<StaticWebAsset> assets, string kind) 185var asset = StaticWebAsset.ChooseNearestAssetKind(group, kind).SingleOrDefault(); 206private sealed class TargetPathAssetPair(string targetPath, StaticWebAsset asset) 209public StaticWebAsset ResolvedAsset { get; } = asset;
GenerateStaticWebAssetEndpointsPropsFile.cs (6)
28var assets = StaticWebAsset.ToAssetDictionary(StaticWebAssets); 37private bool ExecuteCore(StaticWebAssetEndpoint[] endpoints, Dictionary<string, StaticWebAsset> assets) 50var asset = assets[element.AssetFile]; 52var fullPathExpression = $"""$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\{StaticWebAsset.Normalize(PackagePathPrefix)}\{StaticWebAsset.Normalize(path).Replace("/", "\\")}'))"""; 122private bool ValidateArguments(StaticWebAssetEndpoint[] endpoints, Dictionary<string, StaticWebAsset> asset)
GenerateStaticWebAssetsDevelopmentManifest.cs (11)
52StaticWebAsset.FromTaskItemGroup(Assets), 65IEnumerable<StaticWebAsset> assets, 100private IEnumerable<SegmentsAssetPair> ComputeManifestAssets(IEnumerable<StaticWebAsset> assets) 107var asset = StaticWebAsset.ChooseNearestAssetKind(group, StaticWebAsset.AssetKinds.Build).SingleOrDefault(); 309static string ResolveSubPath(StaticWebAsset asset) 319return StaticWebAsset.Normalize(asset.Identity[asset.ContentRoot.Length..]); 368private readonly struct SegmentsAssetPair(string path, StaticWebAsset asset) : IComparable<SegmentsAssetPair> 374public StaticWebAsset Asset { get; } = asset; 395public readonly void Deconstruct(out string[] segments, out StaticWebAsset asset)
GenerateStaticWebAssetsManifest.cs (11)
47var assets = StaticWebAsset.FromTaskItemGroup(Assets, validate: true); 62if (!StaticWebAsset.ValidateAssetGroup(group.Key, group.Value, out var reason)) 96private StaticWebAssetEndpoint[] FilterPublishEndpointsIfNeeded(StaticWebAsset[] assets) 155private static Dictionary<string, (StaticWebAsset First, StaticWebAsset Second, List<StaticWebAsset> Other)> GroupAssetsByTargetPath(StaticWebAsset[] assets) 157var result = new Dictionary<string, (StaticWebAsset First, StaticWebAsset Second, List<StaticWebAsset> Other)>(StringComparer.OrdinalIgnoreCase); 159foreach (var asset in assets)
GenerateStaticWebAssetsPropsFile.cs (2)
67var asset = StaticWebAsset.FromTaskItem(element);
Legacy\UpgradeLegacyStaticWebAssetsToV2.cs (2)
27var asset = StaticWebAsset.FromV1TaskItem(Assets[i]);
MergeStaticWebAssets.cs (17)
30var assets = StaticWebAsset.FromTaskItemGroup(CandidateAssets); 71internal void ApplyMergeRules(List<StaticWebAsset> group, string source) 75StaticWebAsset prototypeItem = null; 76StaticWebAsset build = null; 77StaticWebAsset publish = null; 78StaticWebAsset all = null; 80var assetsToRemove = new List<StaticWebAsset>(); 81foreach (var item in group) 86var assetToRemove = SelectAssetToRemove(prototypeItem, item, source); 97var assetToRemove = SelectAssetToRemove(prototypeItem, item, source); 109var assetToRemove = SelectAssetToRemove(prototypeItem, item, source); 121var assetToRemove = SelectAssetToRemove(prototypeItem, item, source); 133var assetToRemove = SelectAssetToRemove(prototypeItem, item, source); 143foreach (var asset in assetsToRemove) 148StaticWebAsset SelectAssetToRemove(StaticWebAsset left, StaticWebAsset right, string mergeTarget)
ResolveFingerprintedStaticWebAssetEndpointsForAssets.cs (3)
29var candidateAssets = StaticWebAsset.FromTaskItemGroup(CandidateAssets); 37var asset = candidateAssets[i]; 113private bool MatchesAssetPath(StaticWebAsset asset, string assetPath, StaticWebAssetEndpoint endpoint)
ResolveStaticWebAssetEndpointRoutes.cs (2)
21var assets = StaticWebAsset.ToAssetDictionary(Assets); 25if (!assets.TryGetValue(endpoint.AssetFile, out var asset))
ServiceWorker\GenerateServiceWorkerAssetsManifest.cs (1)
41var assets = Assets.Select(a => (StaticWebAsset.FromTaskItem(a), a.GetMetadata("AssetUrl"))).ToArray();
UpdateExternallyDefinedStaticWebAssets.cs (3)
39var assets = Assets.Select(StaticWebAsset.FromV1TaskItem).ToArray(); 47var assetsWithoutEndpoints = new List<StaticWebAsset>(); 51var asset = assets[i];
UpdatePackageStaticWebAssets.cs (3)
30if (!StaticWebAsset.SourceTypes.IsPackage(candidate.GetMetadata(nameof(StaticWebAsset.SourceType)))) 36updatedAssets.Add(StaticWebAsset.FromV1TaskItem(candidate).ToTaskItem());
Microsoft.NET.Sdk.StaticWebAssets.Tests (312)
AspNetSdkBaselineTest.cs (5)
117.Where(a => a.SourceType is StaticWebAsset.SourceTypes.Computed && 118a.AssetKind is not StaticWebAsset.AssetKinds.Publish); 225.Where(a => a.SourceType is StaticWebAsset.SourceTypes.Computed && 226a.AssetKind is not StaticWebAsset.AssetKinds.Build); 233!string.Equals(a.AssetMode, StaticWebAsset.AssetModes.Reference))
ComputeStaticWebAssetsTargetPathsTest.cs (1)
111var result = new StaticWebAsset()
StaticWebAssetEndpointsIntegrationTest.cs (2)
556.Select(a => StaticWebAsset.Normalize(Path.GetRelativePath(Path.Combine(outputDirectory, "wwwroot"), a)))]; 574endpoints.Add(StaticWebAsset.Normalize(pathSoFar));
StaticWebAssets\ApplyCompressionNegotiationTest.cs (7)
156compressedAssets[0].SetMetadata(nameof(StaticWebAsset.Fingerprint), "gzip"); 157compressedAssets[0].SetMetadata(nameof(StaticWebAsset.Integrity), "compressed-gzip"); 158compressedAssets[0].SetMetadata(nameof(StaticWebAsset.FileLength), "9"); 159compressedAssets[1].SetMetadata(nameof(StaticWebAsset.Fingerprint), "brotli"); 160compressedAssets[1].SetMetadata(nameof(StaticWebAsset.Integrity), "compressed-brotli"); 161compressedAssets[1].SetMetadata(nameof(StaticWebAsset.FileLength), "7"); 1451var result = new StaticWebAsset()
StaticWebAssets\ComputeEndpointsForReferenceStaticWebAssetsTest.cs (1)
105var result = new StaticWebAsset()
StaticWebAssets\ComputeReferenceStaticWebAssetItemsTest.cs (1)
347var result = new StaticWebAsset()
StaticWebAssets\ComputeStaticWebAssetsForCurrentProjectTest.cs (1)
286var result = new StaticWebAsset()
StaticWebAssets\ConcatenateFilesTest.cs (1)
210CreateEndpoint(StaticWebAsset.CombineNormalizedPaths("",libraryBasePath,"TestFiles/Generated/lib.bundle.scp.css", '/'))
StaticWebAssets\DefineStaticWebAssetEndpointsTest.cs (3)
21[InlineData(StaticWebAsset.SourceTypes.Discovered)] 22[InlineData(StaticWebAsset.SourceTypes.Computed)] 598var result = new StaticWebAsset()
StaticWebAssets\DiscoverPrecompressedAssetsTest.cs (14)
35var uncompressedCandidate = new StaticWebAsset 40AssetMode = StaticWebAsset.AssetModes.All, 41AssetKind = StaticWebAsset.AssetKinds.All, 44CopyToOutputDirectory = StaticWebAsset.AssetCopyOptions.Never, 48SourceType = StaticWebAsset.SourceTypes.Discovered, 50AssetRole = StaticWebAsset.AssetRoles.Primary, 55CopyToPublishDirectory = StaticWebAsset.AssetCopyOptions.PreserveNewest, 60var compressedCandidate = new StaticWebAsset 65AssetMode = StaticWebAsset.AssetModes.All, 66AssetKind = StaticWebAsset.AssetKinds.All, 69CopyToOutputDirectory = StaticWebAsset.AssetCopyOptions.Never, 73SourceType = StaticWebAsset.SourceTypes.Discovered, 75AssetRole = StaticWebAsset.AssetRoles.Primary, 80CopyToPublishDirectory = StaticWebAsset.AssetCopyOptions.PreserveNewest,
StaticWebAssets\DiscoverStaticWebAssetsTest.cs (120)
49asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 50asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 51asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 52asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 53asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("candidate.js"); 54asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 55asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 56asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 57asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 58asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 59asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 60asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 61asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 62asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", "candidate.js")); 103asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 104asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 105asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 106asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 107asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be(expectedRelativePath); 108asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 109asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 110asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 111asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 112asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 113asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 114asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 115asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 116asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", file)); 153asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 154asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 155asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 156asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 157asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be(candidate); 158asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 159asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 160asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 161asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 162asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 163asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 164asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 165asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 166asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", Path.Combine(candidate.Split('/')))); 204asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 205asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 206asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 207asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 208asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be(expectedRelativePath); 209asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 210asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 211asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 212asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 213asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 214asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 215asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 216asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 217asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", fileName)); 251asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 252asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 253asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 254asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 255asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("subdir/candidate.js"); 256asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 257asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 258asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 259asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 260asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 261asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 262asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 263asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 264asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", "candidate.js")); 298asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 299asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 300asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 301asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 302asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("subdir/candidate.publish.js"); 303asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 304asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 305asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 306asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 307asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 308asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 309asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 310asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 311asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", "candidate.js")); 345asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().Be("MyProject"); 346asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().Be("Discovered"); 347asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(Path.GetFullPath("wwwroot") + Path.DirectorySeparatorChar); 348asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Path"); 349asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("subdir/candidate.link.js"); 350asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("All"); 351asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().Be("All"); 352asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().Be("Primary"); 353asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().Be(""); 354asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().Be(""); 355asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().Be(""); 356asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 357asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 358asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().Be(Path.Combine("wwwroot", "candidate.js")); 394buildAsset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("Build"); 395buildAsset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 396buildAsset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("Never"); 399publishAsset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().Be("Publish"); 400publishAsset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().Be("Never"); 401publishAsset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().Be("PreserveNewest"); 501asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be(expectedPath); 555asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be(expected); 617var cachedAsset = cache.CachedAssets.Values.Single(); 639var newAsset = new StaticWebAsset { Identity = newAssetItem.ItemSpec }; 726task.Assets[0].GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("Microsoft.AspNetCore.Components.CustomElements.lib.module.js"); 727task.Assets[0].GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Microsoft.AspNetCore.Components.CustomElements"); 728task.Assets[1].GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("Microsoft.AspNetCore.Components.CustomElements.lib.module.js.map"); 729task.Assets[1].GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Microsoft.AspNetCore.Components.CustomElements"); 766task.Assets[0].GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("Microsoft.AspNetCore.Components.CustomElements.lib.module.js"); 767task.Assets[0].GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Microsoft.AspNetCore.Components.CustomElements"); 768task.Assets[1].GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("Microsoft.AspNetCore.Components.CustomElements.lib.module.js.map"); 769task.Assets[1].GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Microsoft.AspNetCore.Components.CustomElements"); 803task.Assets[0].GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().Be("Components/Dropdown/Dropdown.razor.js"); 804task.Assets[0].GetMetadata(nameof(StaticWebAsset.BasePath)).Should().Be("_content/Project"); 805task.Assets[0].GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().Be("/home/user/work/Repo/Project/"); 857["LastWriteTime"] = DateTime.UtcNow.ToString(StaticWebAsset.DateTimeAssetFormat),
StaticWebAssets\FilterStaticWebAssetEndpointsTest.cs (4)
242private StaticWebAssetEndpoint[] CreateEndpoints(StaticWebAsset[] assets) 270private static StaticWebAsset CreateAsset( 285var result = new StaticWebAsset() 296AssetMergeBehavior = StaticWebAsset.MergeBehaviors.PreferTarget,
StaticWebAssets\GenerateStaticWebAssetEndpointsManifestTest.cs (4)
434private StaticWebAssetEndpoint[] CreateEndpoints(StaticWebAsset[] assets) 448private static StaticWebAsset CreateAsset( 463var result = new StaticWebAsset() 474AssetMergeBehavior = StaticWebAsset.MergeBehaviors.PreferTarget,
StaticWebAssets\GenerateStaticWebAssetEndpointsPropsFileTest.cs (1)
171var result = new StaticWebAsset()
StaticWebAssets\GenerateStaticWebAssetsDevelopmentManifestTest.cs (23)
58var assets = new[] { CreateAsset("index.html", "index.html", assetKind: StaticWebAsset.AssetKinds.Build) }; 90var assets = new[] { CreateAsset(fileName, $"index{fingerprintExpression}.html", assetKind: StaticWebAsset.AssetKinds.All) }; 122var assets = new[] { CreateAsset(subPath, $"index{fingerprintExpression}.html", assetKind: StaticWebAsset.AssetKinds.All) }; 173assetKind: StaticWebAsset.AssetKinds.All) }; 217assetKind: StaticWebAsset.AssetKinds.All) }; 246var assets = new[] { CreateAsset("index.html", "index.html", assetKind: StaticWebAsset.AssetKinds.All) }; 273var assets = new[] { CreateAsset("index.html", "index.html", assetKind: StaticWebAsset.AssetKinds.Publish) }; 301var assets = new[] { CreateAsset("index.html", "index.html", assetMode: StaticWebAsset.AssetModes.Reference) }; 332CreateAsset("index.build.html", "index.html", assetKind: StaticWebAsset.AssetKinds.Build), 333CreateAsset("index.html", "index.html", assetKind: StaticWebAsset.AssetKinds.All) 368("index.html", CreateMatchNode(0, StaticWebAsset.Normalize(filePath)))), 454var assets = Array.Empty<StaticWebAsset>(); 485var assets = Array.Empty<StaticWebAsset>(); 518var assets = Array.Empty<StaticWebAsset>(); 556var assets = Array.Empty<StaticWebAsset>(); 698ContentRoot = StaticWebAsset.NormalizeContentRootPath(contentRoot ?? Path.Combine(Environment.CurrentDirectory, "wwwroot")) 705ContentRoots = contentRoots.Select(cr => StaticWebAsset.NormalizeContentRootPath(cr)).ToArray(), 720private static StaticWebAsset CreateAsset( 734SourceType = sourceType ?? StaticWebAsset.SourceTypes.Discovered, 737AssetKind = assetKind ?? StaticWebAsset.AssetKinds.All, 738AssetMode = assetMode ?? StaticWebAsset.AssetModes.All, 739AssetRole = StaticWebAsset.AssetRoles.Primary, 741ContentRoot = StaticWebAsset.NormalizeContentRootPath(contentRoot ?? Environment.CurrentDirectory),
StaticWebAssets\GenerateStaticWebAssetsManifestTest.cs (16)
76var asset = CreateAsset(Path.Combine("wwwroot", "candidate.js"), "MyProject", "Computed", "candidate.js", "All", "All"); 103var newAsset = manifest.Assets[0]; 110private static StaticWebAssetEndpoint CreateEndpoint(StaticWebAsset asset) 144public static TheoryData<Action<StaticWebAsset>> GeneratesManifestFailsWhenInvalidAssetsAreProvidedData 148var theoryData = new TheoryData<Action<StaticWebAsset>> 176public void GeneratesManifestFailsWhenInvalidAssetsAreProvided(Action<StaticWebAsset> change) 185var asset = CreateAsset(Path.Combine("wwwroot", "candidate.js"), "MyProject", "Computed", "candidate.js", "All", "All"); 211public static TheoryData<StaticWebAsset, StaticWebAsset> GeneratesManifestFailsWhenTwoAssetsEndUpOnTheSamePathData 215var data = new TheoryData<StaticWebAsset, StaticWebAsset> 254public void GeneratesManifestFailsWhenTwoAssetsEndUpOnTheSamePath(StaticWebAsset first, StaticWebAsset second) 390private static StaticWebAsset CreateAsset( 405var result = new StaticWebAsset() 416AssetMergeBehavior = StaticWebAsset.MergeBehaviors.PreferTarget,
StaticWebAssets\GenerateStaticWebAssetsPropsFileTest.cs (3)
369["LastWriteTime"] = new DateTimeOffset(new DateTime(1990, 11, 15, 0, 0, 0, 0, DateTimeKind.Utc)).ToString(StaticWebAsset.DateTimeAssetFormat) 470["LastWriteTime"] = new DateTimeOffset(new DateTime(1990, 11, 15, 0, 0, 0, 0, DateTimeKind.Utc)).ToString(StaticWebAsset.DateTimeAssetFormat) 491["LastWriteTime"] = new DateTimeOffset(new DateTime(1990, 11, 15, 0, 0, 0, 0, DateTimeKind.Utc)).ToString(StaticWebAsset.DateTimeAssetFormat)
StaticWebAssets\ReadStaticWebAssetsManifestFileTest.cs (15)
179asset.GetMetadata(nameof(StaticWebAsset.Identity)).Should().BeEquivalentTo($"{identity}"); 180asset.GetMetadata(nameof(StaticWebAsset.SourceId)).Should().BeEquivalentTo("ComponentApp"); 181asset.GetMetadata(nameof(StaticWebAsset.SourceType)).Should().BeEquivalentTo("Computed"); 182asset.GetMetadata(nameof(StaticWebAsset.ContentRoot)).Should().BeEquivalentTo($"{contentRoot}"); 183asset.GetMetadata(nameof(StaticWebAsset.BasePath)).Should().BeEquivalentTo("_content/ComponentApp"); 184asset.GetMetadata(nameof(StaticWebAsset.RelativePath)).Should().BeEquivalentTo("ComponentApp.styles.css"); 185asset.GetMetadata(nameof(StaticWebAsset.AssetKind)).Should().BeEquivalentTo("All"); 186asset.GetMetadata(nameof(StaticWebAsset.AssetMode)).Should().BeEquivalentTo("CurrentProject"); 187asset.GetMetadata(nameof(StaticWebAsset.AssetRole)).Should().BeEquivalentTo("Primary"); 188asset.GetMetadata(nameof(StaticWebAsset.RelatedAsset)).Should().BeEquivalentTo(""); 189asset.GetMetadata(nameof(StaticWebAsset.AssetTraitName)).Should().BeEquivalentTo("ScopedCss"); 190asset.GetMetadata(nameof(StaticWebAsset.AssetTraitValue)).Should().BeEquivalentTo("ApplicationBundle"); 191asset.GetMetadata(nameof(StaticWebAsset.CopyToOutputDirectory)).Should().BeEquivalentTo("Never"); 192asset.GetMetadata(nameof(StaticWebAsset.CopyToPublishDirectory)).Should().BeEquivalentTo("PreserveNewest"); 193asset.GetMetadata(nameof(StaticWebAsset.OriginalItemSpec)).Should().BeEquivalentTo($"{identity}");
StaticWebAssets\ResolveCompressedAssetsTest.cs (42)
46SourceType = StaticWebAsset.SourceTypes.Discovered, 48AssetKind = StaticWebAsset.AssetKinds.All, 49AssetMode = StaticWebAsset.AssetModes.All, 50AssetRole = StaticWebAsset.AssetRoles.Primary, 87var uncompressedCandidate = new StaticWebAsset 92AssetMode = StaticWebAsset.AssetModes.All, 93AssetKind = StaticWebAsset.AssetKinds.All, 96CopyToOutputDirectory = StaticWebAsset.AssetCopyOptions.Never, 100SourceType = StaticWebAsset.SourceTypes.Discovered, 104AssetRole = StaticWebAsset.AssetRoles.Primary, 109CopyToPublishDirectory = StaticWebAsset.AssetCopyOptions.PreserveNewest 112var compressedCandidate = new StaticWebAsset 117AssetMode = StaticWebAsset.AssetModes.All, 118AssetKind = StaticWebAsset.AssetKinds.All, 121CopyToOutputDirectory = StaticWebAsset.AssetCopyOptions.Never, 125SourceType = StaticWebAsset.SourceTypes.Discovered, 127AssetRole = StaticWebAsset.AssetRoles.Primary, 132CopyToPublishDirectory = StaticWebAsset.AssetCopyOptions.PreserveNewest, 166SourceType = StaticWebAsset.SourceTypes.Discovered, 168AssetKind = StaticWebAsset.AssetKinds.All, 169AssetMode = StaticWebAsset.AssetModes.All, 170AssetRole = StaticWebAsset.AssetRoles.Primary, 211SourceType = StaticWebAsset.SourceTypes.Discovered, 213AssetKind = StaticWebAsset.AssetKinds.All, 214AssetMode = StaticWebAsset.AssetModes.All, 215AssetRole = StaticWebAsset.AssetRoles.Primary, 268SourceType = StaticWebAsset.SourceTypes.Discovered, 270AssetKind = StaticWebAsset.AssetKinds.All, 271AssetMode = StaticWebAsset.AssetModes.All, 272AssetRole = StaticWebAsset.AssetRoles.Primary, 312SourceType = StaticWebAsset.SourceTypes.Discovered, 314AssetKind = StaticWebAsset.AssetKinds.All, 315AssetMode = StaticWebAsset.AssetModes.All, 316AssetRole = StaticWebAsset.AssetRoles.Primary, 361SourceType = StaticWebAsset.SourceTypes.Discovered, 363AssetKind = StaticWebAsset.AssetKinds.All, 364AssetMode = StaticWebAsset.AssetModes.All, 365AssetRole = StaticWebAsset.AssetRoles.Primary, 426SourceType = StaticWebAsset.SourceTypes.Discovered, 428AssetKind = StaticWebAsset.AssetKinds.All, 429AssetMode = StaticWebAsset.AssetModes.All, 430AssetRole = StaticWebAsset.AssetRoles.Primary,
StaticWebAssets\ResolveFingerprintedStaticWebAssetEndpointsForAssetsTest.cs (7)
39var endpoints = CreateEndpoints(candidateAssets.Select(a => StaticWebAsset.FromTaskItem(a)).ToArray()); 82var endpoints = CreateEndpoints(candidateAssets.Select(a => StaticWebAsset.FromTaskItem(a)).ToArray()); 122var endpoints = CreateEndpoints(candidateAssets.Select(a => StaticWebAsset.FromTaskItem(a)).ToArray()); 165var endpoints = CreateEndpoints(candidateAssets.Select(a => StaticWebAsset.FromTaskItem(a)).ToArray()); 208var endpoints = CreateEndpoints(candidateAssets.Select(a => StaticWebAsset.FromTaskItem(a)).ToArray()); 238var result = new StaticWebAsset() 268private StaticWebAssetEndpoint[] CreateEndpoints(StaticWebAsset[] assets)
StaticWebAssets\StaticWebAssetPathPatternTest.cs (19)
383var tokens = new StaticWebAsset 396var tokens = new StaticWebAsset 409var tokens = new StaticWebAsset 422var tokens = new StaticWebAsset 435var tokens = new StaticWebAsset 448var tokens = new StaticWebAsset 463var tokens = new StaticWebAsset 478var tokens = new StaticWebAsset 491var tokens = new StaticWebAsset 504var tokens = new StaticWebAsset 517var tokens = new StaticWebAsset 530var tokens = new StaticWebAsset 543var tokens = new StaticWebAsset 558var tokens = new StaticWebAsset 573var tokens = new StaticWebAsset 586var tokens = new StaticWebAsset(); 595var tokens = new StaticWebAsset 607var tokens = new StaticWebAsset(); 617var tokens = new StaticWebAsset
StaticWebAssets\UpdateStaticWebAssetEndpointsTest.cs (4)
306private StaticWebAssetEndpoint[] CreateEndpoints(StaticWebAsset[] assets) 335private static StaticWebAsset CreateAsset( 350var result = new StaticWebAsset() 361AssetMergeBehavior = StaticWebAsset.MergeBehaviors.PreferTarget,
StaticWebAssetsBaselineComparer.cs (12)
68foreach (var asset in actual.Assets) 147protected virtual void CompareAssetGroup(string group, StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 169var manifestAsset = manifestAssets[i]; 170var expectedAsset = expectedAssets[i]; 197private GroupComparisonMode CompareAssetCounts(string group, StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 222static void ThrowAssetCountMismatchError(StaticWebAsset[] manifestAssets, StaticWebAsset[] expectedAssets) 252private static void ComputeAssetDifferences(List<string> assetDifferences, StaticWebAsset manifestAsset, StaticWebAsset expectedAsset) 316protected virtual string GetAssetGroup(StaticWebAsset asset)
StaticWebAssetsBaselineFactory.cs (2)
80foreach (var asset in manifest.Assets) 217private void TemplatizeAsset(string projectRoot, string restorePath, string runtimeIdentifier, StaticWebAsset asset)
StaticWebAssetsCompressionIntegrationTest.cs (4)
64var gzipAsset = manifest2.Assets.Single(a => string.Equals(a.Identity, gzipFile, StringComparison.Ordinal)); 65var brotliAsset = manifest2.Assets.Single(a => string.Equals(a.Identity, brotliFile, StringComparison.Ordinal)); 176var gzipAsset = manifest2.Assets.Single(a => string.Equals(a.Identity, gzipFile, StringComparison.Ordinal)); 177var brotliAsset = manifest2.Assets.Single(a => string.Equals(a.Identity, brotliFile, StringComparison.Ordinal));