private static void Configure(IServiceProvider sp, GitVersionTaskBase task) { var log = sp.GetRequiredService <ILog>(); var buildAgent = sp.GetRequiredService <ICurrentBuildAgent>(); var gitVersionOptions = sp.GetRequiredService <IOptions <GitVersionOptions> >().Value; log.AddLogAppender(new MsBuildAppender(task.Log)); if (buildAgent is not LocalBuild) { gitVersionOptions.Output.Add(OutputType.BuildServer); } gitVersionOptions.Settings.NoFetch = gitVersionOptions.Settings.NoFetch || buildAgent.PreventFetch(); }
private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task) { var services = new ServiceCollection(); var gitVersionOptions = new GitVersionOptions { WorkingDirectory = task.SolutionDirectory }; gitVersionOptions.Output.Add(OutputType.BuildServer); services.AddSingleton(Options.Create(gitVersionOptions)); services.AddModule(new GitVersionTaskModule()); services.AddSingleton <IConsole>(new MsBuildAdapter(task.Log)); var sp = services.BuildServiceProvider(); Configure(sp, task); return(sp); }