From aa24bfec471bb51657a910eeef830b3521fc293a Mon Sep 17 00:00:00 2001 From: Pam Selle <204372+pselle@users.noreply.github.com> Date: Tue, 9 Feb 2021 11:08:49 -0500 Subject: [PATCH] Emit ProviderAlreadyInstalled when provider installed Emit the ProviderAlreadyInstalled event when we successfully verify that we've already installed this provider and are skipping installation --- internal/providercache/installer.go | 3 +++ internal/providercache/installer_test.go | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/internal/providercache/installer.go b/internal/providercache/installer.go index 8202070576..6f1a1fd3aa 100644 --- a/internal/providercache/installer.go +++ b/internal/providercache/installer.go @@ -314,6 +314,9 @@ NeedProvider: if installed := i.targetDir.ProviderVersion(provider, version); installed != nil { if len(preferredHashes) > 0 { if matches, _ := installed.MatchesAnyHash(preferredHashes); matches { + if cb := evts.ProviderAlreadyInstalled; cb != nil { + cb(provider, version) + } continue } } diff --git a/internal/providercache/installer_test.go b/internal/providercache/installer_test.go index 775b0199f5..2063fc1eac 100644 --- a/internal/providercache/installer_test.go +++ b/internal/providercache/installer_test.go @@ -12,6 +12,7 @@ import ( "strings" "testing" + "github.com/apparentlymart/go-versions/versions" "github.com/apparentlymart/go-versions/versions/constraints" "github.com/davecgh/go-spew/spew" "github.com/google/go-cmp/cmp" @@ -646,6 +647,11 @@ func TestEnsureProviderVersions(t *testing.T) { Provider: beepProvider, Args: "2.0.0", }, + { + Event: "ProviderAlreadyInstalled", + Provider: beepProvider, + Args: versions.Version{Major: 2, Minor: 0, Patch: 0}, + }, }, } },