File size: 4,520 Bytes
090629c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!--
***********************************************************************************************

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">

  <UsingTask

    TaskName="Microsoft.AspNetCore.StaticWebAssets.Tasks.ResolveStaticWebAssetsEmbeddedProjectConfiguration"

    AssemblyFile="$(StaticWebAssetsSdkBuildTasksAssembly)"

    Condition="'$(StaticWebAssetsSdkBuildTasksAssembly)' != ''" />

  <Target Name="GetStaticWebAssetsCrossTargetingProjectConfiguration"

    DependsOnTargets="_ComputeTargetFrameworkItems"

    Returns="@(StaticWebAssetsCrossTargetingProjectConfiguration)">
    <MSBuild Projects="@(_InnerBuildProjects)"

             Condition="'@(_InnerBuildProjects)' != '' "

             Targets="ResolveStaticWebAssetsEmbeddingRules;GetStaticWebAssetsCrosstargetingProjectConfiguration"

             SkipNonexistentTargets="true"

             BuildInParallel="$(BuildInParallel)">

      <Output ItemName="_ResolvedConfigurationOutputs" TaskParameter="TargetOutputs" />

    </MSBuild>


    <ItemGroup>

      <StaticWebAssetsEmbeddedConfiguration

        Include="@(_ResolvedConfigurationOutputs)"

        Condition="'%(MSBuildSourceTargetName)' == 'ResolveStaticWebAssetsEmbeddingRules'" RemoveMetadata="MSBuildSourceTargetName" />


      <StaticWebAssetsCrossTargetingProjectConfiguration

        Include="@(_ResolvedConfigurationOutputs)"

        Condition="'%(MSBuildSourceTargetName)' == 'GetStaticWebAssetsCrosstargetingProjectConfiguration'" RemoveMetadata="MSBuildSourceTargetName" />

    </ItemGroup>


  </Target>

  <Target Name="StaticWebAssetsUpdateCrossTargetingBuildProjects"

    DependsOnTargets="GetStaticWebAssetsCrossTargetingProjectConfiguration"

    BeforeTargets="DispatchToInnerBuilds">

      <!-- Break down the target framework into its components. We do it here because we can't do it inside the task without

        referencing additional dlls, which is painful.

      -->

      <ItemGroup>

        <_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration Include="@(StaticWebAssetsCrossTargetingProjectConfiguration)">

          <TargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('%(StaticWebAssetsCrossTargetingProjectConfiguration.TargetFramework)'))</TargetFrameworkIdentifier>

          <TargetFrameworkVersion>$([MSBuild]::GetTargetFrameworkVersion('%(StaticWebAssetsCrossTargetingProjectConfiguration.TargetFramework)'))</TargetFrameworkVersion>

          <Platform>$([MSBuild]::GetTargetPlatformIdentifier('%(StaticWebAssetsCrossTargetingProjectConfiguration.TargetFramework)'))</Platform>

          <PlatformVersion>$([MSBuild]::GetTargetPlatformVersion('%(StaticWebAssetsCrossTargetingProjectConfiguration.TargetFramework)'))</PlatformVersion>

        </_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration>


        <_StaticWebAssetsTargetFrameworks Include="%(_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration.TargetFramework)" />

      </ItemGroup>


      <!-- Evaluate the embedding rules for this target framework. -->

      <ResolveStaticWebAssetsEmbeddedProjectConfiguration

        Condition="'@(_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration)' != ''"

        StaticWebAssetProjectConfiguration="@(_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration)"

        EmbeddingConfiguration="@(StaticWebAssetsEmbeddedConfiguration)"

        TargetFrameworks="@(_StaticWebAssetsTargetFrameworks)"

        CrossTargetingBuildConfigurations="@(_InnerBuildProjects)">


        <Output TaskParameter="FilteredCrossTargetingBuildConfigurations" ItemName="_FilteredConfigurations" />

      </ResolveStaticWebAssetsEmbeddedProjectConfiguration>


      <ItemGroup Condition="'@(_ExtendedStaticWebAssetsCrossTargetingProjectConfiguration)' != ''">

        <_InnerBuildProjects Remove="@(_InnerBuildProjects)" />

        <_InnerBuildProjects Include="@(_FilteredConfigurations)" />

      </ItemGroup>


  </Target>

  <Import Project="Microsoft.NET.Sdk.StaticWebAssets.Pack.CrossTargeting.targets" />

</Project>