|
| 1 | +<!-- DisplayVersionUpdate.xml --> |
| 2 | +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 3 | + <PropertyGroup> |
| 4 | + <FdvserverkmdVersion Condition="'$(FdvserverkmdVersion)'==''">1.0.0.0</FdvserverkmdVersion> |
| 5 | + <PdvserverkmdVersion Condition="'$(PdvserverkmdVersion)'==''">1.0.0.0</PdvserverkmdVersion> |
| 6 | + </PropertyGroup> |
| 7 | + |
| 8 | + <Target Name="UpdateDisplayVersion" BeforeTargets="ClCompile"> |
| 9 | + <PropertyGroup> |
| 10 | + <VersionFile>DVServerKMD.rc</VersionFile> |
| 11 | + <FileContent>$([System.IO.File]::ReadAllText('$(VersionFile)'))</FileContent> |
| 12 | + |
| 13 | + <!-- Split File and Product Versions --> |
| 14 | + <FileVersionMajor>$([System.String]::Copy($(FdvserverkmdVersion)).Split('.')[0])</FileVersionMajor> |
| 15 | + <FileVersionMinor>$([System.String]::Copy($(FdvserverkmdVersion)).Split('.')[1])</FileVersionMinor> |
| 16 | + <FileVersionBuild>$([System.String]::Copy($(FdvserverkmdVersion)).Split('.')[2])</FileVersionBuild> |
| 17 | + <FileVersionRevision>$([System.String]::Copy($(FdvserverkmdVersion)).Split('.')[3])</FileVersionRevision> |
| 18 | + |
| 19 | + <ProductVersionMajor>$([System.String]::Copy($(PdvserverkmdVersion)).Split('.')[0])</ProductVersionMajor> |
| 20 | + <ProductVersionMinor>$([System.String]::Copy($(PdvserverkmdVersion)).Split('.')[1])</ProductVersionMinor> |
| 21 | + <ProductVersionBuild>$([System.String]::Copy($(PdvserverkmdVersion)).Split('.')[2])</ProductVersionBuild> |
| 22 | + <ProductVersionRevision>$([System.String]::Copy($(PdvserverkmdVersion)).Split('.')[3])</ProductVersionRevision> |
| 23 | + |
| 24 | + <!-- Replace placeholders with commas and periods --> |
| 25 | + <FileContent>$([System.Text.RegularExpressions.Regex]::Replace($(FileContent), '\$\{FileVersion\}', '$(FileVersionMajor),$(FileVersionMinor),$(FileVersionBuild),$(FileVersionRevision)'))</FileContent> |
| 26 | + <FileContent>$([System.Text.RegularExpressions.Regex]::Replace($(FileContent), '\$\{ProductVersion\}', '$(ProductVersionMajor),$(ProductVersionMinor),$(ProductVersionBuild),$(ProductVersionRevision)'))</FileContent> |
| 27 | + <FileContent>$([System.Text.RegularExpressions.Regex]::Replace($(FileContent), '\$\{ProductVersionString\}', '$(PdvserverkmdVersion)'))</FileContent> |
| 28 | + </PropertyGroup> |
| 29 | + |
| 30 | + <!-- Write updated content back to the .rc file --> |
| 31 | + <WriteLinesToFile File="$(VersionFile)" Lines="$(FileContent)" Overwrite="true"/> |
| 32 | + </Target> |
| 33 | +</Project> |
0 commit comments