Skip to content

Commit 5687d45

Browse files
authored
Pack SS meta tools via post-build target to fix empty tools folder (#9807)
1 parent 0d144b7 commit 5687d45

3 files changed

Lines changed: 63 additions & 9 deletions

File tree

src/StrawberryShake/MetaPackages/Blazor/StrawberryShake.Blazor.csproj

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,27 @@
2424
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.ContentType.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.ContentType.xaml" Visible="false" />
2525
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.xaml" Visible="false" />
2626
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\global.json" Pack="true" PackagePath="build/global.json" Visible="false" />
27-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" Pack="true" PackagePath="tools/net8" Visible="false" />
28-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" Pack="true" PackagePath="tools/net9" Visible="false" />
29-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" Pack="true" PackagePath="tools/net10" Visible="false" />
3027
</ItemGroup>
3128

29+
<PropertyGroup>
30+
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_AddDotnetGraphqlToolsToPackage</TargetsForTfmSpecificContentInPackage>
31+
</PropertyGroup>
32+
33+
<!-- Package the `dotnet-graphql` tool binaries into tools/net{8,9,10}/.
34+
Runs after pack's build phase has populated dotnet-graphql's bin/ for the
35+
current TFM (the ProjectReference above triggers a build per consumer TFM).
36+
Each framework contributes only its own tools/netX folder to avoid NU5118
37+
duplicate package-path collisions. -->
38+
<Target Name="_AddDotnetGraphqlToolsToPackage">
39+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
40+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" PackagePath="tools/net8" />
41+
</ItemGroup>
42+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
43+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" PackagePath="tools/net9" />
44+
</ItemGroup>
45+
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
46+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" PackagePath="tools/net10" />
47+
</ItemGroup>
48+
</Target>
49+
3250
</Project>

src/StrawberryShake/MetaPackages/Maui/StrawberryShake.Maui.csproj

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,27 @@
2323
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.ContentType.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.ContentType.xaml" Visible="false" />
2424
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.xaml" Visible="false" />
2525
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\global.json" Pack="true" PackagePath="build/global.json" Visible="false" />
26-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" Pack="true" PackagePath="tools/net8" Visible="false" />
27-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" Pack="true" PackagePath="tools/net9" Visible="false" />
28-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" Pack="true" PackagePath="tools/net10" Visible="false" />
2926
</ItemGroup>
3027

28+
<PropertyGroup>
29+
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_AddDotnetGraphqlToolsToPackage</TargetsForTfmSpecificContentInPackage>
30+
</PropertyGroup>
31+
32+
<!-- Package the `dotnet-graphql` tool binaries into tools/net{8,9,10}/.
33+
Runs after pack's build phase has populated dotnet-graphql's bin/ for the
34+
current TFM (the ProjectReference above triggers a build per consumer TFM).
35+
Each framework contributes only its own tools/netX folder to avoid NU5118
36+
duplicate package-path collisions. -->
37+
<Target Name="_AddDotnetGraphqlToolsToPackage">
38+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
39+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" PackagePath="tools/net8" />
40+
</ItemGroup>
41+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
42+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" PackagePath="tools/net9" />
43+
</ItemGroup>
44+
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
45+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" PackagePath="tools/net10" />
46+
</ItemGroup>
47+
</Target>
48+
3149
</Project>

src/StrawberryShake/MetaPackages/Server/StrawberryShake.Server.csproj

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,27 @@
2323
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.ContentType.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.ContentType.xaml" Visible="false" />
2424
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\StrawberryShake.MSBuild.xaml" Pack="true" PackagePath="build/StrawberryShake.MSBuild.xaml" Visible="false" />
2525
<None Include="$(MSBuildThisFileDirectory)..\Common\MSBuild\global.json" Pack="true" PackagePath="build/global.json" Visible="false" />
26-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" Pack="true" PackagePath="tools/net8" Visible="false" />
27-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" Pack="true" PackagePath="tools/net9" Visible="false" />
28-
<None Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" Pack="true" PackagePath="tools/net10" Visible="false" />
2926
</ItemGroup>
3027

28+
<PropertyGroup>
29+
<TargetsForTfmSpecificContentInPackage>$(TargetsForTfmSpecificContentInPackage);_AddDotnetGraphqlToolsToPackage</TargetsForTfmSpecificContentInPackage>
30+
</PropertyGroup>
31+
32+
<!-- Package the `dotnet-graphql` tool binaries into tools/net{8,9,10}/.
33+
Runs after pack's build phase has populated dotnet-graphql's bin/ for the
34+
current TFM (the ProjectReference above triggers a build per consumer TFM).
35+
Each framework contributes only its own tools/netX folder to avoid NU5118
36+
duplicate package-path collisions. -->
37+
<Target Name="_AddDotnetGraphqlToolsToPackage">
38+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
39+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net8.0\**\*.*" PackagePath="tools/net8" />
40+
</ItemGroup>
41+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
42+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net9.0\**\*.*" PackagePath="tools/net9" />
43+
</ItemGroup>
44+
<ItemGroup Condition="'$(TargetFramework)' == 'net10.0'">
45+
<TfmSpecificPackageFile Include="$(MSBuildThisFileDirectory)..\..\Tooling\src\dotnet-graphql\bin\$(Configuration)\net10.0\**\*.*" PackagePath="tools/net10" />
46+
</ItemGroup>
47+
</Target>
48+
3149
</Project>

0 commit comments

Comments
 (0)