Skip to content

Commit e471885

Browse files
fix: only prefetch plugins if not disabled
1 parent 58696da commit e471885

File tree

2 files changed

+30
-22
lines changed

2 files changed

+30
-22
lines changed

cmd/semantic-release/main.go

+9-5
Original file line numberDiff line numberDiff line change
@@ -103,17 +103,21 @@ func cliHandler(cmd *cobra.Command, args []string) {
103103

104104
if conf.DownloadPlugins {
105105
exitIfError(pluginManager.FetchAllPlugins())
106-
logger.Println("all plugins are downloaded")
106+
logger.Println("all plugins were downloaded!")
107107
return
108108
}
109109

110110
if !conf.PluginResolverDisableBatchPrefetch {
111-
ok, _, pErr := pluginManager.PrefetchAllPluginsIfBatchIsPossible()
111+
logger.Println("trying to prefetch plugins...")
112+
pluginsWerePrefetched, _, pErr := pluginManager.PrefetchAllPluginsIfBatchIsPossible()
112113
if pErr != nil {
113114
logger.Printf("warning: failed to prefetch plugins: %v", pErr)
114-
}
115-
if ok {
116-
logger.Println("all plugins were prefetched!")
115+
} else {
116+
if pluginsWerePrefetched {
117+
logger.Println("all plugins were prefetched!")
118+
} else {
119+
logger.Println("prefetching plugins was not possible.")
120+
}
117121
}
118122
}
119123

pkg/plugin/manager/manager.go

+21-17
Original file line numberDiff line numberDiff line change
@@ -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+
169190
func (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

Comments
 (0)