|
3 | 3 | #load "GetLastVersion.csx" |
4 | 4 | #load "GenerateTag.csx" |
5 | 5 | using System; |
| 6 | +using System.Text.RegularExpressions; |
6 | 7 |
|
7 | 8 | public (string versionPack, string versionRelease) RunUpdateVersion(string version, string packageFlow) |
8 | 9 | { |
| 10 | + string versionMajor = "0.0"; |
| 11 | + string versionRevision = "0"; |
| 12 | + string prefixBranch = ""; |
9 | 13 |
|
10 | | - var versionPart = version.Split("/") ; |
11 | | - var versionPartPart = versionPart[^1].Split("."); |
| 14 | + string branch = RunCommand("git", "rev-parse --abbrev-ref HEAD"); |
| 15 | + var branch_part = branch.Split("/"); |
12 | 16 |
|
13 | | - string versionMajor = string.Join(".", versionPartPart[..^1]); |
14 | | - string numberPatchVersion = versionPartPart[^1]; |
| 17 | + var version_split = version.Split("."); |
15 | 18 |
|
16 | | - string versionPatch = GenerateVersionPatch(packageFlow, versionPart[0]); |
| 19 | + var regex = new Regex(@"^\d+(\.\d+)*$"); |
| 20 | + if(branch_part.Count() > 0 && regex.IsMatch(branch_part[^1])) |
| 21 | + { |
| 22 | + prefixBranch = string.Join("", branch_part[..^1]); |
| 23 | + } |
| 24 | + else |
| 25 | + { |
| 26 | + prefixBranch = branch; |
| 27 | + } |
17 | 28 |
|
18 | | - version = $"{versionMajor}{versionPatch}"; |
| 29 | + if(version_split.Count() > 0) |
| 30 | + { |
| 31 | + versionMajor = string.Join(".", version_split[..^1]); |
| 32 | + versionRevision = version_split[^1]; |
| 33 | + } |
19 | 34 |
|
20 | | - var versionPack = $"{versionMajor}{versionPatch}.{numberPatchVersion}"; |
21 | | - var versionRelease = $"{versionMajor}.{numberPatchVersion}"; |
| 35 | + string versionPatch = GenerateVersionPatch(packageFlow, branch_part[0]); |
| 36 | + |
| 37 | + var versionPack = $"{versionMajor}{versionPatch}.{versionRevision}"; |
| 38 | + var versionRelease = $"{versionMajor}.{versionRevision}"; |
22 | 39 |
|
23 | 40 | return (versionPack, versionRelease); |
24 | 41 | } |
0 commit comments