diff options
Diffstat (limited to 'main/src/core/MonoDevelop.Core/MonoDevelop.Projects')
-rw-r--r-- | main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs | 4 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs | 13 |
2 files changed, 12 insertions, 5 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs index d103fe3864..b971b89aa9 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs @@ -1091,7 +1091,7 @@ namespace MonoDevelop.Projects context.LogVerbosity = MSBuildVerbosity.Quiet; context.GlobalProperties.SetValue ("Silent", true); - var result = await RunTarget (monitor, "ResolveAssemblyReferences", configuration, context); + var result = await RunTargetInternal (monitor, "ResolveAssemblyReferences", configuration, context); refs = result.Items.Select (i => new AssemblyReference (i.Include, i.Metadata)).ToList (); @@ -1152,7 +1152,7 @@ namespace MonoDevelop.Projects context.LoadReferencedProjects = false; context.LogVerbosity = MSBuildVerbosity.Quiet; - var result = await RunTarget (monitor, "ResolvePackageDependenciesDesignTime", configuration, context); + var result = await RunTargetInternal (monitor, "ResolvePackageDependenciesDesignTime", configuration, context); if (result == null) return new List<PackageDependency> (); diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs index e53cda474c..7e62055fe7 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs @@ -706,7 +706,7 @@ namespace MonoDevelop.Projects ctx.BuilderQueue = BuilderQueue.ShortOperations; ctx.LogVerbosity = MSBuildVerbosity.Quiet; - var evalResult = await project.RunTarget (monitor, dependsList, config.Selector, ctx); + var evalResult = await project.RunTargetInternal (monitor, dependsList, config.Selector, ctx); if (evalResult != null && evalResult.Items != null) { result = ProcessMSBuildItems (evalResult.Items, project); } @@ -1251,6 +1251,13 @@ namespace MonoDevelop.Projects /// </param> public Task<TargetEvaluationResult> RunTarget (ProgressMonitor monitor, string target, ConfigurationSelector configuration, TargetEvaluationContext context = null) { + return BindTask<TargetEvaluationResult> (cancelToken => { + return RunTargetInternal (monitor.WithCancellationToken (cancelToken), target, configuration, context); + }); + } + + internal Task<TargetEvaluationResult> RunTargetInternal (ProgressMonitor monitor, string target, ConfigurationSelector configuration, TargetEvaluationContext context = null) + { // Initialize the evaluation context. This initialization is shared with FastCheckNeedsBuild. // Extenders will override OnConfigureTargetEvaluationContext to add custom properties and do other // initializations required by MSBuild. @@ -1865,7 +1872,7 @@ namespace MonoDevelop.Projects protected override async Task<BuildResult> OnBuild (ProgressMonitor monitor, ConfigurationSelector configuration, OperationContext operationContext) { var newContext = operationContext as TargetEvaluationContext ?? new TargetEvaluationContext (operationContext); - return (await RunTarget (monitor, "Build", configuration, newContext)).BuildResult; + return (await RunTargetInternal (monitor, "Build", configuration, newContext)).BuildResult; } async Task<TargetEvaluationResult> RunBuildTarget (ProgressMonitor monitor, ConfigurationSelector configuration, TargetEvaluationContext context) @@ -2250,7 +2257,7 @@ namespace MonoDevelop.Projects protected override async Task<BuildResult> OnClean (ProgressMonitor monitor, ConfigurationSelector configuration, OperationContext buildSession) { var newContext = buildSession as TargetEvaluationContext ?? new TargetEvaluationContext (buildSession); - return (await RunTarget (monitor, "Clean", configuration, newContext)).BuildResult; + return (await RunTargetInternal (monitor, "Clean", configuration, newContext)).BuildResult; } Task<TargetEvaluationResult> RunCleanTarget (ProgressMonitor monitor, ConfigurationSelector configuration, TargetEvaluationContext context) |