Example #1
0
        private static ServiceLocator RegisterServices(RunContext context)
        {
            var locator = new ServiceLocator();

            var platformConfig = context.PlatformConfig.DeserializeAsJsonFromFile <PlatformConfig>();
            var projectConfig  = context.ProjectConfig.DeserializeAsJsonFromFile <LinterhubConfigSchema>();
            var terminal       = new TerminalWrapper(platformConfig.Terminal.Path, platformConfig.Terminal.Command);
            var engineFactory  = new EngineFileSystemFactory(context.Linterhub);
            var commandFactory = new CommandFactory();
            var managerWrapper = new ManagerWrapper(terminal, engineFactory);
            var installer      = new Installer(managerWrapper);
            var engineRunner   = new EngineWrapper(terminal, commandFactory, managerWrapper);

            locator.Register <LinterhubConfigSchema>(projectConfig);
            locator.Register <RunContext>(context);
            locator.Register <PlatformConfig>(platformConfig);
            locator.Register <IEngineFactory>(engineFactory);
            locator.Register <TerminalWrapper>(terminal);
            locator.Register <EngineWrapper>(engineRunner);
            locator.Register <Installer>(installer);
            locator.Register <ManagerWrapper>(managerWrapper);

            var ensure = new Ensure(locator);

            locator.Register <Ensure>(ensure);

            return(locator);
        }
Example #2
0
 public UserManager(ManagerWrapper wrapper) : base(wrapper)
 {
 }
Example #3
0
 protected BaseManager(ManagerWrapper wrapper)
 {
     Wrapper = wrapper;
 }
Example #4
0
 public HostManager(ManagerWrapper wrapper) : base(wrapper)
 {
 }
Example #5
0
 public Installer(ManagerWrapper managerWrapper)
 {
     Managers = managerWrapper;
 }
Example #6
0
 /// <summary>
 /// Initializes a new instance of the <seealso cref="EngineWrapper"/>.
 /// </summary>
 /// <param name="terminal">The terminal wrapper.</param>
 /// <param name="commandFactory">The command factory.</param>
 public EngineWrapper(TerminalWrapper terminal, CommandFactory commandFactory, ManagerWrapper managerWrapper)
 {
     Terminal       = terminal;
     CommandFactory = commandFactory;
     Managers       = managerWrapper;
 }