示例#1
0
        public ChromiumDiscovery(IFileSystem fileSystem, IConfigurationSectionProvider configurationSectionProvider)
        {
            _fileSystem = fileSystem;
            var contents = ConfigurationSectionContents.Create(configurationSectionProvider, ConfigurationFileNames.ChromiumEnlistmentDetectionPatterns);

            _chromiumEnlistmentFilePatterns = new FilePatternsPathMatcherProvider(contents);
        }
        public ChromiumSourceFiles(IConfigurationFileLocator configurationFileLocator, IFileSystem fileSystem)
        {
            var configurationSectionProvider = new ConfigurationFileConfigurationSectionProvider(configurationFileLocator);
            var contents = ConfigurationSectionContents.Create(configurationSectionProvider, ConfigurationStyleFilenames.ChromiumCodingStyleIgnore);

            _chromiumCodingStyleFilePatterns = new FilePatternsPathMatcherProvider(contents);
            _chromiumDiscoveryProvider       = new ChromiumDiscoveryWithCache <FullPath>(configurationSectionProvider, fileSystem);
        }
        private bool IsChromiumSourceDirectory(FullPath path, IFilePatternsPathMatcherProvider chromiumEnlistmentFilePatterns)
        {
            // We need to ensure that all pattern lines are covered by at least one file/directory of |path|.
            var entries = _fileSystem.GetDirectoryEntries(path);

            return(chromiumEnlistmentFilePatterns.PathMatcherEntries
                   .All(item => MatchFileOrDirectory(item, entries)));
        }
示例#4
0
        private bool IsChromiumSourceDirectory(FullPath path, IFilePatternsPathMatcherProvider chromiumEnlistmentFilePatterns)
        {
            if (!_fileSystem.DirectoryExists(path))
            {
                return(false);
            }

            // We need to ensure that all pattern lines are covered by at least one file/directory of |path|.
            try {
                var entries = _fileSystem.GetDirectoryEntries(path);
                return(chromiumEnlistmentFilePatterns.PathMatcherEntries
                       .All(item => MatchFileOrDirectory(item, entries)));
            }
            catch (Exception e) {
                Logger.LogWarn(e, "Error detecting chromium root directory, skipping directory \"{0}\"", path);
                return(false);
            }
        }
示例#5
0
 private bool IsChromiumSourceDirectory(FullPath path, IFilePatternsPathMatcherProvider chromiumEnlistmentFilePatterns) {
   // We need to ensure that all pattern lines are covered by at least one file/directory of |path|.
   var entries = _fileSystem.GetDirectoryEntries(path);
   return chromiumEnlistmentFilePatterns.PathMatcherEntries
     .All(item => MatchFileOrDirectory(item, entries));
 }
示例#6
0
 public ChromiumDiscovery(IFileSystem fileSystem, IConfigurationSectionProvider configurationSectionProvider) {
   _fileSystem = fileSystem;
   var contents = ConfigurationSectionContents.Create(configurationSectionProvider, ConfigurationFileNames.ChromiumEnlistmentDetectionPatterns);
   _chromiumEnlistmentFilePatterns = new FilePatternsPathMatcherProvider(contents);
 }
示例#7
0
 public ChromiumSourceFiles(IConfigurationFileLocator configurationFileLocator, IFileSystem fileSystem) {
   var configurationSectionProvider = new ConfigurationFileConfigurationSectionProvider(configurationFileLocator);
   var contents = ConfigurationSectionContents.Create(configurationSectionProvider, ConfigurationStyleFilenames.ChromiumCodingStyleIgnore);
   _chromiumCodingStyleFilePatterns = new FilePatternsPathMatcherProvider(contents);
   _chromiumDiscoveryProvider = new ChromiumDiscoveryWithCache<FullPath>(configurationSectionProvider, fileSystem);
 }