提交 087e1d6f 编写于 作者: T Tanner Gooding 提交者: GitHub

Merge pull request #11971 from tannergooding/master

Updating VSL.Version.targets to properly specify build number.
......@@ -17,6 +17,31 @@
<!-- Pre-release version of CoreCLR dependencies (empty for release). Used e.g. to find crossgen. -->
<CoreClrVersionSuffix>-rc3-24128-00</CoreClrVersionSuffix>
</PropertyGroup>
<PropertyGroup>
<!-- We cannot sign an unofficial build, so fail if 'OfficialBuild' is not 'true' but 'SignedBuild' is -->
<SignedBuild Condition="'$(RealSignBuild)' == 'true' OR '$(SignType)' == 'real'">true</SignedBuild>
<Error Condition="'$(OfficialBuild)' != 'true' AND '$(SignedBuild)' == 'true'">Cannot sign an unofficial build.</Error>
</PropertyGroup>
<PropertyGroup>
<!-- We should not be signing a build anywhere except for in MicroBuild, which will always specify 'BUILD_BUILDNUMBER' -->
<BuildNumber Condition="'$(BuildNumber)' == ''">$(BUILD_BUILDNUMBER)</BuildNumber>
<Error Condition="'$(BuildNumber)' == '' AND '$(SignedBuild)' == 'true'">A build number must be specified for a signed build.</Error>
</PropertyGroup>
<PropertyGroup>
<!-- When a build number is not specified, then we should default back to '0.0' -->
<BuildNumber Condition="'$(BuildNumber)' == ''">0.0</BuildNumber>
<!-- When a build number is specified, it needs to be in the format of 'x.y' -->
<Error Condition="$(BuildNumber.Split('.').Length) != 2">BuildNumber should have two parts (in the form of 'x.y')</Error>
</PropertyGroup>
<PropertyGroup>
<!-- Split the build parts out from the BuildNumber -->
<BuildNumberPart1>$(BuildNumber.Split('.')[0])</BuildNumberPart1>
<BuildNumberPart2>$(BuildNumber.Split('.')[1].PadLeft(2,'0'))</BuildNumberPart2>
</PropertyGroup>
<Choose>
<When Condition="'$(BuildVersion)' != ''">
......@@ -28,20 +53,10 @@
</PropertyGroup>
</When>
<When Condition="('$(BuildNumber)' != '') and ($(BuildNumber.Split('.').Length) == 2)">
<!-- The user specified a build number, so we should use that. -->
<PropertyGroup>
<AssemblyVersion>$(RoslynSemanticVersion).0</AssemblyVersion>
<BuildVersion>$(RoslynSemanticVersion).$(BuildNumber.Split('.')[0])</BuildVersion>
</PropertyGroup>
</When>
<When Condition="'$(OfficialBuild)' == 'true' OR '$(RealSignBuild)' == 'true' OR '$(SignType)' == 'real'">
<!-- We're creating an official or real-signed build, but don't have a build number. Just use the RoslynSemanticVersion.
This happens if the build template does not pass BuildNumber down to MSBuild. -->
<When Condition="'$(OfficialBuild)' == 'true' OR '$(SignedBuild)' == 'true'">
<PropertyGroup>
<AssemblyVersion>$(RoslynSemanticVersion).0</AssemblyVersion>
<BuildVersion>$(RoslynSemanticVersion).0</BuildVersion>
<BuildVersion>$(RoslynSemanticVersion).$(BuildNumberPart1)$(BuildNumberPart2)</BuildVersion>
</PropertyGroup>
</When>
......@@ -51,8 +66,8 @@
have a build with an actual number installed, but then build and F5 a build with
this number. -->
<PropertyGroup>
<BuildVersion>42.42.42.42</BuildVersion>
<AssemblyVersion>42.42.42.42</AssemblyVersion>
<BuildVersion>42.42.42.42</BuildVersion>
</PropertyGroup>
</Otherwise>
</Choose>
......@@ -62,19 +77,11 @@
<!-- NuGet version -->
<PropertyGroup>
<BuildNumberSuffix>$(BUILD_BUILDNUMBER)</BuildNumberSuffix>
<BuildNumberPart1 Condition="'$(BuildNumberSuffix)' != ''">
$(BuildNumberSuffix.Split('.')[0])
</BuildNumberPart1>
<BuildNumberPart2 Condition="'$(BuildNumberSuffix)' != ''">
$(BuildNumberSuffix.Split('.')[1].PadLeft(2,'0'))
</BuildNumberPart2>
<!-- Only set when building RTM with no dependencies on pre-release packages
<NuGetReleaseVersion>$(RoslynSemanticVersion)</NuGetReleaseVersion>
-->
<NuGetPreReleaseVersion>$(RoslynSemanticVersion)-beta3</NuGetPreReleaseVersion>
<NuGetPerBuildPreReleaseVersion Condition="'$(BuildNumberSuffix)' != ''">$(NuGetPreReleaseVersion)-$(BuildNumberPart1.Trim())-$(BuildNumberPart2.Trim())</NuGetPerBuildPreReleaseVersion>
<NuGetPerBuildPreReleaseVersion>$(NuGetPreReleaseVersion)-$(BuildNumberPart1.Trim())-$(BuildNumberPart2.Trim())</NuGetPerBuildPreReleaseVersion>
<!-- TODO: change to a fixed version once we move this component to a separate repo -->
<MicrosoftDiaSymReaderPortablePdbVersion>1.1.0-beta1</MicrosoftDiaSymReaderPortablePdbVersion>
......
......@@ -14,15 +14,6 @@
<AssemblyName>Microsoft.Build.Tasks.CodeAnalysis</AssemblyName>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition="('$(BuildNumber)' != '') and ($(BuildNumber.Split('.').Length) == 2)">
<!-- Due to msbuild node reuse, the build task needs to have a different assembly
version to be loaded in multiple builds. Since nothing depends on the exact
assembly version of the build task we'll append the build number to the assembly
version when available (which it always is in official builds) -->
<AssemblyVersion>$(RoslynSemanticVersion).$(BuildNumber.Split('.')[0])</AssemblyVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " />
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' " />
<ItemGroup>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册