Skip to content

[release/9.0.3xx] [StaticWebAssets] Add the cache files to the list of written files so they get deleted during clean #48984

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<Target Name="ResolveBuildCompressedStaticWebAssets" DependsOnTargets="$(ResolveBuildCompressedStaticWebAssetsDependsOn)">

<PropertyGroup>
<_ResolveBuildCompressedStaticWebAssetsCachePath>$(_StaticWebAssetsManifestBase)rbcswa.dswa.cache.json</_ResolveBuildCompressedStaticWebAssetsCachePath>
<_ResolveBuildCompressedStaticWebAssetsCachePath Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == 'true'">$(_StaticWebAssetsManifestBase)rbcswa.dswa.cache.json</_ResolveBuildCompressedStaticWebAssetsCachePath>
</PropertyGroup>

<DefineStaticWebAssets
Expand All @@ -242,6 +242,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<StaticWebAsset Include="@(_CompressionBuildStaticWebAsset)" />
<StaticWebAssetEndpoint Include="@(_CompressionBuildStaticWebAssetEndpoint)" />
<_CompressionCurrentProjectBuildAssets Include="@(StaticWebAsset)" />
<FileWrites Include="@(_ResolveBuildCompressedStaticWebAssetsCachePath)" />
</ItemGroup>

<ApplyCompressionNegotiation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Copyright (c) .NET Foundation. All rights reserved.
-->

<PropertyGroup>
<_ResolveJsInitializerModuleStaticWebAssetsCachePath>$(_StaticWebAssetsManifestBase)rjimswa.dswa.cache.json</_ResolveJsInitializerModuleStaticWebAssetsCachePath>
<_ResolveJsInitializerModuleStaticWebAssetsCachePath Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == 'true'">$(_StaticWebAssetsManifestBase)rjimswa.dswa.cache.json</_ResolveJsInitializerModuleStaticWebAssetsCachePath>
</PropertyGroup>

<DefineStaticWebAssets Condition="@(_JSModuleCandidates) != ''"
Expand Down Expand Up @@ -165,6 +165,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<StaticWebAsset Include="@(_JSModuleStaticWebAsset)" />
<StaticWebAssetEndpoint Remove="@(_FilteredJSModuleStaticWebAssetEndpointWithProperty)" />
<StaticWebAssetEndpoint Include="@(_FilteredJSModuleStaticWebAssetEndpointWithProperty)" />
<FileWrites Include="$(_ResolveJsInitializerModuleStaticWebAssetsCachePath)" />
</ItemGroup>

</Target>
Expand Down Expand Up @@ -411,10 +412,10 @@ Copyright (c) .NET Foundation. All rights reserved.
</ItemGroup>

<PropertyGroup>
<_ResolveJSModuleStaticWebAssetsRazorCachePath>$(_StaticWebAssetsManifestBase)rjsmrazor.dswa.cache.json</_ResolveJSModuleStaticWebAssetsRazorCachePath>
<_ResolveJSModuleStaticWebAssetsRazorCachePath Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == 'true'">$(_StaticWebAssetsManifestBase)rjsmrazor.dswa.cache.json</_ResolveJSModuleStaticWebAssetsRazorCachePath>
</PropertyGroup>
<PropertyGroup>
<_ResolveJSModuleStaticWebAssetsCshtmlCachePath>$(_StaticWebAssetsManifestBase)rjsmcshtml.dswa.cache.json</_ResolveJSModuleStaticWebAssetsCshtmlCachePath>
<_ResolveJSModuleStaticWebAssetsCshtmlCachePath Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == 'true'">$(_StaticWebAssetsManifestBase)rjsmcshtml.dswa.cache.json</_ResolveJSModuleStaticWebAssetsCshtmlCachePath>
</PropertyGroup>

<!-- Find JS module files -->
Expand Down Expand Up @@ -487,6 +488,9 @@ Copyright (c) .NET Foundation. All rights reserved.
<!-- Remove the items from their original groups since they've now become a StaticWebAsset -->
<Content Remove="@(_JsFileModuleStaticWebAsset->'%(OriginalItemSpec)')" />
<None Remove="@(_JsFileModuleStaticWebAsset->'%(OriginalItemSpec)')" />

