private async Task <List <PackageUpdateSet> > ApplyFilters( ForkData pushFork, IEnumerable <PackageUpdateSet> all) { var filteredLocally = all .Where(MatchesIncludeExclude) .Where(MatchesMinAge); var filtered = await _existingBranchFilter.CanMakeBranchFor(pushFork, filteredLocally); return(filtered.ToList()); }
public async Task <IReadOnlyCollection <PackageUpdateSet> > SelectTargets( ForkData pushFork, IReadOnlyCollection <PackageUpdateSet> potentialUpdates) { var sorted = _sort.Sort(potentialUpdates) .ToList(); var filtered = await _updateSelection.Filter(sorted, p => _existingBranchFilter.CanMakeBranchFor(p, pushFork)); foreach (var updateSet in filtered) { _logger.Normal($"Selected package update of {updateSet.SelectedId} to {updateSet.SelectedVersion}"); } return(filtered); }