From 8dae6a2d1a89e9da22d37b2dbb4fcb4835e18aab Mon Sep 17 00:00:00 2001 From: comp500 Date: Tue, 7 Apr 2020 21:51:47 +0100 Subject: [PATCH] Ensure overrides folder is always added, do a refresh before export --- curseforge/export.go | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/curseforge/export.go b/curseforge/export.go index 57dd386..4bda078 100644 --- a/curseforge/export.go +++ b/curseforge/export.go @@ -39,6 +39,27 @@ var exportCmd = &cobra.Command{ fmt.Println(err) os.Exit(1) } + // Do a refresh to ensure files are up to date + err = index.Refresh() + if err != nil { + fmt.Println(err) + return + } + err = index.Write() + if err != nil { + fmt.Println(err) + return + } + err = pack.UpdateIndexHash() + if err != nil { + fmt.Println(err) + return + } + err = pack.Write() + if err != nil { + fmt.Println(err) + return + } // TODO: should index just expose indexPath itself, through a function? indexPath := filepath.Join(filepath.Dir(viper.GetString("pack-file")), filepath.FromSlash(pack.Index.File)) @@ -59,11 +80,18 @@ var exportCmd = &cobra.Command{ expFile, err := os.Create("export.zip") if err != nil { - fmt.Println(err) + fmt.Printf("Failed to create zip: %s\n", err.Error()) os.Exit(1) } exp := zip.NewWriter(expFile) + // Add an overrides folder even if there are no files to go in it + _, err = exp.Create("overrides/") + if err != nil { + fmt.Printf("Failed to add overrides folder: %s\n", err.Error()) + os.Exit(1) + } + cfFileRefs := make([]packinterop.AddonFileReference, 0, len(mods)) for _, mod := range mods { projectRaw, ok := mod.GetParsedUpdateData("curseforge")