Merge pull request #769 from milutter:plugin_loading

PiperOrigin-RevId: 517231543
Change-Id: Ia3f0929650da235589e9434db84500b3d9f17df1
This commit is contained in:
Copybara-Service
2023-03-16 14:40:25 -07:00
+8 -1
View File
@@ -19,6 +19,7 @@ import ctypes.util
import os
import platform
import subprocess
import warnings
_SYSTEM = platform.system()
if _SYSTEM == 'Windows':
@@ -54,7 +55,13 @@ PLUGIN_HANDLES = []
def _load_all_bundled_plugins():
for directory, _, filenames in os.walk(PLUGINS_DIR):
for filename in filenames:
PLUGIN_HANDLES.append(ctypes.CDLL(os.path.join(directory, filename)))
if os.path.splitext(filename)[-1] in [".dll", ".dylib", ".so"]:
PLUGIN_HANDLES.append(ctypes.CDLL(os.path.join(directory, filename)))
elif filename == "__init__.py":
pass
else:
warnings.warn('Ignoring non-library in plugin directory: '
f'{os.path.join(directory, filename)}', ImportWarning)
_load_all_bundled_plugins()