@@ -166,6 +166,27 @@ func (m *PluginManager) checkIfSameResolvers(infos []*plugin.Info) (string, bool
166
166
return resolver , true
167
167
}
168
168
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
+
169
190
func (m * PluginManager ) FetchAllPlugins () error {
170
191
batchWasPossible , pInfos , err := m .PrefetchAllPluginsIfBatchIsPossible ()
171
192
if err != nil && pInfos == nil {
@@ -184,20 +205,3 @@ func (m *PluginManager) FetchAllPlugins() error {
184
205
}
185
206
return nil
186
207
}
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