Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -200,14 +200,16 @@ Copyright (c) .NET Foundation. All rights reserved.
<ItemGroup>
<_PublishStaticWebAssetsCopyAlways Include="@(_PublishStaticWebAssetsTargetPath)" Condition="'%(CopyToPublishDirectory)' == 'Always'" />
<_PublishStaticWebAssetsPreserveNewest Include="@(_PublishStaticWebAssetsTargetPath)" Condition="'%(CopyToPublishDirectory)' == 'PreserveNewest'" />
<_PublishStaticWebAssetsIfDifferent Include="@(_PublishStaticWebAssetsTargetPath)" Condition="'%(CopyToPublishDirectory)' == 'IfDifferent'" />
</ItemGroup>

</Target>

<Target Name="_PublishCopyStaticWebAssetsPreserveNewest"
Inputs="@(_PublishStaticWebAssetsPreserveNewest)"
Outputs="@(_PublishStaticWebAssetsPreserveNewest->'$(PublishDir)%(TargetPath)')"
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions">
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions"
Condition=" '@(_PublishStaticWebAssetsPreserveNewest)' != '' ">

<Copy SourceFiles="@(_PublishStaticWebAssetsPreserveNewest)"
DestinationFiles="@(_PublishStaticWebAssetsPreserveNewest->'$(PublishDir)%(TargetPath)')"
Expand All @@ -224,7 +226,8 @@ Copyright (c) .NET Foundation. All rights reserved.
</Target>

<Target Name="_PublishCopyStaticWebAssetsAlways"
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions">
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions"
Condition=" '@(_PublishStaticWebAssetsCopyAlways)' != '' ">

<Copy SourceFiles="@(_PublishStaticWebAssetsCopyAlways)"
DestinationFiles="@(_PublishStaticWebAssetsCopyAlways->'$(PublishDir)%(TargetPath)')"
Expand All @@ -239,6 +242,28 @@ Copyright (c) .NET Foundation. All rights reserved.
</Copy>

</Target>

<Target Name="_PublishCopyStaticWebAssetsIfDifferent"
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions"
Condition=" '@(_PublishStaticWebAssetsIfDifferent)' != '' ">

<!--
Using SkipUnchangedFiles="true" because we want only differing files.
-->
<Copy SourceFiles="@(_PublishStaticWebAssetsIfDifferent)"
DestinationFiles="@(_PublishStaticWebAssetsIfDifferent->'$(PublishDir)%(TargetPath)')"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>

</Copy>

</Target>

<Target Name="CopyStaticWebAssetsEndpointsManifest" DependsOnTargets="GenerateStaticWebAssetsPublishManifest"
AfterTargets="CopyStaticWebAssetsToPublishDirectory">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<ItemGroup>
<_BuildStaticWebAssetsCopyAlways Include="@(_BuildStaticWebAssetsTargetPath)" Condition="'%(CopyToOutputDirectory)' == 'Always'" />
<_BuildStaticWebAssetsPreserveNewest Include="@(_BuildStaticWebAssetsTargetPath)" Condition="'%(CopyToOutputDirectory)' == 'PreserveNewest'" />
<_BuildStaticWebAssetsIfDifferent Include="@(_BuildStaticWebAssetsTargetPath)" Condition="'%(CopyToOutputDirectory)' == 'IfDifferent'" />
</ItemGroup>

</Target>
Expand Down Expand Up @@ -537,8 +538,29 @@ Copyright (c) .NET Foundation. All rights reserved.
</Copy>

</Target>

<Target Name="_BuildCopyStaticWebAssetsIfDifferent"
AfterTargets="_SplitStaticWebAssetsByCopyOptions">

<!--
Using SkipUnchangedFiles="true" because we want only differing files.
-->
<Copy SourceFiles="@(_BuildStaticWebAssetsIfDifferent)"
DestinationFiles="@(_BuildStaticWebAssetsIfDifferent->'%(TargetPath)')"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">

<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>

</Copy>

</Target>

<Target Name="WriteStaticWebAssetsUpToDateCheck" DependsOnTargets="_BuildCopyStaticWebAssetsPreserveNewest;_BuildCopyStaticWebAssetsAlways">
<Target Name="WriteStaticWebAssetsUpToDateCheck" DependsOnTargets="_BuildCopyStaticWebAssetsPreserveNewest;_BuildCopyStaticWebAssetsAlways;_BuildCopyStaticWebAssetsIfDifferent">

<ItemGroup>
<_UpToDateCheckStaticWebAssetCandidate Include="@(StaticWebAsset)" Condition="'%(SourceType)' == 'Discovered'" />
Expand Down
Loading
Loading