Example #1
0
        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)));
        }
Example #2
0
        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);
        }
Example #3
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 */
        }