roblox-cs / dotnet /sdk /8.0.402 /Sdks /Microsoft.NET.Sdk.StaticWebAssets /targets /Microsoft.NET.Sdk.StaticWebAssets.References.targets
asynchronousai's picture
Upload 2613 files
090629c verified
raw
history blame
10.6 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="_CleanupReferencedProjectItemGroups" BeforeTargets="GetCopyToPublishDirectoryItems" DependsOnTargets="ResolveStaticWebAssetsConfiguration">
<ReadStaticWebAssetsManifestFile ManifestPath="$(StaticWebAssetBuildManifestPath)">
<Output TaskParameter="Assets" ItemName="_CleanupStaticWebAsset" />
</ReadStaticWebAssetsManifestFile>
<ItemGroup>
<Content Remove="@(_CleanupStaticWebAsset->'%(OriginalItemSpec)')" />
<ContentWithTargetPath Remove="@(_CleanupStaticWebAsset->'%(OriginalItemSpec)')" />
<None Remove="@(_CleanupStaticWebAsset->'%(OriginalItemSpec)')" />
<_NoneWithTargetPath Remove="@(_CleanupStaticWebAsset->'%(OriginalItemSpec)')" />
<ResolvedFileToPublish Remove="@(_CleanupStaticWebAsset->'%(OriginalItemSpec)')" />
</ItemGroup>
</Target>
<Target Name="ResolveReferencedProjectsStaticWebAssetsConfiguration" DependsOnTargets="ResolveStaticWebAssetsConfiguration;PrepareProjectReferences">
<ItemGroup>
<!-- It is explicitly ok to take a dependency on _MSBuildProjectReferenceExistent as it is
something many other products already take a dependency on. -->
<_StaticWebAssetProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition="'%(BuildReference)' == 'true' and '@(ProjectReferenceWithConfiguration)' != ''" />
</ItemGroup>
<MSBuild
Condition="'@(_StaticWebAssetProjectReference)' != ''"
Targets="GetStaticWebAssetsProjectConfiguration"
Properties="%(_StaticWebAssetProjectReference.SetConfiguration);%(_StaticWebAssetProjectReference.SetPlatform);%(_StaticWebAssetProjectReference.SetTargetFramework)"
RemoveProperties="%(_StaticWebAssetProjectReference.GlobalPropertiesToRemove);$(_GlobalPropertiesToRemoveFromProjectReferences)"
Projects="@(_StaticWebAssetProjectReference)"
BuildInParallel="$(BuildInParallel)"
ContinueOnError="!$(BuildingProject)"
SkipNonexistentTargets="true">
<Output TaskParameter="TargetOutputs" ItemName="_ReferencedProjectsConfiguration" />
</MSBuild>
<MergeConfigurationProperties
CandidateConfigurations="@(_ReferencedProjectsConfiguration)"
ProjectReferences="@(_StaticWebAssetProjectReference)">
<Output TaskParameter="ProjectConfigurations" ItemName="StaticWebAssetProjectConfiguration" />
</MergeConfigurationProperties>
</Target>
<!--
The static web asset configuration defines the following metadata:
Version: Version of the contract supported by this project, it can be 1 or 2.
Source: The package id of the project.
GetBuildAssetsTargets: The targets to run to get the build assets.
GetPublishAssetsTargets: The targets to run to get the publish assets.
AdditionalBuildProperties: Additional properties to pass to the build assets targets.
AdditionalBuildPropertiesToRemove: Additional properties to remove from the build assets targets.
AdditionalPublishProperties: Additional properties to pass to the publish assets targets.
AdditionalPublishPropertiesToRemove: Additional properties to remove from the publish assets targets.
TargetFramework: The target framework associated with the current configuration.
-->
<Target Name="GetStaticWebAssetsProjectConfiguration" Returns="@(_StaticWebAssetThisProjectConfiguration)" DependsOnTargets="ResolveStaticWebAssetsConfiguration">
<PropertyGroup>
<StaticWebAssetsGetPublishAssetsTargets Condition="'$(StaticWebAssetsGetPublishAssetsTargets)' == ''">ComputeReferencedStaticWebAssetsPublishManifest;GetCurrentProjectPublishStaticWebAssetItems</StaticWebAssetsGetPublishAssetsTargets>
<StaticWebAssetsGetBuildAssetsTargets Condition="'$(StaticWebAssetsGetBuildAssetsTargets)' == ''">GetCurrentProjectBuildStaticWebAssetItems</StaticWebAssetsGetBuildAssetsTargets>
</PropertyGroup>
<ItemGroup>
<_StaticWebAssetThisProjectConfiguration Include="$(MSBuildProjectFullPath)">
<Version>2</Version>
<Source>$(PackageId)</Source>
<TargetFramework>$(TargetFramework)</TargetFramework>
<!-- Build -->
<GetBuildAssetsTargets>$(StaticWebAssetsGetBuildAssetsTargets)</GetBuildAssetsTargets>
<AdditionalBuildProperties>$(StaticWebAssetsAdditionalBuildProperties)</AdditionalBuildProperties>
<AdditionalBuildPropertiesToRemove>$(StaticWebAssetsAdditionalBuildPropertiesToRemove)</AdditionalBuildPropertiesToRemove>
<!-- Publish -->
<GetPublishAssetsTargets>$(StaticWebAssetsGetPublishAssetsTargets)</GetPublishAssetsTargets>
<AdditionalPublishProperties>$(StaticWebAssetsAdditionalPublishProperties)</AdditionalPublishProperties>
<AdditionalPublishPropertiesToRemove>$(StaticWebAssetsAdditionalPublishPropertiesToRemove)</AdditionalPublishPropertiesToRemove>
</_StaticWebAssetThisProjectConfiguration>
</ItemGroup>
</Target>
<Target Name="ResolveReferencedProjectsStaticWebAssets" DependsOnTargets="ResolveReferencedProjectsStaticWebAssetsConfiguration">
<MSBuild
Condition="'@(StaticWebAssetProjectConfiguration)' != ''"
Targets="%(StaticWebAssetProjectConfiguration.GetBuildAssetsTargets)"
Properties="%(StaticWebAssetProjectConfiguration.AdditionalBuildProperties)"
RemoveProperties="%(StaticWebAssetProjectConfiguration.AdditionalBuildPropertiesToRemove);$(_GlobalPropertiesToRemoveFromProjectReferences)"
Projects="@(StaticWebAssetProjectConfiguration)"
BuildInParallel="$(BuildInParallel)"
ContinueOnError="!$(BuildingProject)"
SkipNonexistentTargets="false"
>
<Output TaskParameter="TargetOutputs" ItemName="_ReferencedProjectBuildStaticWebAssetsItems" />
</MSBuild>
<ItemGroup>
<StaticWebAsset
Include="@(_ReferencedProjectBuildStaticWebAssetsItems)"
Condition="'%(_ReferencedProjectBuildStaticWebAssetsItems.ResultType)' == 'StaticWebAsset'"
KeepMetadata="@(_StaticWebAssetCanonicalMetadata)" />
<StaticWebAssetDiscoveryPattern
Include="@(_ReferencedProjectBuildStaticWebAssetsItems)"
Condition="'%(_ReferencedProjectBuildStaticWebAssetsItems.ResultType)' == 'StaticWebAssetDiscoveryPattern'"
KeepMetadata="@(_StaticWebAssetDiscoveryPatternCanonicalMetadata)" />
</ItemGroup>
</Target>
<Target Name="GetCurrentProjectBuildStaticWebAssetItems" DependsOnTargets="ResolveStaticWebAssetsConfiguration" Returns="@(_CachedBuildStaticWebAssetItems)">
<PropertyGroup>
<_ShouldReadBuildManifestAndUpdateItemGroup>false</_ShouldReadBuildManifestAndUpdateItemGroup>
<_ShouldReadBuildManifestAndUpdateItemGroup Condition="@(_CachedBuildStaticWebAssets) == '' and @(_CachedBuildStaticWebAssetDiscoveryPatterns) == ''">true</_ShouldReadBuildManifestAndUpdateItemGroup>
</PropertyGroup>
<ReadStaticWebAssetsManifestFile ManifestPath="$(StaticWebAssetBuildManifestPath)"
Condition="'$(_ShouldReadBuildManifestAndUpdateItemGroup)' == 'true'">
<Output TaskParameter="Assets" ItemName="_CachedBuildStaticWebAssets" />
<Output TaskParameter="DiscoveryPatterns" ItemName="_CachedBuildStaticWebAssetDiscoveryPatterns" />
</ReadStaticWebAssetsManifestFile>
<ComputeReferenceStaticWebAssetItems
Assets="@(_CachedBuildStaticWebAssets)"
Patterns="@(_CachedBuildStaticWebAssetDiscoveryPatterns)"
ProjectMode="$(StaticWebAssetProjectMode)"
AssetKind="Build"
Source="$(PackageId)"
>
<Output TaskParameter="StaticWebAssets" ItemName="_CachedBuildReferencedStaticWebAsset" />
<Output TaskParameter="DiscoveryPatterns" ItemName="_CachedBuildReferencedStaticWebAssetDiscoveryPatterns" />
</ComputeReferenceStaticWebAssetItems>
<ItemGroup>
<_CachedBuildStaticWebassetItems Include="@(_CachedBuildReferencedStaticWebAsset)">
<ResultType>StaticWebAsset</ResultType>
</_CachedBuildStaticWebassetItems>
<_CachedBuildStaticWebassetItems Include="@(_CachedBuildReferencedStaticWebAssetDiscoveryPatterns)">
<ResultType>StaticWebAssetDiscoveryPattern</ResultType>
</_CachedBuildStaticWebassetItems>
</ItemGroup>
</Target>
<Target Name="GetCurrentProjectPublishStaticWebAssetItems" DependsOnTargets="ResolveStaticWebAssetsConfiguration" Returns="@(_CachedPublishStaticWebAssetItems)">
<PropertyGroup>
<_ShouldReadPublishManifestAndUpdateItemGroup>false</_ShouldReadPublishManifestAndUpdateItemGroup>
<_ShouldReadPublishManifestAndUpdateItemGroup Condition="@(_CachedPublishStaticWebAssets) == '' and @(_CachedPublishStaticWebAssetDiscoveryPatterns) == ''">true</_ShouldReadPublishManifestAndUpdateItemGroup>
</PropertyGroup>
<ReadStaticWebAssetsManifestFile ManifestPath="$(StaticWebAssetPublishManifestPath)"
Condition="'$(_ShouldReadPublishManifestAndUpdateItemGroup)' == 'true'">
<Output TaskParameter="Assets" ItemName="_CachedPublishStaticWebAssets" />
<Output TaskParameter="DiscoveryPatterns" ItemName="_CachedPublishStaticWebAssetDiscoveryPatterns" />
</ReadStaticWebAssetsManifestFile>
<ComputeReferenceStaticWebAssetItems
Assets="@(_CachedPublishStaticWebAssets)"
ProjectMode="$(StaticWebAssetProjectMode)"
AssetKind="Publish"
Source="$(PackageId)"
>
<Output TaskParameter="StaticWebAssets" ItemName="_CachedPublishReferencedStaticWebAsset" />
</ComputeReferenceStaticWebAssetItems>
<ItemGroup>
<_CachedPublishStaticWebassetItems Include="@(_CachedPublishReferencedStaticWebAsset)">
<ResultType>StaticWebAsset</ResultType>
</_CachedPublishStaticWebassetItems>
</ItemGroup>
</Target>
</Project>