version.props 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <Project>
  2. <PropertyGroup>
  3. <AspNetCoreMajorVersion>3</AspNetCoreMajorVersion>
  4. <AspNetCoreMinorVersion>0</AspNetCoreMinorVersion>
  5. <AspNetCorePatchVersion>0</AspNetCorePatchVersion>
  6. <PreReleasePreviewNumber>6</PreReleasePreviewNumber>
  7. <PreReleaseLabel>preview$(PreReleasePreviewNumber)</PreReleaseLabel>
  8. <PreReleaseBrandingLabel>Preview $(PreReleasePreviewNumber)</PreReleaseBrandingLabel>
  9. <ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix>
  10. <BlazorComponentsVersionPrefix>0.9.$(AspNetCorePatchVersion)</BlazorComponentsVersionPrefix>
  11. <AspNetCoreMajorMinorVersion>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)</AspNetCoreMajorMinorVersion>
  12. <VersionPrefix>$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion)</VersionPrefix>
  13. <!-- ANCM versioning is intentionally 10 + AspNetCoreMajorVersion because earlier versions of ANCM shipped as 8.x. -->
  14. <AspNetCoreModuleVersionMajor>1$(AspNetCoreMajorVersion)</AspNetCoreModuleVersionMajor>
  15. <AspNetCoreModuleVersionMinor>$(AspNetCoreMinorVersion)</AspNetCoreModuleVersionMinor>
  16. <AspNetCoreModuleVersionRevision>$(AspNetCorePatchVersion)</AspNetCoreModuleVersionRevision>
  17. <OfficialBuildId Condition="'$(OfficialBuildId)' == ''">$(BUILD_BUILDNUMBER)</OfficialBuildId>
  18. <OfficialBuildId Condition="'$(OfficialBuildId)' == '' AND '$(IsOfficialBuild)' == 'true'">$([System.DateTime]::Now.ToString('yyyyMMdd')).1</OfficialBuildId>
  19. </PropertyGroup>
  20. <PropertyGroup Condition=" '$(OfficialBuildId)' != '' ">
  21. <!-- This *mostly* implements core versioning. Spec: https://github.com/dotnet/arcade/blob/master/Documentation/CorePackages/Versioning.md -->
  22. <_BuildNumber>$(OfficialBuildId)</_BuildNumber>
  23. <!-- _BuildNumber from CI is assumed to have format "yyyyMMdd.r". -->
  24. <_BuildNumberYY>$(_BuildNumber.Substring(2, 2))</_BuildNumberYY>
  25. <_BuildNumberMM>$(_BuildNumber.Substring(4, 2))</_BuildNumberMM>
  26. <_BuildNumberDD>$(_BuildNumber.Substring(6, 2))</_BuildNumberDD>
  27. <_BuildNumberR>$(_BuildNumber.Substring(9))</_BuildNumberR>
  28. <!-- yy * 1000 + mm * 50 + dd -->
  29. <_BuildNumberShortDate>$([MSBuild]::Add($([MSBuild]::Add($([MSBuild]::Multiply($(_BuildNumberYY), 1000)), $([MSBuild]::Multiply($(_BuildNumberMM), 50)))), $(_BuildNumberDD)))</_BuildNumberShortDate>
  30. <VersionSuffixBuildOfTheDay>$([System.Convert]::ToInt32($(_BuildNumberR)))</VersionSuffixBuildOfTheDay>
  31. <VersionSuffixBuildOfTheDayPadded>$(VersionSuffixBuildOfTheDay.PadLeft(2, '0'))</VersionSuffixBuildOfTheDayPadded>
  32. <!-- TODO: consider using semver 2.0 instead, when/if https://github.com/dotnet/core-setup/issues/4795 is resolved -->
  33. <BuildNumberSuffix>$(_BuildNumberShortDate)-$(VersionSuffixBuildOfTheDayPadded)</BuildNumberSuffix>
  34. <FileRevisionVersion>$(_BuildNumberShortDate)</FileRevisionVersion>
  35. </PropertyGroup>
  36. <PropertyGroup Condition=" '$(OfficialBuildId)' == '' ">
  37. <BuildNumberSuffix>t000</BuildNumberSuffix>
  38. <FileRevisionVersion>42424</FileRevisionVersion>
  39. </PropertyGroup>
  40. <PropertyGroup>
  41. <VersionSuffix>$(PreReleaseLabel)-$(BuildNumberSuffix)</VersionSuffix>
  42. <BrandingVersionSuffix>$(PreReleaseBrandingLabel) Build $(BuildNumberSuffix)</BrandingVersionSuffix>
  43. <!-- Servicing builds have different characteristics for the way dependencies, baselines, and versions are handled. -->
  44. <IsServicingBuild Condition=" '$(PreReleaseLabel)' == 'servicing' ">true</IsServicingBuild>
  45. <!-- Run the build with /p:IsFinalBuild=true to produce the product with 'final' branding and versioning -->
  46. <IsFinalBuild Condition=" '$(IsFinalBuild)' == '' ">false</IsFinalBuild>
  47. <IncludePreReleaseLabelInPackageVersion>true</IncludePreReleaseLabelInPackageVersion>
  48. <IncludePreReleaseLabelInPackageVersion Condition=" '$(IsFinalBuild)' == 'true' AND ('$(PreReleaseLabel)' == 'servicing' OR '$(PreReleaseLabel)' == 'rtm')">false</IncludePreReleaseLabelInPackageVersion>
  49. <!-- The 'human friendly' version to display in installers. In pre-release builds, this might be "2.0.7 Preview 2 Build 12356". In final builds, it should be "2.0.7" -->
  50. <PackageBrandingVersion>$(VersionPrefix)</PackageBrandingVersion>
  51. <PackageBrandingVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(PackageBrandingVersion) $(BrandingVersionSuffix.Trim())</PackageBrandingVersion>
  52. <!-- The version in files -->
  53. <PackageVersion>$(VersionPrefix)</PackageVersion>
  54. <PackageVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
  55. <SharedFxName>Microsoft.AspNetCore.App</SharedFxName>
  56. <SharedFxVersion>$(PackageVersion)</SharedFxVersion>
  57. <TargetingPackName>Microsoft.AspNetCore.App.Ref</TargetingPackName>
  58. <!-- TargetingPackVersionPrefix is used by projects, like .deb and .rpm, which use slightly different version formats. -->
  59. <TargetingPackVersionPrefix>$(VersionPrefix)</TargetingPackVersionPrefix>
  60. <!-- Targeting packs do not produce patch versions in servicing builds. No API changes are allowed in patches. -->
  61. <TargetingPackVersionPrefix Condition="'$(IsServicingBuild)' == 'true'">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0</TargetingPackVersionPrefix>
  62. <TargetingPackVersion>$(TargetingPackVersionPrefix)</TargetingPackVersion>
  63. <TargetingPackVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(TargetingPackVersionPrefix)-$(VersionSuffix)</TargetingPackVersion>
  64. <!-- Used to only produce targeting pack installers/packages once per major.minor. -->
  65. <IsTargetingPackBuilding Condition="'$(IsServicingBuild)' == 'true' AND '$(DotNetBuildFromSource)' != 'true'">false</IsTargetingPackBuilding>
  66. <!-- Experimental packages which are not truly supported yet. -->
  67. <ExperimentalPackageVersion>$(ExperimentalVersionPrefix)</ExperimentalPackageVersion>
  68. <ExperimentalPackageVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(ExperimentalVersionPrefix)-$(VersionSuffix)</ExperimentalPackageVersion>
  69. <SharedFxCliBlobChannel>master</SharedFxCliBlobChannel>
  70. <!-- This is used for error checking to ensure generated code and baselines are up to date when we increment the patch. -->
  71. <PreviousAspNetCoreReleaseVersion Condition=" '$(AspNetCorePatchVersion)' != '0' ">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$([MSBuild]::Subtract($(AspNetCorePatchVersion), 1))</PreviousAspNetCoreReleaseVersion>
  72. </PropertyGroup>
  73. <!-- Run 'dotnet msbuild version.props' to test changes to this file. -->
  74. <Target Name="InspectVersionNumbers">
  75. <Message Importance="High" Text="PackageVersion = '$(PackageVersion)'" />
  76. <Message Importance="High" Text="PackageBrandingVersion = '$(PackageBrandingVersion)'" />
  77. <Message Importance="High" Text="ExperimentalPackageVersion = '$(ExperimentalPackageVersion)'" />
  78. <Message Importance="High" Text="SharedFxCliBlobChannel = '$(SharedFxCliBlobChannel)'" />
  79. </Target>
  80. </Project>