@@ -166,6 +166,27 @@ func (m *PluginManager) checkIfSameResolvers(infos []*plugin.Info) (string, bool
166166 return resolver , true
167167}
168168
169+ func (m * PluginManager ) PrefetchAllPluginsIfBatchIsPossible () (bool , []* plugin.Info , error ) {
170+ pInfos , err := m .getAllPluginInfos ()
171+ if err != nil {
172+ return false , nil , err
173+ }
174+
175+ if m .config .PluginResolverDisableBatchPrefetch {
176+ return false , pInfos , nil
177+ }
178+
179+ if resolver , ok := m .checkIfSameResolvers (pInfos ); ok && m .discovery .IsBatchResolver (resolver ) {
180+ // all plugins have the same resolver, and it supports batch resolving
181+ bErr := m .discovery .FindPluginsWithBatchResolver (resolver , pInfos )
182+ if bErr != nil {
183+ return false , pInfos , bErr
184+ }
185+ return true , pInfos , nil
186+ }
187+ return false , pInfos , nil
188+ }
189+
169190func (m * PluginManager ) FetchAllPlugins () error {
170191 batchWasPossible , pInfos , err := m .PrefetchAllPluginsIfBatchIsPossible ()
171192 if err != nil && pInfos == nil {
@@ -184,20 +205,3 @@ func (m *PluginManager) FetchAllPlugins() error {
184205 }
185206 return nil
186207}
187-
188- func (m * PluginManager ) PrefetchAllPluginsIfBatchIsPossible () (bool , []* plugin.Info , error ) {
189- pInfos , err := m .getAllPluginInfos ()
190- if err != nil {
191- return false , nil , err
192- }
193-
194- if resolver , ok := m .checkIfSameResolvers (pInfos ); ok && m .discovery .IsBatchResolver (resolver ) {
195- // all plugins have the same resolver, and it supports batch resolving
196- bErr := m .discovery .FindPluginsWithBatchResolver (resolver , pInfos )
197- if bErr != nil {
198- return false , pInfos , bErr
199- }
200- return true , pInfos , nil
201- }
202- return false , pInfos , nil
203- }
0 commit comments