mirror of https://github.com/dotnet/runtime
Update SDK and remove RID calculation in favor of RuntimeInformation (#35538)
* Remove GetTargetMachineInfo from runtime * Update bootstrapped SDK * Remove unused prop * Rename RuntimeRID to HostRuntimeIdentifier * Remove yml tmp copying * Update SDK * Move RuntimeOS into libraries * Fix RuntimeOS move
This commit is contained in:
parent
626819d31d
commit
a1af15d229
|
@ -29,7 +29,6 @@
|
|||
<!-- Upfront restore hooks -->
|
||||
<Import Project="$(RepositoryEngineeringDir)restore\docs.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
<Import Project="$(RepositoryEngineeringDir)restore\optimizationData.targets" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(EnableNgenOptimization)' == 'true'" />
|
||||
<Import Project="$(RepositoryEngineeringDir)restore\runtimeprops.targets" />
|
||||
|
||||
<!--
|
||||
Use synthetic inputs/outputs to avoid building it all the time. This should let devs build with
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
<InstallerTasksOutputPath>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'installer.tasks'))</InstallerTasksOutputPath>
|
||||
<InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' == 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'netstandard2.0', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>
|
||||
<InstallerTasksAssemblyPath Condition="'$(MSBuildRuntimeType)' != 'Core'">$([MSBuild]::NormalizePath('$(InstallerTasksOutputPath)', 'Debug', 'net46', 'installer.tasks.dll'))</InstallerTasksAssemblyPath>
|
||||
<HostMachineInfoProps>$(ArtifactsObjDir)HostMachineInfo.props</HostMachineInfoProps>
|
||||
|
||||
<DocsDir>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'docs'))</DocsDir>
|
||||
<ManPagesDir>$([MSBuild]::NormalizeDirectory('$(DocsDir)', 'manpages'))</ManPagesDir>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
<RepoTasksDir>$([MSBuild]::NormalizeDirectory('$(RepoToolsLocalDir)', 'tasks'))</RepoTasksDir>
|
||||
<IbcOptimizationDataDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'ibc'))</IbcOptimizationDataDir>
|
||||
<XmlDocDir>$([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'docs'))</XmlDocDir>
|
||||
<RuntimePropsFile>$([MSBuild]::NormalizePath('$(ArtifactsDir)', 'tmp', '$(Configuration)', 'RuntimeOS.props'))</RuntimePropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- The TFMs to build and test against. -->
|
||||
|
@ -38,6 +37,9 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<HostRuntimeIdentifier Condition="'$(HostRuntimeIdentifier)' == '' and '$(MSBuildRuntimeType)' == 'core'">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</HostRuntimeIdentifier>
|
||||
<HostRuntimeIdentifier Condition="'$(HostRuntimeIdentifier)' == '' and '$(MSBuildRuntimeType)' != 'core'">win-$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</HostRuntimeIdentifier>
|
||||
|
||||
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('OSX'))">OSX</TargetOS>
|
||||
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('FREEBSD'))">FreeBSD</TargetOS>
|
||||
<TargetOS Condition="'$(TargetOS)' == '' and $([MSBuild]::IsOSPlatform('NETBSD'))">NetBSD</TargetOS>
|
||||
|
|
|
@ -460,7 +460,6 @@ jobs:
|
|||
# independent installers on this leg, but we need to do it somewhere.)
|
||||
- template: steps/build-linux-package.yml
|
||||
parameters:
|
||||
buildTraversalBuildDependencies: true
|
||||
distroRid: ${{ packageBuild.imageRid }}
|
||||
image: ${{ packageBuild.image }}
|
||||
packageStepDescription: Runtime Deps, Runtime, Framework Packs installers
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
parameters:
|
||||
buildTraversalBuildDependencies: false
|
||||
distroRid: null
|
||||
image: null
|
||||
outputRidArg: ''
|
||||
|
@ -8,18 +7,6 @@ parameters:
|
|||
subsetArg: ''
|
||||
|
||||
steps:
|
||||
- ${{ if eq(parameters.buildTraversalBuildDependencies, true) }}:
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
$(DockerRunMSBuild) ${{ parameters.image }} $(MSBuildScript) \
|
||||
--ci \
|
||||
/root/runtime/tools-local/tasks/installer.tasks/installer.tasks.csproj \
|
||||
/t:Restore /t:Build /t:CreateHostMachineInfoFile \
|
||||
$(CommonMSBuildArgs) \
|
||||
/bl:msbuild.${{ parameters.distroRid }}.traversaldependencies.binlog
|
||||
displayName: ====== Build traversal build dependencies - ${{ parameters.distroRid }}
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
|
|
@ -157,12 +157,6 @@ jobs:
|
|||
targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/packages
|
||||
condition: and(succeeded(), eq(variables['_librariesBuildProducedPackages'], true))
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Prepare tmp assets to publish
|
||||
inputs:
|
||||
sourceFolder: $(Build.SourcesDirectory)/artifacts/tmp
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)/artifacts/tmp
|
||||
|
||||
- template: /eng/pipelines/common/upload-artifact-step.yml
|
||||
parameters:
|
||||
rootFolder: $(Build.ArtifactStagingDirectory)/artifacts
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<Project Sdk="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk">
|
||||
|
||||
<Target Name="GenerateRuntimeOSPropsFileBeforeRestore"
|
||||
DependsOnTargets="GenerateRuntimeOSPropsFile"
|
||||
BeforeTargets="Restore" />
|
||||
|
||||
</Project>
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"sdk": {
|
||||
"version": "5.0.100-preview.4.20202.8",
|
||||
"version": "5.0.100-preview.5.20228.8",
|
||||
"allowPrerelease": true,
|
||||
"rollForward": "major"
|
||||
},
|
||||
"tools": {
|
||||
"dotnet": "5.0.100-preview.4.20202.8"
|
||||
"dotnet": "5.0.100-preview.5.20228.8"
|
||||
},
|
||||
"native-tools": {
|
||||
"cmake": "3.14.2",
|
||||
|
|
|
@ -29,10 +29,6 @@
|
|||
<SigningToolsDir>$(InstallerProjectRoot)signing\</SigningToolsDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<HostMachineInfoProps>$(ArtifactsObjDir)HostMachineInfo.props</HostMachineInfoProps>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<NETCoreAppFrameworkIdentifier>.NETCoreApp</NETCoreAppFrameworkIdentifier>
|
||||
<NETCoreAppFrameworkMoniker>$(NETCoreAppFrameworkIdentifier),Version=v$(NETCoreAppFrameworkVersion)</NETCoreAppFrameworkMoniker>
|
||||
|
@ -80,11 +76,8 @@
|
|||
<ExeSuffix Condition="'$(TargetOS)' == 'Windows_NT'">.exe</ExeSuffix>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(HostMachineInfoProps)"
|
||||
Condition="Exists('$(HostMachineInfoProps)')" />
|
||||
|
||||
<PropertyGroup Condition="'$(OutputRid)' == '' and '$(HostMachineRid)' != ''">
|
||||
<OutputRid>$(HostMachineRid.Remove($(HostMachineRid.LastIndexOf('-'))))-$(TargetArchitecture)</OutputRid>
|
||||
<PropertyGroup Condition="'$(OutputRid)' == '' and '$(HostRuntimeIdentifier)' != ''">
|
||||
<OutputRid>$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))-$(TargetArchitecture)</OutputRid>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Portable -->
|
||||
|
@ -302,9 +295,9 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
|
||||
<HostMachineRidTargetsDebianPackages Condition="
|
||||
$(HostMachineRid.StartsWith('debian')) or
|
||||
$(HostMachineRid.StartsWith('ubuntu')) or
|
||||
$(HostMachineRid.StartsWith('linuxmint'))">true</HostMachineRidTargetsDebianPackages>
|
||||
$(HostRuntimeIdentifier.StartsWith('debian')) or
|
||||
$(HostRuntimeIdentifier.StartsWith('ubuntu')) or
|
||||
$(HostRuntimeIdentifier.StartsWith('linuxmint'))">true</HostMachineRidTargetsDebianPackages>
|
||||
<!-- If the build machine isn't known to be Debian-based, try to build RPM packages. -->
|
||||
<HostMachineRidTargetsRpmPackages Condition="'$(HostMachineRidTargetsDebianPackages)' != 'true'">true</HostMachineRidTargetsRpmPackages>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -12,10 +12,8 @@
|
|||
<!-- Provide default targets which can be hooked onto or overridden as necessary -->
|
||||
<Target Name="Pack" />
|
||||
|
||||
<!-- Remove after https://github.com/dotnet/arcade/pull/5365 is merged. -->
|
||||
<UsingTask TaskName="GenerateGuidFromName" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
<UsingTask TaskName="GetTargetMachineInfo" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
<UsingTask TaskName="RegenerateReadmeTable" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
|
||||
<!-- Common target to find all sfxproj. In a target to avoid evaluating for every project. -->
|
||||
<Target Name="GetSharedFrameworkProjects">
|
||||
|
|
|
@ -112,6 +112,7 @@
|
|||
</Target>
|
||||
|
||||
<UsingTask TaskName="GenerateCurrentVersion" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
|
||||
<Target Name="GenerateMsiVersionString">
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -121,12 +121,8 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="DetermineTestOutputDirectory">
|
||||
<GetTargetMachineInfo>
|
||||
<Output TaskParameter="RuntimeIdentifier" PropertyName="_HostRid" />
|
||||
</GetTargetMachineInfo>
|
||||
|
||||
<PropertyGroup>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(_HostRid)</TestTargetRid>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(HostRuntimeIdentifier)</TestTargetRid>
|
||||
<TestsOutputName Condition="'$(TestsOutputName)' == ''">$(MSBuildProjectName)</TestsOutputName>
|
||||
|
||||
<TestsOutputRootDir Condition="'$(TestsOutputRootDir)' == ''">$(ArtifactsDir)tests/$(Configuration)/</TestsOutputRootDir>
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
<GeneratePlatformNotSupportedAssemblyHeaderFile>$(RepositoryEngineeringDir)LicenseHeader.txt</GeneratePlatformNotSupportedAssemblyHeaderFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(RuntimePropsFile)" Condition="Exists('$(RuntimePropsFile)')"/>
|
||||
<PropertyGroup>
|
||||
<RuntimeOS Condition="'$(RuntimeOS)' == '' and '$(HostRuntimeIdentifier)' != ''">$(HostRuntimeIdentifier.Remove($(HostRuntimeIdentifier.LastIndexOf('-'))))</RuntimeOS>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Sdk="Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk" Project="Sdk.props" />
|
||||
|
||||
|
|
|
@ -62,18 +62,10 @@ package() {
|
|||
shift
|
||||
|
||||
containerized "$image" bash -c "
|
||||
eng/common/msbuild.sh \
|
||||
tools-local/tasks/installer.tasks/installer.tasks.csproj \
|
||||
/t:Restore /t:Build /t:CreateHostMachineInfoFile \
|
||||
/p:Configuration=Release \
|
||||
/p:TargetOS=Linux \
|
||||
/p:PortableBuild=false \
|
||||
/p:TargetArchitecture=x64 \
|
||||
/bl:artifacts/msbuild.$name.traversaldependencies.binlog;
|
||||
./build.sh \
|
||||
--ci \
|
||||
--subset installer
|
||||
/p:OfficialBuildId=20190101.1 \
|
||||
/p:Subset=Installer \
|
||||
/p:UsePrebuiltPortableBinariesForInstallers=true \
|
||||
/p:SharedFrameworkPublishDir=/work/artifacts/obj/linux-x64.Release/sharedFrameworkPublish/ \
|
||||
/p:InstallerSourceOSPlatformConfig=linux-x64.Release \
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using Microsoft.Build.Framework;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Microsoft.DotNet.Build.Tasks
|
||||
{
|
||||
public class GetTargetMachineInfo : BuildTask
|
||||
{
|
||||
[Output]
|
||||
public string TargetOS { get; set; }
|
||||
|
||||
[Output]
|
||||
public string TargetArch { get; set; }
|
||||
|
||||
[Output]
|
||||
public string RuntimeIdentifier { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
switch (RuntimeInformation.OSArchitecture)
|
||||
{
|
||||
case Architecture.X64:
|
||||
TargetArch = "x64";
|
||||
break;
|
||||
case Architecture.X86:
|
||||
TargetArch = "x86";
|
||||
break;
|
||||
case Architecture.Arm:
|
||||
TargetArch = "arm";
|
||||
break;
|
||||
case Architecture.Arm64:
|
||||
TargetArch = "arm64";
|
||||
break;
|
||||
}
|
||||
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||
TargetOS = "Windows_NT";
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
||||
TargetOS = "Linux";
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
|
||||
TargetOS = "OSX";
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Create("FREEBSD")))
|
||||
TargetOS = "FreeBSD";
|
||||
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Create("NETBSD")))
|
||||
TargetOS = "NetBSD";
|
||||
|
||||
RuntimeIdentifier = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier();
|
||||
|
||||
if (TargetArch == null)
|
||||
{
|
||||
Log.LogError("{0} is null", nameof(TargetArch));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TargetOS == null)
|
||||
{
|
||||
Log.LogError("{0} is null", nameof(TargetOS));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0</TargetFrameworks>
|
||||
<TargetFrameworks Condition="'$(OS)' == 'Windows_NT'">$(TargetFrameworks);net46</TargetFrameworks>
|
||||
|
@ -14,7 +13,6 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyModel" Version="$(MicrosoftExtensionsDependencyModelVersion)" />
|
||||
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="2.1.0" />
|
||||
<PackageReference Include="NuGet.ProjectModel" Version="$(RefOnlyNugetProjectModelVersion)" />
|
||||
<PackageReference Include="NuGet.Packaging" Version="$(RefOnlyNugetPackagingVersion)" />
|
||||
<PackageReference Include="System.Reflection.Metadata" Version="1.7.0" />
|
||||
|
@ -44,28 +42,4 @@
|
|||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<UsingTask TaskName="GetTargetMachineInfo"
|
||||
AssemblyFile="$(InstallerTasksAssemblyPath)" />
|
||||
<Target Name="CreateHostMachineInfoFile"
|
||||
AfterTargets="DispatchToInnerBuilds">
|
||||
<GetTargetMachineInfo>
|
||||
<Output PropertyName="HostMachineRid" TaskParameter="RuntimeIdentifier" />
|
||||
</GetTargetMachineInfo>
|
||||
|
||||
<PropertyGroup>
|
||||
<HostMachineInfoPropsContent>
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<HostMachineRid>$(HostMachineRid)</HostMachineRid>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</HostMachineInfoPropsContent>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile File="$(HostMachineInfoProps)"
|
||||
Lines="$(HostMachineInfoPropsContent)"
|
||||
Overwrite="True" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
Loading…
Reference in New Issue