public IRuntimePluginLoader <T> Create <TRuntimePluginLoader, T>(params object[] dependencies) where TRuntimePluginLoader : class, IRuntimePluginLoader <T> { if (Singletons == null) { Singletons = new SingletonObjects(); } var typeLoader = new TypeLoader <T>(Singletons.Settings, Singletons.Logger); var pluginCacheFactory = new PluginCacheFactory <T>(typeLoader, Singletons.PluginDependencyResolverFactory, Singletons.AssemblyLoader, Singletons.Logger); var pluginLoaderFactory = new PluginLoaderFactory <T>(pluginCacheFactory); var pluginObjectCreator = new PluginObjectCreator <T>(Singletons.Settings, new ObjectCreator <T>(), Singletons.Logger); IRuntimePluginLoader <T> runtimePluginLoader = (dependencies == null || !dependencies.Any()) ? Activator.CreateInstance(typeof(TRuntimePluginLoader), Singletons.AppDomain, Singletons.Settings, pluginLoaderFactory, pluginObjectCreator, Singletons.PluginPaths, Singletons.Logger) as IRuntimePluginLoader <T> : Activator.CreateInstance(typeof(TRuntimePluginLoader), Singletons.AppDomain, Singletons.Settings, pluginLoaderFactory, pluginObjectCreator, Singletons.PluginPaths, Singletons.Logger, dependencies) as IRuntimePluginLoader <T>; return(runtimePluginLoader); }
protected virtual void LoadPlugin(string pluginPath, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents, UnitTestProviderConfiguration unitTestProviderConfigration, ITraceListener traceListener) { traceListener.WriteToolOutput($"Loading plugin {pluginPath}"); var plugin = pluginLoader.LoadPlugin(pluginPath, traceListener); var runtimePluginParameters = new RuntimePluginParameters(); plugin?.Initialize(runtimePluginEvents, runtimePluginParameters, unitTestProviderConfigration); }
protected virtual void LoadPlugin(PluginDescriptor pluginDescriptor, IRuntimePluginLoader pluginLoader, RuntimePluginEvents runtimePluginEvents) { var plugin = pluginLoader.LoadPlugin(pluginDescriptor); var runtimePluginParameters = new RuntimePluginParameters { Parameters = pluginDescriptor.Parameters }; plugin.Initialize(runtimePluginEvents, runtimePluginParameters); }
protected virtual IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor) { return pluginLoader.LoadPlugin(pluginDescriptor); }
private static IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor) { return(pluginLoader.LoadPlugin(pluginDescriptor)); }
private static IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor) { return pluginLoader.LoadPlugin(pluginDescriptor); }
protected virtual IRuntimePlugin LoadPlugin(IRuntimePluginLoader pluginLoader, PluginDescriptor pluginDescriptor) { return(pluginLoader.LoadPlugin(pluginDescriptor)); }