Spaces:
Running
Running
<!-- | |
*********************************************************************************************** | |
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> | |