未验证 提交 e5c7b036 编写于 作者: A Adeel Mujahid 提交者: GitHub

Reuse SDK target for latest commit hash (#48561)

* Reuse SDK target for latest commit hash
Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>

* Further clean-up corehost.proj
Co-authored-by: NViktor Hofer <viktor.hofer@microsoft.com>
上级 a350bc6e
......@@ -133,17 +133,4 @@
<RuntimeDepsRpmPackageRelease>$([System.String]::Copy('$(RuntimeDepsRpmPackageRelease)').Replace('-', '_'))</RuntimeDepsRpmPackageRelease>
</PropertyGroup>
</Target>
<Target Name="GetLatestCommitHash"
Condition="'$(LatestCommit)' == ''">
<!-- Get the latest commit hash -->
<Exec Command="git rev-parse HEAD 2>&amp;1" StandardOutputImportance="Low" IgnoreExitCode="true" IgnoreStandardErrorWarningFormat="true" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="LatestCommit" />
<Output TaskParameter="ExitCode" PropertyName="LatestCommitExitCode" />
</Exec>
<!-- We shouldn't fail the build if we can't retreive the commit hash, so in this case just set it to N/A -->
<PropertyGroup Condition="'$(LatestCommitExitCode)'!='0'">
<LatestCommit>N/A</LatestCommit>
</PropertyGroup>
</Target>
</Project>
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<Project Sdk="Microsoft.Build.NoTargets">
<!--
Add basic project properties for NuGet restore, needed to import the SourceLink MSBuild tool
......@@ -8,27 +7,21 @@
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<IncrementalNativeBuild Condition="'$(IncrementalNativeBuild)' == ''">true</IncrementalNativeBuild>
<BuildCoreHostDependsOn>GetProductVersions;GenerateNativeVersionFile</BuildCoreHostDependsOn>
<BuildCoreHostDependsOn Condition="'$(DisableSourceLink)' != 'true'">$(BuildCoreHostDependsOn);InitializeSourceControlInformationFromSourceControlManager</BuildCoreHostDependsOn>
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<!-- Target that builds dotnet, hostfxr and hostpolicy with the same version as what NetCoreApp will be built for
since the build produced artifacts should always version the same (even if they may not get used).
-->
<Target Name="Build"
DependsOnTargets="
GetProductVersions;
GenerateNativeVersionFile;
BuildCoreHostUnix;
BuildCoreHostWindows" />
<Target Name="BuildCoreHostUnix"
Condition="'$(TargetOS)' != 'windows'"
DependsOnTargets="GetLatestCommitHash;GenerateNativeVersionFile">
AfterTargets="Build"
DependsOnTargets="$(BuildCoreHostDependsOn)">
<PropertyGroup>
<CMakeBuildDir>$(IntermediateOutputRootPath)corehost\cmake\</CMakeBuildDir>
<BuildArgs>$(Configuration) $(TargetArchitecture) -apphostver "$(AppHostVersion)" -hostver "$(HostVersion)" -fxrver "$(HostResolverVersion)" -policyver "$(HostPolicyVersion)" -commithash "$(LatestCommit)" -os $(TargetOS)</BuildArgs>
<BuildArgs>$(Configuration) $(TargetArchitecture) -apphostver "$(AppHostVersion)" -hostver "$(HostVersion)" -fxrver "$(HostResolverVersion)" -policyver "$(HostPolicyVersion)" -commithash "$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))" -os $(TargetOS)</BuildArgs>
<BuildArgs>$(BuildArgs) -cmakeargs "-DVERSION_FILE_PATH=$(NativeVersionFile)"</BuildArgs>
<BuildArgs Condition="'$(PortableBuild)' != 'true'">$(BuildArgs) -portablebuild=false</BuildArgs>
<BuildArgs Condition="'$(KeepNativeSymbols)' != 'false'">$(BuildArgs) -keepnativesymbols</BuildArgs>
......@@ -44,14 +37,14 @@
Use IgnoreStandardErrorWarningFormat because Arcade sets WarnAsError and there's an existing
warning in the macOS build when dsymutil tries to strip symbols.
-->
<Message Text="$(SharedNativeRoot)\corehost\build.sh $(BuildArgs)" Importance="High"/>
<Exec Command="$(SharedNativeRoot)\corehost\build.sh $(BuildArgs)" IgnoreStandardErrorWarningFormat="true"/>
<Message Text="$(SharedNativeRoot)corehost\build.sh $(BuildArgs)" Importance="High"/>
<Exec Command="$(SharedNativeRoot)corehost\build.sh $(BuildArgs)" IgnoreStandardErrorWarningFormat="true"/>
</Target>
<Target Name="BuildCoreHostWindows"
Condition="'$(TargetOS)' == 'windows'"
DependsOnTargets="GetLatestCommitHash">
AfterTargets="Build"
DependsOnTargets="$(BuildCoreHostDependsOn)">
<!-- Generate Version files -->
<ItemGroup>
<HostFiles Include="dotnet">
......@@ -86,7 +79,7 @@
!Exists('$(IntermediateOutputRootPath)hostResourceFiles\%(HostFiles.Identity)\version_info.h')"/>
<PropertyGroup>
<BuildArgs>$(Configuration) $(TargetArchitecture) apphostver $(AppHostVersion) hostver $(HostVersion) fxrver $(HostResolverVersion) policyver $(HostPolicyVersion) commit $(LatestCommit) rid $(OutputRid)</BuildArgs>
<BuildArgs>$(Configuration) $(TargetArchitecture) apphostver $(AppHostVersion) hostver $(HostVersion) fxrver $(HostResolverVersion) policyver $(HostPolicyVersion) commit $([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A')) rid $(OutputRid)</BuildArgs>
<BuildArgs Condition="'$(PortableBuild)' == 'true'">$(BuildArgs) portable</BuildArgs>
<BuildArgs Condition="'$(IncrementalNativeBuild)' == 'true'">$(BuildArgs) incremental-native-build</BuildArgs>
<BuildArgs>$(BuildArgs) rootdir $(RepoRoot)</BuildArgs>
......@@ -101,8 +94,8 @@
IgnoreStandardErrorWarningFormat because Arcade sets WarnAsError and there's an existing
warning in the native build.
-->
<Message Text="$(SharedNativeRoot)\corehost\build.cmd $(BuildArgs)" Importance="High"/>
<Exec Command="$(SharedNativeRoot)\corehost\build.cmd $(BuildArgs)" IgnoreStandardErrorWarningFormat="true"/>
<Message Text="$(SharedNativeRoot)corehost\build.cmd $(BuildArgs)" Importance="High"/>
<Exec Command="$(SharedNativeRoot)corehost\build.cmd $(BuildArgs)" IgnoreStandardErrorWarningFormat="true"/>
</Target>
<Target Name="PrependWindowsHeaderIncludeToVersionHeaderFile"
......
......@@ -25,12 +25,12 @@
<Message Importance="High" Text="%(NupkgToPublishFile.Filename)" />
</Target>
<Target Name="FinalizeBuildInAzure"
DependsOnTargets="
GetProductVersions;
GetLatestCommitHash">
<Error Condition="'$(LatestCommit)' == ''" Text="Missing required property 'LatestCommit'" />
<PropertyGroup>
<FinalizeBuildInAzureDependsOn Condition="'$(DisableSourceLink)' != 'true'">InitializeSourceControlInformationFromSourceControlManager</FinalizeBuildInAzureDependsOn>
</PropertyGroup>
<Target Name="FinalizeBuildInAzure"
DependsOnTargets="GetProductVersions;$(FinalizeBuildInAzureDependsOn)">
<Error Condition="'$(AzureAccessToken)' == ''" Text="Missing required property 'AzureAccessToken'" />
<Error Condition="'$(AzureAccountName)' == ''" Text="Missing required property 'AzureAccountName'" />
<Error Condition="'$(ContainerName)' == ''" Text="Missing required property 'ContainerName'" />
......@@ -46,7 +46,7 @@
SharedFrameworkNugetVersion="$(SharedFrameworkNugetVersion)"
SharedHostNuGetVersion="$(HostVersion)"
ProductVersion="$(ProductVersion)"
CommitHash="$(LatestCommit)"
CommitHash="$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))"
FinalizeContainer="Runtime/$(SharedFrameworkNugetVersion)"
ForcePublish="true" />
......@@ -65,7 +65,7 @@
SharedFrameworkNugetVersion="$(SharedFrameworkNugetVersion)"
SharedHostNuGetVersion="$(HostVersion)"
ProductVersion="$(ProductVersion)"
CommitHash="$(LatestCommit)"
CommitHash="$([MSBuild]::ValueOrDefault('$(SourceRevisionId)', 'N/A'))"
FinalizeContainer="Runtime/$(SharedFrameworkNugetVersion)"
ForcePublish="true" />
</Target>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册