Skip to content

Commit 5a76337

Browse files
SNOW-2337682 Ensure built-in plugins are loaded first. (#2613)
1 parent 2961950 commit 5a76337

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/snowflake/cli/_app/commands_registration/command_plugins_loader.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,20 @@ def register_external_plugins(self, plugin_names: List[str]) -> None:
6969
)
7070

7171
def load_all_registered_plugins(self) -> List[LoadedCommandPlugin]:
72-
for plugin_name, plugin in self._plugin_manager.list_name_plugin():
72+
all_plugins = list(self._plugin_manager.list_name_plugin())
73+
builtin_plugin_names = set(get_builtin_plugin_name_to_plugin_spec().keys())
74+
75+
def plugin_sort_key(name_plugin_tuple):
76+
_plugin_name, _ = name_plugin_tuple
77+
is_builtin = _plugin_name in builtin_plugin_names
78+
return (
79+
not is_builtin,
80+
_plugin_name,
81+
)
82+
83+
sorted_plugins = sorted(all_plugins, key=plugin_sort_key)
84+
85+
for plugin_name, plugin in sorted_plugins:
7386
self._load_plugin(plugin_name, plugin)
7487
return list(self._loaded_plugins.values())
7588

0 commit comments

Comments
 (0)