prepare loader ui
This commit is contained in:
+23
-9
@@ -1,25 +1,39 @@
|
||||
package loader
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"galaxy/connector"
|
||||
"galaxy/util"
|
||||
"runtime"
|
||||
"slices"
|
||||
)
|
||||
|
||||
func resolvePluginFile(version string) string {
|
||||
return clientLibraryFile + "-" + version
|
||||
return libUIPluginFile + "-" + version
|
||||
}
|
||||
|
||||
func compareSemver(a, b string) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
func latestVersion(versions []connector.VersionInfo) (connector.VersionInfo, bool) {
|
||||
// latestVersion should return VersionInfo with the latest Version for the current OD
|
||||
func latestVersion(versions []connector.VersionInfo) (connector.VersionInfo, bool, error) {
|
||||
os := runtime.GOOS
|
||||
versions = slices.DeleteFunc(versions, func(v connector.VersionInfo) bool { return v.OS != os })
|
||||
if len(versions) == 0 {
|
||||
return connector.VersionInfo{}, false
|
||||
return connector.VersionInfo{}, false, nil
|
||||
}
|
||||
slices.SortFunc(versions, func(a, b connector.VersionInfo) int { return compareSemver(b.Version, a.Version) })
|
||||
return versions[0], true
|
||||
type v struct {
|
||||
vi *connector.VersionInfo
|
||||
sv *util.SemVer
|
||||
}
|
||||
semvers := make([]*v, len(versions))
|
||||
for i := range versions {
|
||||
sv, err := util.ParseSemver(versions[i].Version)
|
||||
if err != nil {
|
||||
return connector.VersionInfo{}, false, fmt.Errorf("latest version: %w", err)
|
||||
}
|
||||
semvers[i] = &v{
|
||||
vi: &versions[i],
|
||||
sv: &sv,
|
||||
}
|
||||
}
|
||||
slices.SortFunc(semvers, func(a, b *v) int { return util.CompareSemver(*b.sv, *a.sv) })
|
||||
return *semvers[0].vi, true, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user