diff --git a/libs/win32/util.vbs b/libs/win32/util.vbs index 4f13e21ad0..a6f3cf835d 100644 --- a/libs/win32/util.vbs +++ b/libs/win32/util.vbs @@ -314,6 +314,31 @@ Function GetTimeUTC() End Function +Function GetWeekDay(DateTime) + + DayOfWeek = DatePart("w", DateTime) + + Select Case DayOfWeek + Case 1 GetWeekDay = "Sun" + Case 2 GetWeekDay = "Mon" + Case 3 GetWeekDay = "Tue" + Case 4 GetWeekDay = "Wed" + Case 5 GetWeekDay = "Thu" + Case 6 GetWeekDay = "Fri" + Case 7 GetWeekDay = "Sat" + End Select + +End Function + +Function GetMonthName(DateTime) + + Val = MonthName(Month(DateTime), True) + Val = UCase(Left(Val, 1)) & Mid(Val, 2, 4) + + GetMonthName = Val + +End Function + Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) Dim oExec @@ -321,6 +346,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) strVerMinor = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MINOR") strVerMicro = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MICRO") strVerRev = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION") + strVerHuman = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION_HUMAN") 'Set version to the one reported by configure.in If strVerRev <> "" Then @@ -329,6 +355,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) Dim sLastFile Const ForReading = 1 + Const ShowUnclean = False 'Don't show unclean state for now 'Try To read revision from git If FSO.FolderExists(VersionDir & ".git") Then @@ -337,30 +364,38 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) If IsNumeric(strFromProc) Then lastChangedDateTime = DateAdd("s", strFromProc, "01/01/1970 00:00:00") strLastCommit = YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z" + strLastCommitHuman = GetWeekDay(lastChangedDateTime) & ", " & Pd(DAY(lastChangedDateTime), 2) & " " & GetMonthName(lastChangedDateTime) & " " & YEAR(lastChangedDateTime) & " " & Pd(Hour(lastChangedDateTime), 2) & ":" & Pd(Minute(lastChangedDateTime), 2) & ":" & Pd(Second(lastChangedDateTime), 2) & " Z" Else - strLastCommit = "UNKNOWN" + strLastCommit = "" + strLastCommitHuman = "" End If 'Get revision hash strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD") - If strRevision = "" Then - strRevision = "UNKNOWN" - End If + If strLastCommit <> "" And strLastCommitHuman <> "" And strRevision <> "" Then + 'Bild version string + strGitVer = "git~" & strLastCommit & "~" & strRevision + strVerHuman = "; git at commit " & strRevision & " on " & strLastCommitHuman - 'Bild version string - strGitVer="git~" & strLastCommit & "~" & strRevision - - 'Check for local changes, if found, append to git revision string - If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then - lastChangedDateTime = GetTimeUTC() - strGitVer = strGitVer & "+unclean~" & YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z" + 'Check for local changes, if found, append to git revision string + If ShowUnclean Then + If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then + lastChangedDateTime = GetTimeUTC() + strGitVer = strGitVer & "+unclean~" & YEAR(lastChangedDateTime) & Pd(Month(lastChangedDateTime), 2) & Pd(DAY(lastChangedDateTime), 2) & "T" & Pd(Hour(lastChangedDateTime), 2) & Pd(Minute(lastChangedDateTime), 2) & Pd(Second(lastChangedDateTime), 2) & "Z" + End If + End If + Else + strGitVer = "" + strVerHuman = "" End If If strVerRev = "" Then VERSION=strGitVer Else - VERSION=VERSION & "+" & strGitVer + If strGitVer <> "" Then + VERSION=VERSION & "+" & strGitVer + End If End If sLastVersion = "" @@ -371,13 +406,9 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) sLastFile.Close End If - If VERSION = "" Then - VERSION = "-UNKNOWN" - End If - - If VERSION <> sLastVersion Then + If VERSION & " " & strVerHuman <> sLastVersion Then Set MyFile = fso.CreateTextFile(tmpFolder & "lastversion", True) - MyFile.WriteLine(VERSION) + MyFile.WriteLine(VERSION & " " & strVerHuman) MyFile.Close FSO.CopyFile includebase, includedest, true @@ -385,6 +416,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest) FindReplaceInFile includedest, "@SWITCH_VERSION_MAJOR@", strVerMajor FindReplaceInFile includedest, "@SWITCH_VERSION_MINOR@", strVerMinor FindReplaceInFile includedest, "@SWITCH_VERSION_MICRO@", strVerMicro + FindReplaceInFile includedest, "@SWITCH_VERSION_REVISION_HUMAN@", strVerHuman End If End Sub