summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-packages.sh2
-rwxr-xr-xbuild-test.sh15
-rw-r--r--build.cmd10
-rwxr-xr-xbuild.sh14
-rw-r--r--dir.common.props12
-rw-r--r--dir.props6
-rw-r--r--dir.targets1
-rw-r--r--eng/Versions.props3
-rw-r--r--eng/build-job.yml4
-rw-r--r--src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj9
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/runtime.Windows_NT.Microsoft.NETCore.Runtime.CoreCLR.props14
-rw-r--r--src/.nuget/packages.builds20
-rw-r--r--src/createVersionFile.proj13
13 files changed, 42 insertions, 81 deletions
diff --git a/build-packages.sh b/build-packages.sh
index bd0fc8da00..876c5e1aca 100755
--- a/build-packages.sh
+++ b/build-packages.sh
@@ -91,7 +91,7 @@ while :; do
__Type=$(echo $1| cut -d'=' -f 2)
buildArgs="$buildArgs /p:__BuildType=$__Type"
;;
- -OfficialBuildId=*)
+ -OfficialBuildId=*|-officialbuildid=*)
__Id=$(echo $1| cut -d'=' -f 2)
buildArgs="$buildArgs /p:OfficialBuildId=$__Id"
;;
diff --git a/build-test.sh b/build-test.sh
index b53a99f70a..2b9635de47 100755
--- a/build-test.sh
+++ b/build-test.sh
@@ -490,13 +490,14 @@ build_native_projects()
__versionSourceFile="$intermediatesForBuild/version.c"
if [ $__SkipGenerateVersion == 0 ]; then
pwd
- $__ProjectRoot/dotnet.sh msbuild /nologo /verbosity:minimal /clp:Summary \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /maxcpucount \
- $__ProjectDir/build.proj /t:GenerateVersionHeader \
- /p:GenerateVersionHeader=true /p:NativeVersionSourceFile=$__versionSourceFile \
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
- $__CommonMSBuildArgs $__UnprocessedBuildArgs
+ $__ProjectRoot/eng/common/msbuild.sh $__ProjectRoot/eng/empty.proj \
+ /p:NativeVersionFile=$__versionSourceFile \
+ /p:ArcadeBuild=true /t:GenerateNativeVersionFile /restore \
+ $__CommonMSBuildArgs $__UnprocessedBuildArgs
+ if [ $? -ne 0 ]; then
+ echo "Failed to generate native version file."
+ exit $?
+ fi
else
# Generate the dummy version.c, but only if it didn't exist to make sure we don't trigger unnecessary rebuild
__versionSourceLine="static char sccsid[] __attribute__((used)) = \"@(#)No version information produced\";"
diff --git a/build.cmd b/build.cmd
index 1d5336f42e..b73efd21ff 100644
--- a/build.cmd
+++ b/build.cmd
@@ -362,12 +362,10 @@ REM ============================================================================
@if defined _echo @echo on
-call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount^
- %__ProjectDir%\build.proj /t:GenerateVersionHeader /p:GenerateVersionHeader=true /p:NativeVersionHeaderFile="%__RootBinDir%\obj\_version.h"^
- %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
+powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%~dp0eng\common\msbuild.ps1"^
+ %__ProjectDir%\eng\empty.proj /p:NativeVersionFile="%__RootBinDir%\obj\_version.h"^
+ /p:ArcadeBuild=true /t:GenerateNativeVersionFile /restore^
+ %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo %__MsgPrefix%Error: Failed to generate version headers.
exit /b !errorlevel!
diff --git a/build.sh b/build.sh
index b72708199a..6c39ea60d3 100755
--- a/build.sh
+++ b/build.sh
@@ -232,12 +232,14 @@ build_native()
__versionSourceFile="$intermediatesForBuild/version.c"
if [ $__SkipGenerateVersion == 0 ]; then
pwd
- "$__ProjectRoot/dotnet.sh" msbuild /nologo /verbosity:minimal /clp:Summary \
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /maxcpucount \
- "$__ProjectDir/build.proj" /p:GenerateVersionSourceFile=true /t:GenerateVersionSourceFile /p:NativeVersionSourceFile=$__versionSourceFile \
- $__CommonMSBuildArgs $__UnprocessedBuildArgs
+ "$__ProjectRoot/eng/common/msbuild.sh" $__ProjectRoot/eng/empty.proj \
+ /p:NativeVersionFile=$__versionSourceFile \
+ /p:ArcadeBuild=true /t:GenerateNativeVersionFile /restore \
+ $__CommonMSBuildArgs $__UnprocessedBuildArgs
+ if [ $? -ne 0 ]; then
+ echo "Failed to generate native version file."
+ exit $?
+ fi
else
# Generate the dummy version.c, but only if it didn't exist to make sure we don't trigger unnecessary rebuild
__versionSourceLine="static char sccsid[] __attribute__((used)) = \"@(#)No version information produced\";"
diff --git a/dir.common.props b/dir.common.props
index ba226cfc9b..7549c191ca 100644
--- a/dir.common.props
+++ b/dir.common.props
@@ -63,18 +63,6 @@
<PackagesBinDir Condition="'$(__PackagesBinDir)'==''">$(BinDir).nuget\</PackagesBinDir>
</PropertyGroup>
- <!-- Version numbers for native binaries and build version props file
- [ARCADE REMOVE] These properties can be removed once native binaries use Arcade versioning
- They are included in common for packaging, which is onboarded to Arcade, but uses the version
- numbers for native binaries for some outputs. -->
- <PropertyGroup>
- <NativeMajorVersion>4</NativeMajorVersion>
- <NativeMinorVersion>6</NativeMinorVersion>
-
- <!-- Explicitly set BuildVersionFile. This is used by BuildVersion.targets in BuildTools. -->
- <BuildVersionFile Condition="'$(OfficialBuildId)' != ''">$(RootBinDir)obj\BuildVersion-$(OfficialBuildId).props</BuildVersionFile>
- </PropertyGroup>
-
<PropertyGroup>
<!-- Central place to set the versions of all nuget packages produced in the repo -->
<PackageVersion Condition="'$(PackageVersion)' == ''">3.0.0</PackageVersion>
diff --git a/dir.props b/dir.props
index e93c9f516b..50af3a30ce 100644
--- a/dir.props
+++ b/dir.props
@@ -12,12 +12,6 @@
<DebugType Condition="'$(DebugType)' == ''">Portable</DebugType>
</PropertyGroup>
- <!-- Version numbers for native binaries -->
- <PropertyGroup>
- <MajorVersion>$(NativeMajorVersion)</MajorVersion>
- <MinorVersion>$(NativeMinorVersion)</MinorVersion>
- </PropertyGroup>
-
<!--
Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer
as well as running the build on mono. Until we can get these sorted out we will continue using the .NET 4.5 version of the tasks.
diff --git a/dir.targets b/dir.targets
index 953599db75..cb944a4ea7 100644
--- a/dir.targets
+++ b/dir.targets
@@ -14,6 +14,7 @@
<PropertyGroup>
<ExcludePackagingImport>true</ExcludePackagingImport>
<ExcludePackageLibsImport>true</ExcludePackageLibsImport>
+ <ExcludeVersioningImport>true</ExcludeVersioningImport>
</PropertyGroup>
<Import Project="$(ToolsDir)/Build.Common.targets" Condition="'$(UseLiveBuildTools)' != 'true'" />
diff --git a/eng/Versions.props b/eng/Versions.props
index 8a0c8e26ad..4409284f04 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -3,6 +3,9 @@
<PropertyGroup>
<!-- The .NET Core product branding version -->
<ProductVersion>3.0.0</ProductVersion>
+ <!-- File version numbers -->
+ <MajorVersion>4</MajorVersion>
+ <MinorVersion>7</MinorVersion>
<!-- Always use shipping version instead of dummy versions -->
<DotNetUseShippingVersions>true</DotNetUseShippingVersions>
<PreReleaseVersionLabel>preview6</PreReleaseVersionLabel>
diff --git a/eng/build-job.yml b/eng/build-job.yml
index ca2b0a011a..9084ae9f7d 100644
--- a/eng/build-job.yml
+++ b/eng/build-job.yml
@@ -159,10 +159,10 @@ jobs:
# Build packages
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- - script: ./build-packages.sh -BuildArch=$(archType) -BuildType=$(buildConfigUpper) $(crossPackagesArg) -OfficialBuildId=$(Build.BuildNumber) $(portableBuildArg) -ci
+ - script: ./build-packages.sh -BuildArch=$(archType) -BuildType=$(buildConfigUpper) $(crossPackagesArg) $(officialBuildIdArg) $(portableBuildArg) -ci
displayName: Build packages
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
- - script: build-packages.cmd -BuildArch=$(archType) -BuildType=$(buildConfigUpper) -OfficialBuildId=$(Build.BuildNumber) -ci
+ - script: build-packages.cmd -BuildArch=$(archType) -BuildType=$(buildConfigUpper) $(officialBuildIdArg) -ci
displayName: Build packages
# Publish official build
diff --git a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj
index 6c981771e3..909206b58b 100644
--- a/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.pkgproj
@@ -6,15 +6,6 @@
<IsLineupPackage Condition="'$(IsLineupPackage)' == ''">true</IsLineupPackage>
</PropertyGroup>
- <PropertyGroup>
- <LongNamePlatform>$(PackagePlatform)</LongNamePlatform>
- <LongNamePlatform Condition="'$(LongNamePlatform)'=='x64'">amd64</LongNamePlatform>
- <CrossTargetPlatform>$(CrossTargetComponentFolder)</CrossTargetPlatform>
- <CrossTargetPlatform Condition="'$(CrossTargetPlatform)'=='x64'">amd64</CrossTargetPlatform>
- <LongNameSuffix>_$(LongNamePlatform)_$(LongNamePlatform)_$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</LongNameSuffix>
- <CrossTargetLongNameSuffix>_$(CrossTargetPlatform)_$(LongNamePlatform)_$(MajorVersion).$(MinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</CrossTargetLongNameSuffix>
- </PropertyGroup>
-
<Import Condition="'$(_packageTargetOSGroup)' != ''" Project="$(MSBuildThisFileDirectory)runtime.$(_packageTargetOSGroup).$(MSBuildProjectName).props" />
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/runtime.Windows_NT.Microsoft.NETCore.Runtime.CoreCLR.props b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/runtime.Windows_NT.Microsoft.NETCore.Runtime.CoreCLR.props
index 22cdfd859b..58912b85de 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/runtime.Windows_NT.Microsoft.NETCore.Runtime.CoreCLR.props
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/runtime.Windows_NT.Microsoft.NETCore.Runtime.CoreCLR.props
@@ -1,21 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
- <!-- [ARCADE REMOVE] Native binaries use BuildTools versioning, not Arcade
- Include the generated build version properties for BuildNumberMajor/BuildNumberMinor-->
- <PropertyGroup>
- <RootIntermediateOutputPath>$(CoreclrDir)\bin\obj\</RootIntermediateOutputPath>
- </PropertyGroup>
- <Import Project="$(CoreclrDir)\Tools\BuildVersion.targets" />
-
+<Project>
<PropertyGroup>
<PackageTargetRuntime>$(MinOSForArch)-$(PackagePlatform)</PackageTargetRuntime>
<LongNamePlatform>$(Platform)</LongNamePlatform>
<LongNamePlatform Condition="'$(Platform)'=='x64'">amd64</LongNamePlatform>
<CrossTargetPlatform>$(CrossTargetComponentFolder)</CrossTargetPlatform>
<CrossTargetPlatform Condition="'$(CrossTargetPlatform)'=='x64'">amd64</CrossTargetPlatform>
- <LongNameSuffix>_$(LongNamePlatform)_$(LongNamePlatform)_$(NativeMajorVersion).$(NativeMinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</LongNameSuffix>
- <CrossTargetLongNameSuffix>_$(CrossTargetPlatform)_$(LongNamePlatform)_$(NativeMajorVersion).$(NativeMinorVersion).$(BuildNumberMajor).$(BuildNumberMinor)</CrossTargetLongNameSuffix>
+ <LongNameSuffix>_$(LongNamePlatform)_$(LongNamePlatform)_$(FileVersion)</LongNameSuffix>
+ <CrossTargetLongNameSuffix>_$(CrossTargetPlatform)_$(LongNamePlatform)_$(FileVersion)</CrossTargetLongNameSuffix>
</PropertyGroup>
<ItemGroup>
diff --git a/src/.nuget/packages.builds b/src/.nuget/packages.builds
index f97790c28f..3ed5f64bdd 100644
--- a/src/.nuget/packages.builds
+++ b/src/.nuget/packages.builds
@@ -40,13 +40,17 @@
Overwrite="true" />
</Target>
- <!-- [ARCADE REMOVE] Make sure version props file for native binaries (non-Arcade versioning) exists
- This is through building a separate project because the packaging projects use Arcade versioning
- and just need the build number for laying out certain native binaries. These projects do not want
- the actual BuildTools target to run / set various properties, so they just include the generated
- build version props file (which only sets BuildNumberMajor/BuildNumberMinor) as needed. -->
- <Target Name="CreateVersionPropsForNativeBinaries"
- BeforeTargets="Build">
- <MSBuild Targets="Build" Projects="$(CoreclrDir)\src\createVersionFile.proj"/>
+ <!-- Update the project references with additional properties calculated during the execution phase.
+ _InitializeAssemblyVersion is provided by Arcade. It sets the AssemblyVersion and FileVersion properties.
+ We depend on this private Arcade target instead of the SDK-defined GetAssemblyVersion since the packaging
+ build does not use the .NET SDK -->
+ <Target Name="UpdateAdditionalProperties"
+ BeforeTargets="Build"
+ DependsOnTargets="_InitializeAssemblyVersion">
+ <ItemGroup>
+ <!-- Pass the FileVersion calculated by _InitializeAssemblyVersion to referenced projects -->
+ <ProjectReference Update="@(ProjectReference)"
+ AdditionalProperties="%(AdditionalProperties);FileVersion=$(FileVersion)" />
+ </ItemGroup>
</Target>
</Project>
diff --git a/src/createVersionFile.proj b/src/createVersionFile.proj
deleted file mode 100644
index 4edddc7118..0000000000
--- a/src/createVersionFile.proj
+++ /dev/null
@@ -1,13 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
- <Import Project="..\dir.props" />
- <Import Project="$(ToolsDir)versioning.targets" Condition="Exists('$(ToolsDir)versioning.targets')"/>
-
- <PropertyGroup>
- <VersionPropsImported>false</VersionPropsImported>
- </PropertyGroup>
-
- <Target Name="Build"
- DependsOnTargets="CreateOrUpdateCurrentVersionFile">
- </Target>
-</Project> \ No newline at end of file