Skip to content

Commit

Permalink
GH-1883, fix the NoFetch for GitVersionTask
Browse files Browse the repository at this point in the history
  • Loading branch information
arturcic committed Nov 7, 2019
1 parent cbed74a commit cf0c89a
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions src/GitVersionTask/GitVersionTasks.cs
Expand Up @@ -3,6 +3,7 @@
using GitVersion.Extensions;
using GitVersion.Logging;
using GitVersion.MSBuildTask.Tasks;
using Microsoft.Build.Utilities;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;

Expand All @@ -25,8 +26,6 @@ private static bool ExecuteGitVersionTask<T>(T task, Action<IGitVersionTaskExecu
try
{
var sp = BuildServiceProvider(task);
var log = sp.GetService<ILog>();
log.AddLogAppender(new MsBuildAppender(taskLog));
var gitVersionTaskExecutor = sp.GetService<IGitVersionTaskExecutor>();

action(gitVersionTaskExecutor);
Expand All @@ -44,6 +43,17 @@ private static bool ExecuteGitVersionTask<T>(T task, Action<IGitVersionTaskExecu

return !taskLog.HasLoggedErrors;
}

private static void Configure(IServiceProvider sp, Task task)
{
var log = sp.GetService<ILog>();
var buildServerResolver = sp.GetService<IBuildServerResolver>();
var arguments = sp.GetService<IOptions<Arguments>>().Value;

log.AddLogAppender(new MsBuildAppender(task.Log));
var buildServer = buildServerResolver.Resolve();
arguments.NoFetch = arguments.NoFetch || buildServer != null && buildServer.PreventFetch();
}

private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task)
{
Expand All @@ -61,6 +71,8 @@ private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task)
services.AddModule(new GitVersionCoreModule());

var sp = services.BuildServiceProvider();
Configure(sp, task);

return sp;
}
}
Expand Down

0 comments on commit cf0c89a

Please sign in to comment.