예제 #1
0
        public ResultsCacheResponse SatisfyRequest(
            BuildRequest request,
            List <string> configInitialTargets,
            List <string> configDefaultTargets,
            bool skippedResultsDoNotCauseCacheMiss)
        {
            var overrideRequest = _override.SatisfyRequest(
                request,
                configInitialTargets,
                configDefaultTargets,
                skippedResultsDoNotCauseCacheMiss);

            if (overrideRequest.Type == ResultsCacheResponseType.Satisfied)
            {
#if DEBUG
                ErrorUtilities.VerifyThrow(
                    CurrentCache.SatisfyRequest(
                        request,
                        configInitialTargets,
                        configDefaultTargets,
                        skippedResultsDoNotCauseCacheMiss)
                    .Type == ResultsCacheResponseType.NotSatisfied,
                    "caches should not overlap");
#endif
                return(overrideRequest);
            }

            return(CurrentCache.SatisfyRequest(
                       request,
                       configInitialTargets,
                       configDefaultTargets,
                       skippedResultsDoNotCauseCacheMiss));
        }
        public ResultsCacheResponse SatisfyRequest(
            BuildRequest request,
            List <string> configInitialTargets,
            List <string> configDefaultTargets,
            List <string> additionalTargetsToCheckForOverallResult,
            bool skippedResultsAreOK)
        {
            var overrideRequest = _override.SatisfyRequest(
                request,
                configInitialTargets,
                configDefaultTargets,
                additionalTargetsToCheckForOverallResult,
                skippedResultsAreOK);

            if (overrideRequest.Type == ResultsCacheResponseType.Satisfied)
            {
#if DEBUG
                ErrorUtilities.VerifyThrow(
                    CurrentCache.SatisfyRequest(
                        request,
                        configInitialTargets,
                        configDefaultTargets,
                        additionalTargetsToCheckForOverallResult,
                        skippedResultsAreOK)
                    .Type == ResultsCacheResponseType.NotSatisfied,
                    "caches should not overlap");
#endif
                return(overrideRequest);
            }

            return(CurrentCache.SatisfyRequest(
                       request,
                       configInitialTargets,
                       configDefaultTargets,
                       additionalTargetsToCheckForOverallResult,
                       skippedResultsAreOK));
        }
예제 #3
0
 /// <summary>
 /// Call the actual implementation.
 /// </summary>
 public ResultsCacheResponse SatisfyRequest(BuildRequest request, List <string> configInitialTargets, List <string> configDefaultTargets, List <string> additionalTargetsToCheckForOverallResult, bool skippedResultsAreOK)
 {
     return(_resultCache.SatisfyRequest(request, configInitialTargets, configDefaultTargets, additionalTargetsToCheckForOverallResult, skippedResultsAreOK));
 }