From d26d878308f69bdfd44ae024510a8d53158062d3 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Tue, 13 May 2025 20:44:16 +0300 Subject: [PATCH] Fix error when installing, updating or remove packages --- src/bpmlib/hooks.go | 5 ++++- src/bpmlib/packages.go | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/bpmlib/hooks.go b/src/bpmlib/hooks.go index cd966cd..d6e6d23 100644 --- a/src/bpmlib/hooks.go +++ b/src/bpmlib/hooks.go @@ -99,7 +99,10 @@ func (hook *BPMHook) Execute(packageChanges map[string]string, verbose bool, roo // Get modified files slice modifiedFiles := make([]*PackageFileEntry, 0) for pkg := range packageChanges { - modifiedFiles = append(modifiedFiles, GetPackage(pkg, rootDir).PkgFiles...) + if GetPackage(pkg, rootDir) != nil { + modifiedFiles = append(modifiedFiles, GetPackage(pkg, rootDir).PkgFiles...) + } + } // Check if any targets are met diff --git a/src/bpmlib/packages.go b/src/bpmlib/packages.go index 6ea2b56..eda206b 100644 --- a/src/bpmlib/packages.go +++ b/src/bpmlib/packages.go @@ -870,6 +870,16 @@ func installPackage(filename, rootDir string, verbose, force bool) error { return err } } + + // Ensure local package information has been initialized for rootDir + err = initializeLocalPackageInformation(rootDir) + if err != nil { + return err + } + + // Add or update package information for rootDir + localPackageInformation[rootDir][bpmpkg.PkgInfo.Name] = bpmpkg + return nil } @@ -999,5 +1009,14 @@ func removePackage(pkg string, verbose bool, rootDir string) error { return err } + // Ensure local package information has been initialized for rootDir + err = initializeLocalPackageInformation(rootDir) + if err != nil { + return err + } + + // Add or update package information for rootDir + delete(localPackageInformation[rootDir], pkgInfo.Name) + return nil }