From 6dbd24e5412577b692bb55feb38dbe42e3267ffa Mon Sep 17 00:00:00 2001 From: Eugen Eisler Date: Fri, 11 Oct 2024 23:25:25 +0300 Subject: [PATCH] fix: Close #1040. Configure vendors separately that were not configured yet --- cli/cli.go | 4 +--- core/fabric.go | 2 +- core/vendors.go | 24 +++++++++++++----------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cli/cli.go b/cli/cli.go index 4ed34325..9b6ad6b1 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -264,8 +264,6 @@ func Setup(db *db.Db, skipUpdatePatterns bool) (ret *core.Fabric, err error) { func SetupVendor(db *db.Db, vendorName string) (ret *core.Fabric, err error) { ret = core.NewFabricForSetup(db) - if err = ret.SetupVendor(vendorName); err != nil { - return - } + err = ret.SetupVendor(vendorName) return } diff --git a/core/fabric.go b/core/fabric.go index c3f94c24..36abb875 100644 --- a/core/fabric.go +++ b/core/fabric.go @@ -188,7 +188,7 @@ func (o *Fabric) SetupVendors() (err error) { } func (o *Fabric) SetupVendor(vendorName string) (err error) { - if err = o.VendorsAll.SetupVendor(vendorName); err != nil { + if err = o.VendorsAll.SetupVendor(vendorName, o.Vendors); err != nil { return } err = o.SaveEnvFile() diff --git a/core/vendors.go b/core/vendors.go index 48a8c007..469e9a85 100644 --- a/core/vendors.go +++ b/core/vendors.go @@ -90,26 +90,28 @@ func (o *VendorsManager) Setup() (ret map[string]vendors.Vendor, err error) { ret = map[string]vendors.Vendor{} for _, vendor := range o.Vendors { fmt.Println() - if vendorErr := vendor.Setup(); vendorErr == nil { - fmt.Printf("[%v] configured\n", vendor.GetName()) - ret[vendor.GetName()] = vendor - } else { - fmt.Printf("[%v] skipped\n", vendor.GetName()) - } + o.setupVendorTo(vendor, ret) } return } -func (o *VendorsManager) SetupVendor(vendorName string) (err error) { +func (o *VendorsManager) setupVendorTo(vendor vendors.Vendor, configuredVendors map[string]vendors.Vendor) { + if vendorErr := vendor.Setup(); vendorErr == nil { + fmt.Printf("[%v] configured\n", vendor.GetName()) + configuredVendors[vendor.GetName()] = vendor + } else { + delete(configuredVendors, vendor.GetName()) + fmt.Printf("[%v] skipped\n", vendor.GetName()) + } +} + +func (o *VendorsManager) SetupVendor(vendorName string, configuredVendors map[string]vendors.Vendor) (err error) { vendor := o.FindByName(vendorName) if vendor == nil { err = fmt.Errorf("vendor %s not found", vendorName) return } - err = vendor.Setup() - if err != nil { - return - } + o.setupVendorTo(vendor, configuredVendors) return }