From c34652bc4a8c76a7091be52d84c95e06320b4c10 Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 26 Nov 2024 16:45:08 -0700 Subject: [PATCH] replace path separators again --- fclauncher/InstanceManager.go | 44 +++++++++++++++++++---------------- fclauncher/fabric.go | 1 - 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/fclauncher/InstanceManager.go b/fclauncher/InstanceManager.go index da2b5a9..7891d46 100644 --- a/fclauncher/InstanceManager.go +++ b/fclauncher/InstanceManager.go @@ -335,13 +335,14 @@ func (i *InstanceManager) InstallFabric(instance string, fabricVersion string) { } client: for _, lib := range metadata.LauncherMeta.Libraries.Client { - tokens := strings.Split(ProcessMavenPath(lib.Name), "/") + tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) pkg := tokens[len(tokens)-2] - instanceObject.Libraries = append(instanceObject.Libraries, ProcessMavenPath(lib.Name)+"/"+ProcessMavenFilename(lib.Name)) + instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, "/") + path = strings.ReplaceAll(path, "/", string(os.PathSeparator)) + tokens := strings.Split(path, string(os.PathSeparator)) if pkg == tokens[len(tokens)-3] { - instanceObject.Libraries[ind] = ProcessMavenPath(lib.Name) + "/" + ProcessMavenFilename(lib.Name) + instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) continue client } @@ -349,14 +350,15 @@ client: } common: for _, lib := range metadata.LauncherMeta.Libraries.Common { - tokens := strings.Split(ProcessMavenPath(lib.Name), "/") + tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) pkg := tokens[len(tokens)-2] - instanceObject.Libraries = append(instanceObject.Libraries, ProcessMavenPath(lib.Name)+"/"+ProcessMavenFilename(lib.Name)) + instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, "/") - fmt.Printf("Inspecing path %s with %d tokens", path, len(tokens)) + path = strings.ReplaceAll(path, "/", string(os.PathSeparator)) + tokens := strings.Split(path, string(os.PathSeparator)) + fmt.Printf("Inspecing path %s with %d tokens\n", path, len(tokens)) if pkg == tokens[len(tokens)-3] { - instanceObject.Libraries[ind] = ProcessMavenPath(lib.Name) + "/" + ProcessMavenFilename(lib.Name) + instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) continue common } @@ -394,13 +396,14 @@ func (i *InstanceManager) InstallQuilt(instance string, quiltVersion string) { } client: for _, lib := range metadata.LauncherMeta.Libraries.Client { - tokens := strings.Split(ProcessMavenPath(lib.Name), "/") + tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) pkg := tokens[len(tokens)-2] - instanceObject.Libraries = append(instanceObject.Libraries, ProcessMavenPath(lib.Name)+"/"+ProcessMavenFilename(lib.Name)) + instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, "/") + path = strings.ReplaceAll(path, "/", string(os.PathSeparator)) + tokens := strings.Split(path, string(os.PathSeparator)) if pkg == tokens[len(tokens)-3] { - instanceObject.Libraries[ind] = ProcessMavenPath(lib.Name) + "/" + ProcessMavenFilename(lib.Name) + instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) continue client } @@ -408,13 +411,14 @@ client: } common: for _, lib := range metadata.LauncherMeta.Libraries.Common { - tokens := strings.Split(ProcessMavenPath(lib.Name), "/") + tokens := strings.Split(ProcessMavenPath(lib.Name), string(os.PathSeparator)) pkg := tokens[len(tokens)-2] - instanceObject.Libraries = append(instanceObject.Libraries, ProcessMavenPath(lib.Name)+"/"+ProcessMavenFilename(lib.Name)) + instanceObject.Libraries = append(instanceObject.Libraries, filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name))) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, "/") + path = strings.ReplaceAll(path, "/", string(os.PathSeparator)) + tokens := strings.Split(path, string(os.PathSeparator)) if pkg == tokens[len(tokens)-3] { - instanceObject.Libraries[ind] = ProcessMavenPath(lib.Name) + "/" + ProcessMavenFilename(lib.Name) + instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) continue common } @@ -456,13 +460,13 @@ func (i *InstanceManager) InstallForge(instance string, forgeVersion string) { instanceObject.ForgeVersion = forgeVersion outer: for _, lib := range installData.Libraries { - tokens := strings.Split(lib.Downloads.Artifact.Path, "/") + tokens := strings.Split(lib.Downloads.Artifact.Path, string(os.PathSeparator)) pkg := tokens[len(tokens)-2] instanceObject.Libraries = append(instanceObject.Libraries, lib.Downloads.Artifact.Path) for ind, path := range instanceObject.Libraries { - tokens := strings.Split(path, "/") + tokens := strings.Split(path, string(os.PathSeparator)) if pkg == tokens[len(tokens)-3] { - instanceObject.Libraries[ind] = ProcessMavenPath(lib.Name) + "/" + ProcessMavenFilename(lib.Name) + instanceObject.Libraries[ind] = filepath.Join(ProcessMavenPath(lib.Name), ProcessMavenFilename(lib.Name)) fmt.Printf("duplicate library %s\n", pkg) continue outer } diff --git a/fclauncher/fabric.go b/fclauncher/fabric.go index 24af8f8..668b940 100644 --- a/fclauncher/fabric.go +++ b/fclauncher/fabric.go @@ -133,7 +133,6 @@ func ProcessMavenPath(maven string) string { pack := tokens[1] version := tokens[2] path = filepath.Join(path, pack, version) - path = strings.ReplaceAll(path, "\\", "/") return path }