mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 05:54:26 +01:00
bump selenium container (#6071)
This commit is contained in:
@@ -258,12 +258,27 @@ namespace BTCPayServer.Plugins
|
||||
|
||||
private static IEnumerable<IBTCPayServerPlugin> GetPluginInstancesFromAssembly(Assembly assembly)
|
||||
{
|
||||
return assembly.GetTypes().Where(type =>
|
||||
return GetTypesNotCrash(assembly).Where(type =>
|
||||
typeof(IBTCPayServerPlugin).IsAssignableFrom(type) && type != typeof(PluginService.AvailablePlugin) &&
|
||||
!type.IsAbstract).
|
||||
Select(type => (IBTCPayServerPlugin)Activator.CreateInstance(type, Array.Empty<object>()));
|
||||
}
|
||||
|
||||
private static IEnumerable<Type> GetTypesNotCrash(Assembly assembly)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Strange crash with selenium
|
||||
if (assembly.FullName.Contains("Selenium", StringComparison.OrdinalIgnoreCase))
|
||||
return Array.Empty<Type>();
|
||||
return assembly.GetTypes();
|
||||
}
|
||||
catch(ReflectionTypeLoadException ex)
|
||||
{
|
||||
return ex.Types.Where(t => t is not null).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
private static IBTCPayServerPlugin GetPluginInstanceFromAssembly(string pluginIdentifier, Assembly assembly)
|
||||
{
|
||||
return GetPluginInstancesFromAssembly(assembly).FirstOrDefault(plugin => plugin.Identifier == pluginIdentifier);
|
||||
|
||||
Reference in New Issue
Block a user