public void InitializeStringMatcher(IBranchNameExtractor nameExtractor)
        {
            var list = string.Join('.', new[]
            {
                _projectConfiguration.BranchBlacklist,
                _projectConfiguration.BranchWhitelist,
                _projectConfiguration.BuildDefinitionBlacklist,
                _projectConfiguration.BuildDefinitionWhitelist
            }.Flatten());

            if (_lastLoadedLists == list)
            {
                return;
            }

            _lastLoadedLists = list;

            _allowingMatchers = new List <IBuildMatcher>
            {
                new DefinitionMatcher(Matchers(_projectConfiguration.BuildDefinitionWhitelist)),
                new BranchMatcher(nameExtractor, Matchers(_projectConfiguration.BranchWhitelist))
            };
            _forbiddingMatchers = new List <IBuildMatcher>
            {
                new DefinitionMatcher(Matchers(_projectConfiguration.BuildDefinitionBlacklist)),
                new BranchMatcher(nameExtractor, Matchers(_projectConfiguration.BranchBlacklist))
            };
        }
Beispiel #2
0
 public TreeBuilder(IConfiguration config, IBranchNameExtractor branchNameExtractor)
 {
     _config = config;
     _branchNameExtractor = branchNameExtractor;
 }
 public BranchMatcher(IBranchNameExtractor branchNameExtractor, IEnumerable <StringMatcher> matchers)
 {
     _branchNameExtractor = branchNameExtractor;
     _matchers            = matchers.ToList();
 }
 public ListBuildFilter(IProjectConfiguration projectConfiguration, IBranchNameExtractor branchNameExtractor)
 {
     _projectConfiguration = projectConfiguration;
     InitializeStringMatcher(branchNameExtractor);
 }