public Task <BuildResult> BuildTargets(ProjectLoggingContext loggingContext, BuildRequestEntry entry, IRequestBuilderCallback callback, string[] targets, Lookup baseLookup, CancellationToken cancellationToken) { _requestBuilderCallback = callback; if (cancellationToken.WaitHandle.WaitOne(1500)) { BuildResult result = new BuildResult(entry.Request); foreach (string target in targets) { result.AddResultsForTarget(target, BuildResultUtilities.GetEmptyFailingTargetResult()); } return(Task <BuildResult> .FromResult(result)); } if (_newRequests != null) { string[] projectFiles = new string[_newRequests.Length]; PropertyDictionary <ProjectPropertyInstance>[] properties = new PropertyDictionary <ProjectPropertyInstance> [_newRequests.Length]; string[] toolsVersions = new string[_newRequests.Length]; for (int i = 0; i < projectFiles.Length; ++i) { projectFiles[i] = _newRequests[i].Config.ProjectFullPath; properties[i] = new PropertyDictionary <ProjectPropertyInstance>(_newRequests[i].Config.GlobalProperties); toolsVersions[i] = _newRequests[i].Config.ToolsVersion; } _requestBuilderCallback.BuildProjects(projectFiles, properties, toolsVersions, _newRequests[0].Targets, _newRequests[0].ResultsNeeded); if (cancellationToken.WaitHandle.WaitOne(1500)) { BuildResult result = new BuildResult(entry.Request); foreach (string target in targets) { result.AddResultsForTarget(target, BuildResultUtilities.GetEmptyFailingTargetResult()); } return(Task <BuildResult> .FromResult(result)); } } return(Task <BuildResult> .FromResult(_cache.GetResultForRequest(entry.Request))); }
public Task<BuildResult> BuildTargets(ProjectLoggingContext loggingContext, BuildRequestEntry entry, IRequestBuilderCallback callback, string[] targets, Lookup baseLookup, CancellationToken cancellationToken) { _requestBuilderCallback = callback; if (cancellationToken.WaitHandle.WaitOne(1500, false)) { BuildResult result = new BuildResult(entry.Request); foreach (string target in targets) { result.AddResultsForTarget(target, TestUtilities.GetEmptyFailingTargetResult()); } return Task<BuildResult>.FromResult(result); } if (null != _newRequests) { string[] projectFiles = new string[_newRequests.Length]; PropertyDictionary<ProjectPropertyInstance>[] properties = new PropertyDictionary<ProjectPropertyInstance>[_newRequests.Length]; string[] toolsVersions = new string[_newRequests.Length]; for (int i = 0; i < projectFiles.Length; ++i) { projectFiles[i] = _newRequests[i].Config.ProjectFullPath; properties[i] = new PropertyDictionary<ProjectPropertyInstance>(_newRequests[i].Config.Properties); toolsVersions[i] = _newRequests[i].Config.ToolsVersion; } _requestBuilderCallback.BuildProjects(projectFiles, properties, toolsVersions, _newRequests[0].Targets, _newRequests[0].ResultsNeeded); if (cancellationToken.WaitHandle.WaitOne(1500, false)) { BuildResult result = new BuildResult(entry.Request); foreach (string target in targets) { result.AddResultsForTarget(target, TestUtilities.GetEmptyFailingTargetResult()); } return Task<BuildResult>.FromResult(result); } } return Task<BuildResult>.FromResult(_cache.GetResultForRequest(entry.Request)); }