<FileWrites Include="$(_ResolveJSModuleStaticWebAssetsRazorCachePath)" />
<FileWrites Include="$(_ResolveJSModuleStaticWebAssetsCshtmlCachePath)" />
</ItemGroup>

</Target>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<StaticWebAssetFingerprintingEnabled Condition="'$(StaticWebAssetFingerprintingEnabled)' == ''">true</StaticWebAssetFingerprintingEnabled>
<StaticWebAssetMergeTarget Condition="'$(TargetFrameworks)' != '' and '$(TargetPlatformIdentifier)' == 'browser'">Browser</StaticWebAssetMergeTarget>
<StaticWebAssetMergeTarget Condition="'$(TargetFrameworks)' != '' and '$(TargetPlatformIdentifier)' == ''">Server</StaticWebAssetMergeTarget>
<StaticWebAssetsCacheDefineStaticWebAssetsEnabled Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == ''">true</StaticWebAssetsCacheDefineStaticWebAssetsEnabled>

<!-- Manifest paths -->
<_StaticWebAssetsManifestBase Condition="'$(_StaticWebAssetsManifestBase)' == ''">$(IntermediateOutputPath)</_StaticWebAssetsManifestBase>
Expand Down Expand Up @@ -672,7 +673,7 @@ Copyright (c) .NET Foundation. All rights reserved.
DependsOnTargets="ResolveStaticWebAssetsConfiguration;UpdateExistingPackageStaticWebAssets">

<PropertyGroup>
<_ResolveProjectStaticWebAssetsCachePath>$(_StaticWebAssetsManifestBase)rpswa.dswa.cache.json</_ResolveProjectStaticWebAssetsCachePath>
<_ResolveProjectStaticWebAssetsCachePath Condition="'$(StaticWebAssetsCacheDefineStaticWebAssetsEnabled)' == 'true'">$(_StaticWebAssetsManifestBase)rpswa.dswa.cache.json</_ResolveProjectStaticWebAssetsCachePath>
</PropertyGroup>

<DefineStaticWebAssets
Expand Down Expand Up @@ -707,6 +708,8 @@ Copyright (c) .NET Foundation. All rights reserved.
</StaticWebAssetDiscoveryPattern>

<Content Remove="@(StaticWebAsset)" />

<FileWrites Include="$(_ResolveProjectStaticWebAssetsCachePath)" />
</ItemGroup>

</Target>
Expand Down
4 changes: 3 additions & 1 deletion src/StaticWebAssetsSdk/Tasks/DefineStaticWebAssets.Cache.cs
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ internal static DefineStaticWebAssetsCache ReadOrCreateCache(TaskLoggingHelper l

internal void WriteCacheManifest()
{
if (_manifestPath != null)
if (_manifestPath != null && !_cacheUpToDate && InputHashes.Count > 0)
{
using var manifestFile = File.OpenWrite(_manifestPath);
manifestFile.SetLength(0);
Expand Down Expand Up @@ -165,6 +165,8 @@ private void TotalUpdate(byte[] propertiesHash, byte[] fingerprintPatternsHash,
GlobalPropertiesHash = propertiesHash;
FingerprintPatternsHash = fingerprintPatternsHash;
PropertyOverridesHash = propertyOverridesHash;
CachedAssets.Clear();
CachedCopyCandidates.Clear();
InputHashes = [.. inputsByHash.Keys];
_inputByHash = inputsByHash;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,8 @@ public void DefineStaticWebAssetsCache_Recomputes_All_WhenPropertiesChange(Updat

Assert.False(cache.IsUpToDate());
Assert.Same(inputHashes, cache.OutOfDateInputs());
Assert.Empty(cache.CachedAssets);
Assert.Empty(cache.CachedCopyCandidates);
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[
"${ProjectPath}\\obj\\Debug\\${Tfm}\\compressed\\ComponentApp#[.{fingerprint=__fingerprint__}]!.bundle.scp.css.gz",
"${ProjectPath}\\obj\\Debug\\${Tfm}\\compressed\\ComponentApp#[.{fingerprint=__fingerprint__}]?.styles.css.gz",
"${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\bundle\\ComponentApp.styles.css",
"${ProjectPath}\\obj\\Debug\\${Tfm}\\scopedcss\\projectbundle\\ComponentApp.bundle.scp.css"
]
Loading