public async Task <int> HandleCommand(int team, string?project) { var msBuild = ResolveProject(project); if (msBuild == null) { return(-1); } var builder = new ContainerBuilder(); AutoFacUtilites.AddCommonServicesToContainer(builder, msBuild, team, false, false); var container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { // Manually resolve project await scope.Resolve <IOutputWriter>().WriteLineAsync("Killing robot code"); var rioConn = scope.Resolve <IFileDeployerProvider>(); await rioConn.RunCommandAsync(DeployProperties.KillOnlyCommand, ConnectionUser.LvUser); await scope.Resolve <IOutputWriter>().WriteLineAsync("Robot code is kill"); } return(0); }
public async Task <int> HandleCommand(int team, string?project, string[]?ignore, string[]?arguments) { var msBuild = ResolveProject(project); if (msBuild == null) { return(-1); } var builder = new ContainerBuilder(); AutoFacUtilites.AddCommonServicesToContainer(builder, msBuild, team, false, false); var container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { var settingsProvider = scope.Resolve <IFrcSettingsProvider>(); FrcSettings?currentSettings = await settingsProvider.GetFrcSettingsAsync().ConfigureAwait(false); if (currentSettings == null) { currentSettings = new FrcSettings(team, new List <string>(), new List <string>()); } if (ignore != null) { var setVals = ignore.Where(x => !currentSettings.DeployIgnoreFiles.Contains(x)); currentSettings.DeployIgnoreFiles.AddRange(setVals); } if (arguments != null) { var setVals = arguments.Where(x => !currentSettings.CommandLineArguments.Contains(x)); currentSettings.CommandLineArguments.AddRange(setVals); } await settingsProvider.WriteFrcSettingsAsync(currentSettings).ConfigureAwait(false); } return(0); /* do something */ }
public async Task <int> HandleCommand(int team, string?project) { var msBuild = ResolveProject(project); if (msBuild == null) { return(-1); } var builder = new ContainerBuilder(); AutoFacUtilites.AddCommonServicesToContainer(builder, msBuild, team, false, false); var container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { var deployer = scope.Resolve <CodeDeployer>(); await deployer.DeployCode(); } return(0); }
public async Task <int> HandleCommand(int team, string?project, bool download, bool install, string?location) { var msBuild = ResolveProject(project); if (msBuild == null) { return(-1); } var builder = new ContainerBuilder(); AutoFacUtilites.AddCommonServicesToContainer(builder, msBuild, team, false, false); var container = builder.Build(); using (var scope = container.BeginLifetimeScope()) { var runtimeProvider = scope.Resolve <IRuntimeProvider>(); if (download) { await runtimeProvider.DownladRuntimeAsync(); } if (install) { if (location != null) { await runtimeProvider.InstallRuntimeAsync(location); } else { await runtimeProvider.InstallRuntimeAsync(); } } } return(0); }