diff --git a/core/index.go b/core/index.go index 87b16dc..4619925 100644 --- a/core/index.go +++ b/core/index.go @@ -244,6 +244,7 @@ func (in *Index) RefreshFile(path string) error { // Write saves the index file func (in Index) Write() error { + // TODO: calculate and provide hash while writing? f, err := os.Create(in.indexFile) if err != nil { return err diff --git a/curseforge/curseforge.go b/curseforge/curseforge.go index 848c26c..e9b7486 100644 --- a/curseforge/curseforge.go +++ b/curseforge/curseforge.go @@ -258,6 +258,14 @@ func cmdInstall(flags core.Flags, mod string, modArgsTail []string) error { if err != nil { return cli.NewExitError(err, 1) } + err = pack.UpdateIndexHash() + if err != nil { + return cli.NewExitError(err, 1) + } + err = pack.Write() + if err != nil { + return cli.NewExitError(err, 1) + } fmt.Printf("Mod \"%s\" successfully installed!\n", modInfoData.Name) diff --git a/curseforge/import.go b/curseforge/import.go index 81baa56..cfce9ad 100644 --- a/curseforge/import.go +++ b/curseforge/import.go @@ -100,12 +100,20 @@ func cmdImport(flags core.Flags, file string) error { } } + // TODO: import existing files (config etc.) + err = index.Write() if err != nil { return cli.NewExitError(err, 1) } - - // TODO: import existing files (config etc.) + err = pack.UpdateIndexHash() + if err != nil { + return cli.NewExitError(err, 1) + } + err = pack.Write() + if err != nil { + return cli.NewExitError(err, 1) + } return nil }