|  | 
| 11 | 11 |     <SourceBuildPortable>true</SourceBuildPortable> | 
| 12 | 12 |     <SourceBuildPortable Condition="'$(SourceBuildNonPortable)' == 'true'">false</SourceBuildPortable> | 
| 13 | 13 | 
 | 
| 14 |  | -    <!-- If TargetRid not specified, detect RID based on portability. --> | 
|  | 14 | +    <!-- TargetRid names what gets built. --> | 
| 15 | 15 |     <TargetRid Condition="'$(TargetRid)' == '' and '$(SourceBuildNonPortable)' == 'true'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</TargetRid> | 
| 16 | 16 |     <TargetRid Condition="'$(TargetRid)' == ''">$(__DistroRid)</TargetRid> | 
| 17 | 17 | 
 | 
| 18 | 18 |     <!-- Split e.g. 'fedora.33-x64' into 'fedora.33' and 'x64'. --> | 
| 19 | 19 |     <_targetRidPlatformIndex>$(TargetRid.LastIndexOf('-'))</_targetRidPlatformIndex> | 
| 20 |  | -    <TargetRidWithoutPlatform>$(TargetRid.Substring(0, $(_targetRidPlatformIndex)))</TargetRidWithoutPlatform> | 
| 21 |  | -    <TargetRidPlatform>$(TargetRid.Substring($(_targetRidPlatformIndex)).TrimStart('-'))</TargetRidPlatform> | 
|  | 20 | +    <TargetArch>$(TargetRid.Substring($(_targetRidPlatformIndex)).TrimStart('-'))</TargetArch> | 
|  | 21 | + | 
|  | 22 | +    <!-- RuntimeOS is the build host rid OS. --> | 
|  | 23 | +    <RuntimeOS>$(TargetRid.Substring(0, $(_targetRidPlatformIndex)))</RuntimeOS> | 
|  | 24 | + | 
|  | 25 | +    <!-- BaseOS is an expected known rid in the graph that TargetRid is compatible with. | 
|  | 26 | +         It's used to add TargetRid in the graph if the parent can't be detected. --> | 
|  | 27 | +    <BaseOS>$(RuntimeOS)</BaseOS> | 
| 22 | 28 | 
 | 
| 23 | 29 |     <LogVerbosity Condition="'$(LogVerbosity)' == ''">minimal</LogVerbosity> | 
| 24 | 30 |   </PropertyGroup> | 
| 25 | 31 | 
 | 
| 26 | 32 |   <Target Name="GetRuntimeSourceBuildCommandConfiguration" | 
| 27 | 33 |           BeforeTargets="GetSourceBuildCommandConfiguration"> | 
| 28 | 34 |     <PropertyGroup> | 
| 29 |  | -      <InnerBuildArgs>$(InnerBuildArgs) --arch $(TargetRidPlatform)</InnerBuildArgs> | 
|  | 35 | +      <InnerBuildArgs>$(InnerBuildArgs) --arch $(TargetArch)</InnerBuildArgs> | 
| 30 | 36 |       <InnerBuildArgs>$(InnerBuildArgs) --configuration $(Configuration)</InnerBuildArgs> | 
| 31 | 37 |       <InnerBuildArgs Condition="'$(SourceBuildNonPortable)' == 'true'">$(InnerBuildArgs) --allconfigurations</InnerBuildArgs> | 
| 32 | 38 |       <InnerBuildArgs>$(InnerBuildArgs) --verbosity $(LogVerbosity)</InnerBuildArgs> | 
| 33 | 39 |       <InnerBuildArgs>$(InnerBuildArgs) --nodereuse false</InnerBuildArgs> | 
| 34 | 40 |       <InnerBuildArgs>$(InnerBuildArgs) --warnAsError false</InnerBuildArgs> | 
| 35 |  | -      <InnerBuildArgs>$(InnerBuildArgs) /p:PackageRid=$(TargetRid)</InnerBuildArgs> | 
|  | 41 | +      <InnerBuildArgs>$(InnerBuildArgs) --outputrid $(TargetRid)</InnerBuildArgs> | 
|  | 42 | +      <InnerBuildArgs>$(InnerBuildArgs) --portablebuild $(SourceBuildPortable)</InnerBuildArgs> | 
| 36 | 43 |       <InnerBuildArgs>$(InnerBuildArgs) /p:NoPgoOptimize=true</InnerBuildArgs> | 
| 37 | 44 |       <InnerBuildArgs>$(InnerBuildArgs) /p:KeepNativeSymbols=true</InnerBuildArgs> | 
| 38 |  | -      <InnerBuildArgs>$(InnerBuildArgs) /p:RuntimeOS=$(TargetRidWithoutPlatform)</InnerBuildArgs> | 
| 39 |  | -      <InnerBuildArgs>$(InnerBuildArgs) /p:PortableBuild=$(SourceBuildPortable)</InnerBuildArgs> | 
|  | 45 | +      <InnerBuildArgs>$(InnerBuildArgs) /p:RuntimeOS=$(RuntimeOS)</InnerBuildArgs> | 
|  | 46 | +      <InnerBuildArgs Condition="'$(OfficialBuildId)' != ''">$(InnerBuildArgs) /p:OfficialBuildId=$(OfficialBuildId)</InnerBuildArgs> | 
|  | 47 | +      <InnerBuildArgs Condition="'$(ContinuousIntegrationBuild)' != ''">$(InnerBuildArgs) /p:ContinuousIntegrationBuild=$(ContinuousIntegrationBuild)</InnerBuildArgs> | 
| 40 | 48 |       <InnerBuildArgs>$(InnerBuildArgs) /p:BuildDebPackage=false</InnerBuildArgs> | 
| 41 | 49 |       <InnerBuildArgs>$(InnerBuildArgs) /p:EnableNgenOptimization=false</InnerBuildArgs> | 
| 42 | 50 |       <InnerBuildArgs>$(InnerBuildArgs) /p:EnablePackageValidation=false</InnerBuildArgs> | 
| 43 | 51 |       <InnerBuildArgs>$(InnerBuildArgs) /p:DisableSourceLink=false</InnerBuildArgs> | 
|  | 52 | +      <InnerBuildArgs>$(InnerBuildArgs) /p:AdditionalRuntimeIdentifierParent=$(BaseOS)</InnerBuildArgs> | 
|  | 53 | +      <InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono</InnerBuildArgs> | 
| 44 | 54 |     </PropertyGroup> | 
| 45 | 55 |   </Target> | 
| 46 | 56 | 
 | 
|  | 
0 commit comments