roblox-cs / dotnet /sdk /8.0.402 /Sdks /Microsoft.NET.Sdk.StaticWebAssets /targets /Microsoft.NET.Sdk.StaticWebAssets.Publish.targets
asynchronousai's picture
Upload 2613 files
090629c verified
raw
history blame
10.9 kB
<!--
***********************************************************************************************
Microsoft.NET.Sdk.StaticWebAssets.targets
WARNING: DO NOT MODIFY this file unless you are knowledgeable about MSBuild and have
created a backup copy. Incorrect changes to this file will make it
impossible to load or build your projects from the command-line or the IDE.
Copyright (c) .NET Foundation. All rights reserved.
***********************************************************************************************
-->
<Project ToolsVersion="14.0">
<Target Name="StaticWebAssetsPrepareForPublish"
BeforeTargets="ComputeFilesToPublish"
DependsOnTargets="$(StaticWebAssetsPrepareForPublishDependsOn)" />
<Target Name="GenerateComputedPublishStaticWebAssets" DependsOnTargets="$(GenerateComputedPublishStaticWebAssetsDependsOn)" />
<Target Name="GenerateStaticWebAssetsPublishManifest" DependsOnTargets="$(GenerateStaticWebAssetsPublishManifestDependsOn)">
<ItemGroup>
<_FinalPublishStaticWebAsset Include="@(StaticWebAsset)" Condition="'%(StaticWebAsset.AssetKind)' != 'Build'" />
</ItemGroup>
<GenerateStaticWebAssetsManifest
Source="$(PackageId)"
BasePath="$(StaticWebAssetBasePath)"
Mode="$(StaticWebAssetProjectMode)"
ManifestType="Publish"
ReferencedProjectsConfigurations="@(StaticWebAssetProjectConfiguration)"
DiscoveryPatterns="@(StaticWebAssetDiscoveryPattern)"
Assets="@(_FinalPublishStaticWebAsset)"
ManifestPath="$(StaticWebAssetPublishManifestPath)">
</GenerateStaticWebAssetsManifest>
<ItemGroup>
<FileWrites Include="$(StaticWebAssetPublishManifestPath)" />
</ItemGroup>
</Target>
<Target Name="ResolvePublishStaticWebAssets" DependsOnTargets="$(ResolvePublishStaticWebAssetsDependsOn)" />
<Target Name="LoadStaticWebAssetsBuildManifest" BeforeTargets="ComputeResolvedFilesToPublishList">
<!-- Before we load assets from the manifest we cleanup any potential existing asset that might be present by default
for example, assets from packages as a result of a publish (no-build) invocation. Those assets were already taken
into account when we built the build manifest that we are about to load for resuming the publish process. -->
<PropertyGroup>
<_ShouldLoadBuildManifestAndUpdateAssets>false</_ShouldLoadBuildManifestAndUpdateAssets>
<_ShouldLoadBuildManifestAndUpdateAssets Condition="@(_CachedBuildStaticWebAssets) == '' and @(_CachedBuildStaticWebAssetDiscoveryPatterns) == ''">true</_ShouldLoadBuildManifestAndUpdateAssets>
</PropertyGroup>
<ItemGroup>
<StaticWebAsset Remove="@(StaticWebAsset)" />
<StaticWebAssetDiscoveryPattern Remove="@(StaticWebAssetDiscoveryPattern)" />
<StaticWebAssetProjectConfiguration Remove="@(StaticWebAssetProjectConfiguration)" />
</ItemGroup>
<ReadStaticWebAssetsManifestFile ManifestPath="$(StaticWebAssetBuildManifestPath)"
Condition="'$(_ShouldLoadBuildManifestAndUpdateAssets)' == 'true'">
<Output TaskParameter="Assets" ItemName="_CachedBuildStaticWebAssets" />
<Output TaskParameter="DiscoveryPatterns" ItemName="_CachedBuildStaticWebAssetDiscoveryPatterns" />
<Output TaskParameter="ReferencedProjectsConfiguration" ItemName="_CachedBuildStaticWebAssetReferencedProjectsConfiguration" />
</ReadStaticWebAssetsManifestFile>
<ItemGroup>
<Content Remove="@(_CachedBuildStaticWebAssets->'%(OriginalItemSpec)')" />
<None Remove="@(_CachedBuildStaticWebAssets->'%(OriginalItemSpec)')" />
<ResolvedFileToPublish Remove="@(_CachedBuildStaticWebAssets->'%(OriginalItemSpec)')" />
<ResolvedFileToPublish Remove="@(_CachedBuildStaticWebAssets)" />
</ItemGroup>
<ItemGroup Condition="$(_ShouldLoadBuildManifestAndUpdateAssets)">
<StaticWebAsset Include="@(_CachedBuildStaticWebAssets)" />
<StaticWebAssetDiscoveryPattern Include="@(_CachedBuildStaticWebAssetDiscoveryPatterns)" />
<StaticWebAssetProjectConfiguration Include="@(_CachedBuildStaticWebAssetReferencedProjectsConfiguration)" />
</ItemGroup>
</Target>
<Target Name="ComputeReferencedStaticWebAssetsPublishManifest"
DependsOnTargets="$(ComputeReferencedStaticWebAssetsPublishManifestDependsOn)"/>
<Target Name="ComputeReferencedProjectsPublishAssets" DependsOnTargets="LoadStaticWebAssetsBuildManifest">
<ItemGroup>
<_ProjectConfigurationsWithPublishTargets
Include="@(StaticWebAssetProjectConfiguration)"
Condition="'%(StaticWebAssetProjectConfiguration.GetPublishAssetsTargets)' != ''" />
</ItemGroup>
<PropertyGroup>
<_HasProjectsWithStaticWebAssetPublishTargets>false</_HasProjectsWithStaticWebAssetPublishTargets>
<_HasProjectsWithStaticWebAssetPublishTargets Condition="'@(_ProjectConfigurationsWithPublishTargets)' != ''">true</_HasProjectsWithStaticWebAssetPublishTargets>
</PropertyGroup>
<MSBuild Condition="$(_HasProjectsWithStaticWebAssetPublishTargets)"
Targets="%(_ProjectConfigurationsWithPublishTargets.GetPublishAssetsTargets)"
Properties="%(_ProjectConfigurationsWithPublishTargets.AdditionalPublishProperties)"
RemoveProperties="%(_ProjectConfigurationsWithPublishTargets.AdditionalPublishPropertiesToRemove);$(_GlobalPropertiesToRemoveFromProjectReferences)"
Projects="@(_ProjectConfigurationsWithPublishTargets)"
BuildInParallel="$(BuildInParallel)"
ContinueOnError="!$(BuildingProject)"
SkipNonexistentTargets="false"
>
<Output TaskParameter="TargetOutputs" ItemName="_ReferencedProjectPublishStaticWebAssetsItems" />
</MSBuild>
<ItemGroup Condition="$(_HasProjectsWithStaticWebAssetPublishTargets)">
<StaticWebAsset Remove="@(_ReferencedProjectPublishStaticWebAssetsItems)" />
<StaticWebAsset
Include="@(_ReferencedProjectPublishStaticWebAssetsItems)"
Condition="'%(_ReferencedProjectPublishStaticWebAssetsItems.ResultType)' == 'StaticWebAsset'"
RemoveMetadata="ResultType" />
</ItemGroup>
</Target>
<Target Name="CopyStaticWebAssetsToPublishDirectory" BeforeTargets="ComputeAndCopyFilesToPublishDirectory" DependsOnTargets="$(CopyStaticWebAssetsToPublishDirectoryDependsOn)" />
<Target Name="_SplitPublishStaticWebAssetsByCopyOptions" AfterTargets="CopyStaticWebAssetsToPublishDirectory">
<PropertyGroup>
<_StaticWebAssetsPublishPathPrefix>wwwroot</_StaticWebAssetsPublishPathPrefix>
<_StaticWebAssetsPublishPathPrefix Condition="'$(StaticWebAssetProjectMode)' == 'Root'">wwwroot/$(StaticWebAssetBasePath)</_StaticWebAssetsPublishPathPrefix>
</PropertyGroup>
<ComputeStaticWebAssetsForCurrentProject
Assets="@(StaticWebAsset)"
ProjectMode="$(StaticWebAssetProjectMode)"
AssetKind="Publish"
Source="$(PackageId)"
>
<Output TaskParameter="StaticWebAssets" ItemName="_StaticWebAssetsToPublish" />
</ComputeStaticWebAssetsForCurrentProject>
<ComputeStaticWebAssetsTargetPaths Assets="@(_StaticWebAssetsToPublish)" PathPrefix="$(_StaticWebAssetsPublishPathPrefix)">
<Output TaskParameter="AssetsWithTargetPath" ItemName="_PublishStaticWebAssetsTargetPath" />
</ComputeStaticWebAssetsTargetPaths>
<ItemGroup>
<_PublishStaticWebAssetsCopyAlways Include="@(_PublishStaticWebAssetsTargetPath)" Condition="'%(CopyToPublishDirectory)' == 'Always'" />
<_PublishStaticWebAssetsPreserveNewest Include="@(_PublishStaticWebAssetsTargetPath)" Condition="'%(CopyToPublishDirectory)' == 'PreserveNewest'" />
</ItemGroup>
</Target>
<Target Name="_PublishCopyStaticWebAssetsPreserveNewest"
Inputs="@(_PublishStaticWebAssetsPreserveNewest)"
Outputs="@(_PublishStaticWebAssetsPreserveNewest->'$(PublishDir)%(TargetPath)')"
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions">
<Copy SourceFiles="@(_PublishStaticWebAssetsPreserveNewest)"
DestinationFiles="@(_PublishStaticWebAssetsPreserveNewest->'$(PublishDir)%(TargetPath)')"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>
</Target>
<Target Name="_PublishCopyStaticWebAssetsAlways"
AfterTargets="_SplitPublishStaticWebAssetsByCopyOptions">
<Copy SourceFiles="@(_PublishStaticWebAssetsCopyAlways)"
DestinationFiles="@(_PublishStaticWebAssetsCopyAlways->'$(PublishDir)%(TargetPath)')"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForPublishFilesIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForPublishFilesIfPossible)">
<Output TaskParameter="DestinationFiles" ItemName="FileWrites"/>
</Copy>
</Target>
<Target Name="LoadStaticWebAssetsPublishManifest">
<PropertyGroup>
<_ShouldLoadPublishManifestAndUpdateAssets>false</_ShouldLoadPublishManifestAndUpdateAssets>
<_ShouldLoadPublishManifestAndUpdateAssets Condition="@(_CachedPublishStaticWebAssets) == '' and @(_CachedPublishStaticWebAssetDiscoveryPatterns) == ''">true</_ShouldLoadPublishManifestAndUpdateAssets>
</PropertyGroup>
<ItemGroup>
<StaticWebAsset Remove="@(StaticWebAsset)" />
<StaticWebAssetDiscoveryPattern Remove="@(StaticWebAssetDiscoveryPattern)" />
</ItemGroup>
<ReadStaticWebAssetsManifestFile ManifestPath="$(StaticWebAssetPublishManifestPath)"
Condition="'$(_ShouldLoadPublishManifestAndUpdateAssets)' == 'true'">
<Output TaskParameter="Assets" ItemName="_CachedPublishStaticWebAssets" />
<Output TaskParameter="DiscoveryPatterns" ItemName="_CachedPublishStaticWebAssetDiscoveryPatterns" />
</ReadStaticWebAssetsManifestFile>
<ItemGroup>
<Content Remove="@(_CachedPublishStaticWebAssets->'%(OriginalItemSpec)')" />
<None Remove="@(_CachedPublishStaticWebAssets->'%(OriginalItemSpec)')" />
<ResolvedFileToPublish Remove="@(_CachedPublishStaticWebAssets->'%(OriginalItemSpec)')" />
<ResolvedFileToPublish Remove="@(_CachedPublishStaticWebAssets)" />
</ItemGroup>
<ItemGroup>
<StaticWebAsset Include="@(_CachedPublishStaticWebAssets)" />
<StaticWebAssetDiscoveryPattern Remove="@(_CachedPublishStaticWebAssetDiscoveryPatterns)" />
</ItemGroup>
</Target>
</Project>