private IEnumerable <ConfigurationFile> Parse(CompilationAnalysisContext context)
        {
            if (!context.Options.AdditionalFiles.Any())
            {
                return(new List <ConfigurationFile>());
            }

            var srcFiles = _configurationFileFilter.GetFiles(context.Options.AdditionalFiles).ToList();

            if (!srcFiles.Any())
            {
                return(new List <ConfigurationFile>());
            }

            var workingDirectory = Utils.GetWorkingDirectory(context.Compilation.AssemblyName);
            var basePath         = Utils.GetCommonRootPath(srcFiles);


            return(srcFiles.Select(src =>
            {
                try
                {
                    return _configurationFileParser.Parse(src, basePath, workingDirectory);
                }
                catch (XmlException ex)
                {
                    // Failed to parse the XML
                    Console.WriteLine($"Failed to parse the configuration file {src}.");
                    Console.WriteLine(ex);
                }

                return null;
            }).Where(s => s != null).ToList());
        }
Exemple #2
0
        private IEnumerable <ConfigurationFile> Parse(CompilationAnalysisContext context)
        {
            if (!context.Options.AdditionalFiles.Any())
            {
                return(new List <ConfigurationFile>());
            }

            var srcFiles = _configurationFileFilter.GetFiles(context.Options.AdditionalFiles).ToList();

            if (!srcFiles.Any())
            {
                return(new List <ConfigurationFile>());
            }

            var workingDirectory = Utils.GetWorkingDirectory(context.Compilation.AssemblyName);
            var basePath         = Utils.GetCommonRootPath(srcFiles);

            return(srcFiles.Select(src => _configurationFileParser.Parse(src, basePath, workingDirectory)).ToList());
        }