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