FS-4219 -- resolve windows version string. thanks Peter
This commit is contained in:
parent
dbbe5ed1e0
commit
d1db17b486
|
@ -314,6 +314,31 @@ Function GetTimeUTC()
|
||||||
|
|
||||||
End Function
|
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)
|
Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
Dim oExec
|
Dim oExec
|
||||||
|
|
||||||
|
@ -321,6 +346,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
strVerMinor = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MINOR")
|
strVerMinor = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MINOR")
|
||||||
strVerMicro = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MICRO")
|
strVerMicro = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_MICRO")
|
||||||
strVerRev = FindVersionStringInConfigure(VersionDir & "configure.in", "SWITCH_VERSION_REVISION")
|
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
|
'Set version to the one reported by configure.in
|
||||||
If strVerRev <> "" Then
|
If strVerRev <> "" Then
|
||||||
|
@ -329,6 +355,7 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
|
|
||||||
Dim sLastFile
|
Dim sLastFile
|
||||||
Const ForReading = 1
|
Const ForReading = 1
|
||||||
|
Const ShowUnclean = False 'Don't show unclean state for now
|
||||||
|
|
||||||
'Try To read revision from git
|
'Try To read revision from git
|
||||||
If FSO.FolderExists(VersionDir & ".git") Then
|
If FSO.FolderExists(VersionDir & ".git") Then
|
||||||
|
@ -337,30 +364,38 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
If IsNumeric(strFromProc) Then
|
If IsNumeric(strFromProc) Then
|
||||||
lastChangedDateTime = DateAdd("s", strFromProc, "01/01/1970 00:00:00")
|
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"
|
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
|
Else
|
||||||
strLastCommit = "UNKNOWN"
|
strLastCommit = ""
|
||||||
|
strLastCommitHuman = ""
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Get revision hash
|
'Get revision hash
|
||||||
strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD")
|
strRevision = ExecAndGetResult(tmpFolder, VersionDir, "git rev-list -n1 --abbrev=10 --abbrev-commit HEAD")
|
||||||
|
|
||||||
If strRevision = "" Then
|
If strLastCommit <> "" And strLastCommitHuman <> "" And strRevision <> "" Then
|
||||||
strRevision = "UNKNOWN"
|
'Bild version string
|
||||||
End If
|
strGitVer = "git~" & strLastCommit & "~" & strRevision
|
||||||
|
strVerHuman = "; git at commit " & strRevision & " on " & strLastCommitHuman
|
||||||
|
|
||||||
'Bild version string
|
'Check for local changes, if found, append to git revision string
|
||||||
strGitVer="git~" & strLastCommit & "~" & strRevision
|
If ShowUnclean Then
|
||||||
|
If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then
|
||||||
'Check for local changes, if found, append to git revision string
|
lastChangedDateTime = GetTimeUTC()
|
||||||
If ExecAndGetExitCode(tmpFolder, VersionDir, "git diff-index --quiet HEAD") <> 0 Then
|
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"
|
||||||
lastChangedDateTime = GetTimeUTC()
|
End If
|
||||||
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
|
||||||
|
Else
|
||||||
|
strGitVer = ""
|
||||||
|
strVerHuman = ""
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If strVerRev = "" Then
|
If strVerRev = "" Then
|
||||||
VERSION=strGitVer
|
VERSION=strGitVer
|
||||||
Else
|
Else
|
||||||
VERSION=VERSION & "+" & strGitVer
|
If strGitVer <> "" Then
|
||||||
|
VERSION=VERSION & "+" & strGitVer
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
sLastVersion = ""
|
sLastVersion = ""
|
||||||
|
@ -371,13 +406,9 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
sLastFile.Close
|
sLastFile.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If VERSION = "" Then
|
If VERSION & " " & strVerHuman <> sLastVersion Then
|
||||||
VERSION = "-UNKNOWN"
|
|
||||||
End If
|
|
||||||
|
|
||||||
If VERSION <> sLastVersion Then
|
|
||||||
Set MyFile = fso.CreateTextFile(tmpFolder & "lastversion", True)
|
Set MyFile = fso.CreateTextFile(tmpFolder & "lastversion", True)
|
||||||
MyFile.WriteLine(VERSION)
|
MyFile.WriteLine(VERSION & " " & strVerHuman)
|
||||||
MyFile.Close
|
MyFile.Close
|
||||||
|
|
||||||
FSO.CopyFile includebase, includedest, true
|
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_MAJOR@", strVerMajor
|
||||||
FindReplaceInFile includedest, "@SWITCH_VERSION_MINOR@", strVerMinor
|
FindReplaceInFile includedest, "@SWITCH_VERSION_MINOR@", strVerMinor
|
||||||
FindReplaceInFile includedest, "@SWITCH_VERSION_MICRO@", strVerMicro
|
FindReplaceInFile includedest, "@SWITCH_VERSION_MICRO@", strVerMicro
|
||||||
|
FindReplaceInFile includedest, "@SWITCH_VERSION_REVISION_HUMAN@", strVerHuman
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
Loading…
Reference in New Issue