mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-15 05:08:26 +00:00
FS-4219 --resolve
This commit is contained in:
parent
2bd7155ebd
commit
fa1276d949
@ -262,6 +262,58 @@ Sub FindReplaceInFile(FileName, sFind, sReplace)
|
|||||||
fNewFile.Close
|
fNewFile.Close
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Function ExecAndGetResult(tmpFolder, VersionDir, execStr)
|
||||||
|
|
||||||
|
Set MyFile = FSO.CreateTextFile(tmpFolder & "tmpExec.Bat", True)
|
||||||
|
MyFile.WriteLine("@" & "cd " & quote & VersionDir & quote)
|
||||||
|
MyFile.WriteLine("@" & execStr)
|
||||||
|
MyFile.Close
|
||||||
|
|
||||||
|
Set oExec = WshShell.Exec("cmd /C " & quote & tmpFolder & "tmpExec.Bat" & quote)
|
||||||
|
|
||||||
|
ExecAndGetResult = Trim(OExec.StdOut.ReadLine())
|
||||||
|
|
||||||
|
Do
|
||||||
|
Loop While Not OExec.StdOut.atEndOfStream
|
||||||
|
|
||||||
|
FSO.DeleteFile(tmpFolder & "tmpExec.Bat")
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function ExecAndGetExitCode(tmpFolder, VersionDir, execStr)
|
||||||
|
|
||||||
|
Set MyFile = FSO.CreateTextFile(tmpFolder & "tmpExec.Bat", True)
|
||||||
|
MyFile.WriteLine("@" & "cd " & quote & VersionDir & quote)
|
||||||
|
MyFile.WriteLine("@" & execStr)
|
||||||
|
MyFile.WriteLine("@exit %ERRORLEVEL%")
|
||||||
|
MyFile.Close
|
||||||
|
|
||||||
|
ExecAndGetExitCode = WshShell.Run("cmd /C " & quote & tmpFolder & "tmpExec.Bat" & quote, 0, True)
|
||||||
|
|
||||||
|
FSO.DeleteFile(tmpFolder & "tmpExec.Bat")
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function pd(n, totalDigits)
|
||||||
|
If totalDigits > len(n) then
|
||||||
|
pd = String(totalDigits-len(n),"0") & n
|
||||||
|
Else
|
||||||
|
pd = n
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Function GetTimeUTC()
|
||||||
|
|
||||||
|
iOffset = WshShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias")
|
||||||
|
|
||||||
|
If IsNumeric(iOffset) Then
|
||||||
|
GetTimeUTC = DateAdd("n", iOffset, Now())
|
||||||
|
Else
|
||||||
|
GetTimeUTC = Now()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
||||||
Dim oExec
|
Dim oExec
|
||||||
|
|
||||||
@ -276,29 +328,47 @@ Sub CreateVersion(tmpFolder, VersionDir, includebase, includedest)
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim sLastFile
|
Dim sLastFile
|
||||||
Const ForReading = 1
|
Const ForReading = 1
|
||||||
|
|
||||||
'Try To read revision from git, if it was not found in "configure.in" already
|
'Try To read revision from git
|
||||||
If strVerRev = "" Then
|
If FSO.FolderExists(VersionDir & ".git") Then
|
||||||
If FSO.FolderExists(VersionDir & ".git") Then
|
'Get timestamp for last commit
|
||||||
VersionCmd="git log --format=" & quote & "%%h %%ci" & quote & " -1 HEAD"
|
strFromProc = ExecAndGetResult(tmpFolder, VersionDir, "git log -n1 --format=" & quote & "%%ct" & quote & " HEAD")
|
||||||
Set MyFile = FSO.CreateTextFile(tmpFolder & "tmpVersion.Bat", True)
|
If IsNumeric(strFromProc) Then
|
||||||
MyFile.WriteLine("@" & "cd " & quote & VersionDir & quote)
|
lastChangedDateTime = DateAdd("s", strFromProc, "01/01/1970 00:00:00")
|
||||||
MyFile.WriteLine("@" & VersionCmd)
|
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"
|
||||||
MyFile.Close
|
Else
|
||||||
Set oExec = WshShell.Exec("cmd /C " & quote & tmpFolder & "tmpVersion.Bat" & quote)
|
strLastCommit = "UNKNOWN"
|
||||||
Do
|
|
||||||
strFromProc = Trim(OExec.StdOut.ReadLine())
|
|
||||||
VERSION="git-" & strFromProc
|
|
||||||
Loop While Not OExec.StdOut.atEndOfStream
|
|
||||||
sLastVersion = ""
|
|
||||||
Set sLastFile = FSO.OpenTextFile(tmpFolder & "lastversion", ForReading, true, OpenAsASCII)
|
|
||||||
If Not sLastFile.atEndOfStream Then
|
|
||||||
sLastVersion = sLastFile.ReadLine()
|
|
||||||
End If
|
|
||||||
sLastFile.Close
|
|
||||||
VERSION = Replace(VERSION, ":", "-")
|
|
||||||
End If
|
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
|
||||||
|
|
||||||
|
'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"
|
||||||
|
End If
|
||||||
|
|
||||||
|
If strVerRev = "" Then
|
||||||
|
VERSION=strGitVer
|
||||||
|
Else
|
||||||
|
VERSION=VERSION & "+" & strGitVer
|
||||||
|
End If
|
||||||
|
|
||||||
|
sLastVersion = ""
|
||||||
|
Set sLastFile = FSO.OpenTextFile(tmpFolder & "lastversion", ForReading, true, OpenAsASCII)
|
||||||
|
If Not sLastFile.atEndOfStream Then
|
||||||
|
sLastVersion = sLastFile.ReadLine()
|
||||||
|
End If
|
||||||
|
sLastFile.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If VERSION = "" Then
|
If VERSION = "" Then
|
||||||
@ -315,7 +385,6 @@ 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
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
Loading…
x
Reference in New Issue
Block a user