-
Notifications
You must be signed in to change notification settings - Fork 1.1k
--use-current-runtime semantics #14296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I think portable rid is the main use-case. I'd prefer the new option uses the portable rid on Microsoft and source-build sdk, and we update the docs/implementation/option name accordingly. |
The place where source-build is overriding <PropertyGroup Condition="'$(UseCurrentRuntimeIdentifier)' == 'true'">
<RuntimeIdentifier>$(NameOfTheSourceBuildSpecificVariableWhichHoldsPortableRID)</RuntimeIdentifier>
</PropertyGroup> I believe this will be enough to align the source-build and Microsoft SDKs behaviors in a way that both are using portable RID, without changing anything else in this repo (including public docs that can continue to stay impartial about the implementation detail and avoiding terms like |
This isn't how this works--when dotnet/installer is built by source-build, dotnet/installer generates The rest of your suggestion makes sense, but it should be implemented in dotnet/sdk (and dotnet/installer if more values need to be preserved from build time => runtime). |
It sounds like we should update Then we can update the UseCurrentRuntimeIdentifier property logic to use the new I don't know much about how source build works though, will it be simple enough to write the portable RID to the new property in the dotnet-installer source-build build? |
Yeah, dotnet/installer uses
Source-build passes in a non-portable And I think The dotnet/installer repo could just keep the calculations here but call it And then set <PropertyGroup>
<IsLinux Condition = " $([MSBuild]::IsOSPlatform('LINUX')) ">True</IsLinux>
<PortableOSName Condition=" '$(PortableOSName)' == '' AND $([MSBuild]::IsOSPlatform('WINDOWS')) ">win</PortableOSName>
<PortableOSName Condition=" '$(PortableOSName)' == '' AND $([MSBuild]::IsOSPlatform('OSX')) ">osx</PortableOSName>
<PortableOSName Condition=" '$(PortableOSName)' == '' AND $([MSBuild]::IsOSPlatform('FREEBSD')) ">freebsd</PortableOSName>
<PortableOSName Condition=" '$(PortableOSName)' == '' AND '$(IsLinux)' == 'True' ">linux</PortableOSName>
<OSName Condition=" '$(OSName)' == '' AND '$(PortableOSName)' != '' ">$(PortableOSName)</OSName>
<Rid Condition=" '$(Rid)' == '' ">$(OSName)-$(Architecture)</Rid>
<ProductMonikerRid Condition=" '$(ProductMonikerRid)' == '' ">$(OSName)-$(Architecture)</ProductMonikerRid>
<ProductMonikerPortableRid Condition=" '$(ProductMonikerPortableRid)' == '' ">$(PortableOSName)-$(Architecture)</ProductMonikerPortableRid>
</PropertyGroup> So back in <NETCoreSdkRuntimeIdentifier>$(ProductMonikerRid)</NETCoreSdkRuntimeIdentifier>
<NETCoreSdkPortableRuntimeIdentifier>$(ProductMonikerPortableRid)</NETCoreSdkPortableRuntimeIdentifier> Since source-build will be moving into the repos with the arcade-powered source-build plan, this logic will be in dotnet/installer either way, but other than that we can calculate the portable RID wherever it makes the most sense. |
Hi folks, I've sent a PR which includes the first step of creating a property that holds the portable RuntimeIdentifier for the SDK: dotnet/installer#9106 |
Are there still open issues under discussion here? |
afaik we still need to make a change so
We can use the information from this property. I'd like this to work for 6.0. I'll look into making a PR against We can see how we get it into the source-build sdk. Either using a source-build patch, by adding it to sdk 6.0.100 branch (probably too late), or include it in a later 6.0 sdk version as a fix. |
#14093 adds a new option that makes the sdk use an appropriate rid for publishing.
There was an on-going discussion whether the appropriate rid is the portable rid, machine rid, or whether both options should be added, see #14093 (comment).
cc @eerhardt @tmds, @dagood, @am11, @dsplaisted, @janvorli, @marcpopMSFT
The text was updated successfully, but these errors were encountered: