From 010a8becd7f52095d5595ee89e30b44f5ed253c9 Mon Sep 17 00:00:00 2001 From: cyber-dream Date: Fri, 3 Feb 2023 01:34:48 +0300 Subject: [PATCH] Add java entities # Conflicts: # redistruable/javaentities/java.go --- redistruable/javaentities/java.go | 113 ++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 redistruable/javaentities/java.go diff --git a/redistruable/javaentities/java.go b/redistruable/javaentities/java.go new file mode 100644 index 0000000..ad0eae2 --- /dev/null +++ b/redistruable/javaentities/java.go @@ -0,0 +1,113 @@ +package javaentities + +import ( + "errors" + "os" + "path" + "runtime" + "strconv" + "strings" +<<<<<<< HEAD +======= + + "git.gregbrzezinski.com/Skirda/skirdaGoLauncher/api" + "git.gregbrzezinski.com/Skirda/skirdaGoLauncher/downloader" +>>>>>>> 7b3396a (Add java entities) +) + +type JavaVersion struct { + Major int + Minor int + Patch int +} + +type JavaMetas struct { + JavaVersions []JavaMeta `json:"javaVersions"` +} + +<<<<<<< HEAD +func (jm JavaMetas) GetOsURL() (string, error) { + +} + +======= +>>>>>>> 7b3396a (Add java entities) +type JavaMeta struct { + Version struct { + Major string `json:"major"` + Minor string `json:"minor"` + Patch string `json:"patch"` + } `json:"version"` + Specifics `json:"specifics"` +} + +type SpecificJavaVersion struct { + Os string `json:"os"` + Arch string `json:"arch"` + URL string `json:"URL"` + Sha1 string `json:"SHA1"` +} + +type Specifics []SpecificJavaVersion + +func (s Specifics) getOsJava() (SpecificJavaVersion, error) { + for _, v := range s { + if v.Os == runtime.GOOS { + return v, nil + } + } + return SpecificJavaVersion{}, errors.New("not java for current os") +} + +func (v *JavaVersion) CheckNotExists(launcherPath string) bool { +<<<<<<< HEAD +======= + +>>>>>>> 7b3396a (Add java entities) + javaBinPath := path.Join(launcherPath, ".redist", "java", v.GetString()) + _, err := os.Stat(javaBinPath) + + return err != nil +} + +func (v *JavaVersion) GetString() string { + var stringBuilder strings.Builder + stringBuilder.WriteString(strconv.Itoa(v.Major)) + stringBuilder.WriteRune('.') + stringBuilder.WriteString(strconv.Itoa(v.Minor)) + stringBuilder.WriteRune('.') + stringBuilder.WriteString(strconv.Itoa(v.Patch)) + + return stringBuilder.String() +} +<<<<<<< HEAD +======= + +func (v *JavaVersion) DownloadLatest(downloadDir string) (downloader.DownloadFile, error) { + javaVersionMeta := JavaMetas{} + task := downloader.DownloadFile{ + Url: "", + Path: "", + } + + javaVersionMeta, err := api.GetJavaVersionMetas() + + // if err := downloadJson("https://skirda.gregbrzezinski.com/java_version_manifest.json", &javaVersionMeta); err != nil { + // return task, errors.New("error in download json") + // } + + // javaSpecific := SpecificJavaVersion{} + + javaSpecific, err := javaVersionMeta.getOsJava() + if err != nil { + return task, err + } + + task = downloader.DownloadFile{ + Url: javaSpecific.URL, + Path: path.Join(downloadDir, v.GetString()), + } + + return task, nil +} +>>>>>>> 7b3396a (Add java entities)