forked from Mirrors/freeswitch
FS-4219 -- resolve windows version string. thanks Peter
This commit is contained in:
parent
72f1d392fb
commit
659c06d356
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user