public virtual IEnumerable <string> GetListOfFilesToDeploy(IEnumerable <string> allFiles, FrcSettings frcSettings, IEnumerable <string> ignoreDirectories, IEnumerable <string> ignoreFiles) { List <string> settingsIgnoreFiles = frcSettings?.DeployIgnoreFiles ?? new List <string>(); return(allFiles.Where(x => !ignoreDirectories.Any(x.Contains) && !ignoreFiles.Any(x.Contains) && !settingsIgnoreFiles.Any(x.Contains))); }
public async Task WriteFrcSettingsAsync(FrcSettings settings) { await m_outputWriter.WriteLineAsync("Writing settings file").ConfigureAwait(false); string serialized = await Task.Run(() => JsonConvert.SerializeObject(settings, Formatting.Indented)).ConfigureAwait(false); if (string.IsNullOrEmpty(serialized)) { m_exceptionThrowerProvider.ThrowException("Failed to serialize settings file"); } string projectDirectory = await m_projectInformationProvider.GetProjectRootDirectoryAsync().ConfigureAwait(false); string settingsFile = Path.Combine(projectDirectory, SettingsJsonFileName); Directory.CreateDirectory(Path.GetDirectoryName(settingsFile)); await File.WriteAllTextAsync(settingsFile, serialized); }
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 */ }