Skip to content

Commit 20ff641

Browse files
steveisokSteve Pfister
andauthored
Fix MonoCrossAOT.UnixFilePermissions for wasm (#54693)
* Fix MonoCrossAOT.UnixFilePermissions for wasm We introduced Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml in #54501 to make sure the right permissions are set when installing AOT compiler workload packs. We hardcoded the list to include mono-aot-cross, llc, and opt. However, in wasm's case they only have mono-aot-cross. This change makes the xml file a template and only includes mono-aot-cross for browser and all three for the other configurations. Fixes #54612 * Use property instead of item for the file nodes * Ankit suggestion Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
1 parent 5306472 commit 20ff641

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<FileList>
2+
${PermissionsProperties}
3+
</FileList>

src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.MonoCrossAOT.sfxproj

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,29 @@
1818
</PropertyGroup>
1919

2020
<ItemGroup>
21-
<NativeRuntimeAsset Include="$(MonoAotCrossDir)$(TargetCrossRid)\**" TargetPath="tools/" />
21+
<_ToolFile Include="$(MonoAotCrossDir)$(TargetCrossRid)\**" />
22+
<NativeRuntimeAsset Include="@(_ToolFile)" TargetPath="tools/" />
2223
<NativeRuntimeAsset Include="$(MonoAotCrossDir)$(TargetCrossRid).Sdk.props" TargetPath="Sdk/Sdk.props" />
23-
<NativeRuntimeAsset Condition="!$([MSBuild]::IsOsPlatform('Windows'))" Include="Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml" TargetPath="data/UnixFilePermissions.xml" />
24+
<NativeRuntimeAsset Condition="!$([MSBuild]::IsOsPlatform('Windows'))" Include="$(MonoAotCrossDir)Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml" TargetPath="data/UnixFilePermissions.xml" />
2425
</ItemGroup>
2526

26-
<Target Name="WriteAotSdkProps" BeforeTargets="ValidateProperties">
27+
<Target Name="WriteTemplateFiles" BeforeTargets="ValidateProperties">
2728
<ItemGroup>
2829
<_SdkPropsProperties Condition="!$([MSBuild]::IsOsPlatform('Windows'))" Include="ExeSuffix" Value="" />
2930
<_SdkPropsProperties Condition="$([MSBuild]::IsOsPlatform('Windows'))" Include="ExeSuffix" Value=".exe" />
3031
<_SdkPropsProperties Include="TargetRid" Value="$(TargetCrossRid)" />
3132
</ItemGroup>
33+
<PropertyGroup>
34+
<_PermissionsFiles>@(_ToolFile -> '&lt;File Path=&quot;tools/%(RecursiveDir)%(FileName)%(Extension)&quot; Permission=&quot;755&quot; /&gt;', ' ')</_PermissionsFiles>
35+
</PropertyGroup>
36+
<ItemGroup>
37+
<_PermissionsProperties Include="PermissionsProperties" Value="$(_PermissionsFiles)" />
38+
</ItemGroup>
39+
<GenerateFileFromTemplate
40+
Condition="!$([MSBuild]::IsOsPlatform('Windows'))"
41+
TemplateFile="Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml.in"
42+
Properties="@(_PermissionsProperties)"
43+
OutputPath="$(MonoAotCrossDir)Microsoft.NETCore.App.MonoCrossAOT.UnixFilePermissions.xml" />
3244
<GenerateFileFromTemplate
3345
TemplateFile="Microsoft.NETCore.App.MonoCrossAOT.Sdk.props.in"
3446
Properties="@(_SdkPropsProperties)"

0 commit comments

Comments
 (0)