Skip to content

Commit 65d605a

Browse files
committed
build: fix silently-skipped package signing
1 parent fb3a8e9 commit 65d605a

1 file changed

Lines changed: 18 additions & 20 deletions

File tree

build/Stride.build

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,15 @@ Example: dotnet build build/Stride.build -t:Package
2929
<StrideSignArgs>--description "Stride" --description-url "https://stride3d.net" --publisher-name "Stride" --azure-key-vault-tenant-id "$(StrideSignTenantId)" --azure-key-vault-client-id "$(StrideSignClientId)" --azure-key-vault-client-secret "$(StrideSignClientSecret)" --azure-key-vault-certificate "$(StrideSignKeyVaultCertificate)" --azure-key-vault-url "https://$(StrideSignKeyVaultName).vault.azure.net/" --file-list "sign\nupkgfilter.txt" -v Information</StrideSignArgs>
3030
</PropertyGroup>
3131

32-
<!-- Sign every file in @(StrideFilesToSign). Callers set the item then invoke this target. -->
33-
<Target Name="_SignFiles" DependsOnTargets="SignCredentialsCheck" Condition="'$(StrideSign)' == 'true' And '@(StrideFilesToSign)' != ''">
34-
<Message Importance="high" Text="Signing @(StrideFilesToSign->Count()) file(s)" />
35-
<Exec Command="$(StrideSignTool) %(StrideFilesToSign.Identity) $(StrideSignArgs)" EchoOff="true" />
32+
<!-- Sign every *.nupkg in $(StrideSignDir). Pass the dir, not a glob: a wildcard expands only when
33+
literal in an Include, not via a property. Error if nothing matches, so we never ship unsigned. -->
34+
<Target Name="_SignFiles" DependsOnTargets="SignCredentialsCheck" Condition="'$(StrideSign)' == 'true'">
35+
<ItemGroup>
36+
<_SignList Include="$(StrideSignDir)\*.nupkg" />
37+
</ItemGroup>
38+
<Error Condition="'@(_SignList)' == ''" Text="StrideSign=true but no .nupkg found in '$(StrideSignDir)' — nothing to sign. Refusing to ship an unsigned package." />
39+
<Message Importance="high" Text="Signing @(_SignList->Count()) file(s)" />
40+
<Exec Command="$(StrideSignTool) %(_SignList.Identity) $(StrideSignArgs)" EchoOff="true" />
3641
</Target>
3742

3843
<!-- Build an AdvancedInstaller .aip ($(StrideInstallerAip)), signing inline when StrideSign.
@@ -61,10 +66,9 @@ Example: dotnet build build/Stride.build -t:Package
6166
<MSBuild Targets="Stride_VisualStudio_Package;Stride_VisualStudio_PackageInstall" Projects="$(StrideVisualStudioSolution)" Properties="$(BuildProperties);Platform=Any CPU"/>
6267
<Exec Command='"$(NuGetPath)" pack "$(StrideRoot)sources\tools\Stride.VisualStudio.Package\Stride.VisualStudio.Package.nuspec" -BasePath "$(StrideRoot)sources\tools\Stride.VisualStudio.Package" -OutputDirectory "$(StrideRoot)bin\vsix"' />
6368

64-
<ItemGroup>
65-
<StrideFilesToSign Include="$(MSBuildThisFileDirectory)..\bin\vsix\*.nupkg" />
66-
</ItemGroup>
67-
<CallTarget Targets="_SignFiles" />
69+
<!-- Invoke _SignFiles via MSBuild (not CallTarget) so StrideSignDir reaches it and its *.nupkg glob resolves -->
70+
<MSBuild Projects="$(MSBuildThisFileFullPath)" Targets="_SignFiles"
71+
Properties="StrideSign=$(StrideSign);StrideSignDir=$(MSBuildThisFileDirectory)..\bin\vsix" />
6872
</Target>
6973

7074
<!--
@@ -175,10 +179,8 @@ Example: dotnet build build/Stride.build -t:Package
175179
</Target>
176180

177181
<Target Name="SignPackageCli">
178-
<ItemGroup>
179-
<StrideFilesToSign Include="$(StrideCliPackageDir)\*.nupkg" />
180-
</ItemGroup>
181-
<CallTarget Targets="_SignFiles" />
182+
<MSBuild Projects="$(MSBuildThisFileFullPath)" Targets="_SignFiles"
183+
Properties="StrideSign=$(StrideSign);StrideSignDir=$(StrideCliPackageDir)" />
182184
</Target>
183185

184186
<Target Name="PackageCli" DependsOnTargets="BuildPackageCli;SignPackageCli" />
@@ -270,10 +272,8 @@ Example: dotnet build build/Stride.build -t:Package
270272
<!-- Generate the nuget package for the launcher application -->
271273
<Exec Command='"$(NuGetPath)" pack "$(StrideRoot)sources\launcher\Stride.Launcher\Stride.Launcher.nuspec" -BasePath "$(StrideRoot)sources\launcher\Stride.Launcher\bin\Release\publish" -OutputDirectory "$(StrideRoot)bin\launcher"' />
272274

273-
<ItemGroup>
274-
<StrideFilesToSign Include="$(MSBuildThisFileDirectory)..\bin\launcher\*.nupkg" />
275-
</ItemGroup>
276-
<CallTarget Targets="_SignFiles" />
275+
<MSBuild Projects="$(MSBuildThisFileFullPath)" Targets="_SignFiles"
276+
Properties="StrideSign=$(StrideSign);StrideSignDir=$(MSBuildThisFileDirectory)..\bin\launcher" />
277277
</Target>
278278

279279
<!--
@@ -314,10 +314,8 @@ Example: dotnet build build/Stride.build -t:Package
314314
</Target>
315315

316316
<Target Name="SignPackage">
317-
<ItemGroup>
318-
<StrideFilesToSign Include="$(MSBuildThisFileDirectory)..\bin\packages\*.nupkg" />
319-
</ItemGroup>
320-
<CallTarget Targets="_SignFiles" />
317+
<MSBuild Projects="$(MSBuildThisFileFullPath)" Targets="_SignFiles"
318+
Properties="StrideSign=$(StrideSign);StrideSignDir=$(MSBuildThisFileDirectory)..\bin\packages" />
321319
</Target>
322320

323321
<!-- StrideGitVersion task (package version from git release tags); shared with Stride.Samples.build. -->

0 commit comments

Comments
 (0)