Skip to content

Conversation

@kotlarmilos
Copy link
Member

Description

This PR updates PublishReadyToRunEmitSymbols to allow it to be overridden. It aligns the behavior with the SDK mirror.

@kotlarmilos kotlarmilos self-assigned this Nov 6, 2025
@kotlarmilos kotlarmilos added the os-ios Apple iOS label Nov 6, 2025
@kotlarmilos kotlarmilos added this to the 11.0.0 milestone Nov 6, 2025
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes the PublishReadyToRunEmitSymbols property initialization to respect user-provided values. Previously, the property was unconditionally set to false for Apple platforms (iOS, tvOS, macOS Catalyst), which prevented users from overriding this behavior.

Key Changes:

  • Modified the condition for PublishReadyToRunEmitSymbols to only set it to false when the property hasn't been explicitly set by the user

@kotlarmilos
Copy link
Member Author

/azp run runtime-ioslike

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

<PublishReadyToRunUseRuntimePackOptimizationData Condition="'$(PublishReadyToRunUseRuntimePackOptimizationData)' == ''">true</PublishReadyToRunUseRuntimePackOptimizationData>
<PublishReadyToRunPerfmapFormatVersion Condition="'$(PublishReadyToRunPerfmapFormatVersion)' == ''">1</PublishReadyToRunPerfmapFormatVersion>
<PublishReadyToRunEmitSymbols Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst'">false</PublishReadyToRunEmitSymbols>
<PublishReadyToRunEmitSymbols Condition="'$(PublishReadyToRunEmitSymbols)' == '' and ('$(TargetOS)' == 'ios' or '$(TargetOS)' == 'iossimulator' or '$(TargetOS)' == 'tvos' or '$(TargetOS)' == 'tvossimulator' or '$(TargetOS)' == 'maccatalyst')">false</PublishReadyToRunEmitSymbols>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should also use TargetPlatformIdentifier here instead of TargetOS so that this file goes back to being 100% the same as the sdk copy.

we can set PublishReadyToRunEmitSymbols in runtime's Directory.Build.props or somewhere else based on the TargetOS then

@kotlarmilos
Copy link
Member Author

kotlarmilos commented Nov 7, 2025

I think arcade overrides PublishReadyToRunEmitSymbols in https://github.com/dotnet/arcade/blob/7d717a49d570577936361c14de38bf61271aa274/src/Microsoft.DotNet.SharedFramework.Sdk/targets/sharedfx.targets#L10

iOS build is failing with the System.NotImplementedException: iOS

@jkoritzinsky
Copy link
Member

We can change arcade to not forcibly override it.

@jkoritzinsky
Copy link
Member

Arcade PR here: dotnet/arcade#16281

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants