// Only used in testing
        public static PluginGraph BuildFromXml(XmlDocument document)
        {
            var log = new GraphLog();

            ConfigurationParser[] parsers = ConfigurationParserBuilder.GetParsers(document.DocumentElement, log);
            var builder = new PluginGraphBuilder(parsers, new Registry[0], log);

            return builder.Build();
        }
Beispiel #2
0
        public void RunConfigurations()
        {
            _configurations.Each(x => {
                x.Register(this);
                x.Configure(_graph);
            });

            _scanners.Each(x => x.ScanForTypes(_graph));

            // Recursive scanning
            if (_graph.QueuedRegistries.Any())
            {
                var builder = new PluginGraphBuilder(_graph);
                while (_graph.QueuedRegistries.Any())
                {
                    var registry = _graph.QueuedRegistries.Dequeue();
                    builder.Add(registry);
                }

                builder.Build();
            }
        }
        internal PluginGraph BuildGraph()
        {
            var pluginGraph = _builder.Build();

            return(pluginGraph);
        }
Beispiel #4
0
        public static PluginGraph BuildGraphFromAssembly(Assembly assembly)
        {
            var builder = new PluginGraphBuilder();
            var scanner = new AssemblyScanner();
            scanner.Assembly(assembly);

            builder.AddScanner(scanner);

            return builder.Build();
        }
        public void RunConfigurations()
        {
            _configurations.Each(x => {
                x.Register(this);
                x.Configure(_graph);
            });

            var types = new TypePool();
            _scanners.Each(x => x.ScanForTypes(types, _graph));

            // Recursive scanning
            if (_graph.QueuedRegistries.Any())
            {
                var builder = new PluginGraphBuilder(_graph);
                while (_graph.QueuedRegistries.Any())
                {
                    var registry = _graph.QueuedRegistries.Dequeue();
                    builder.Add(registry);
                }

                builder.Build();
            }
        }