1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package update
- /*
- Update.go
- This module handle cross version updates that contains breaking changes
- update command should always exit after the update is completed
- */
- import (
- "fmt"
- "strconv"
- "strings"
- v308 "imuslab.com/zoraxy/mod/update/v308"
- )
- // Run config update. Version numbers are int. For example
- // to update 3.0.7 to 3.0.8, use RunConfigUpdate(307, 308)
- // This function support cross versions updates (e.g. 307 -> 310)
- func RunConfigUpdate(fromVersion int, toVersion int) {
- for i := fromVersion; i < toVersion; i++ {
- oldVersion := fromVersion
- newVersion := fromVersion + 1
- fmt.Println("Updating from v", oldVersion, " to v", newVersion)
- runUpdateRoutineWithVersion(oldVersion, newVersion)
- }
- fmt.Println("Update completed")
- }
- func GetVersionIntFromVersionNumber(version string) int {
- versionNumberOnly := strings.ReplaceAll(version, ".", "")
- versionInt, _ := strconv.Atoi(versionNumberOnly)
- return versionInt
- }
- func runUpdateRoutineWithVersion(fromVersion int, toVersion int) {
- if fromVersion == 307 && toVersion == 308 {
- err := v308.UpdateFrom307To308()
- if err != nil {
- panic(err)
- }
- }
- }
|