private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task) { var services = new ServiceCollection(); var gitVersionOptions = new GitVersionOptions { WorkingDirectory = task.SolutionDirectory, ConfigInfo = { ConfigFile = task.ConfigFilePath }, Settings = { NoFetch = task.NoFetch, NoNormalize = task.NoNormalize } }; gitVersionOptions.Output.Add(OutputType.BuildServer); services.AddSingleton(Options.Create(gitVersionOptions)); services.AddModule(new GitVersionCoreModule()); services.AddModule(new GitVersionTaskModule()); services.AddSingleton <IConsole>(new MsBuildAdapter(task.Log)); var sp = services.BuildServiceProvider(); Configure(sp, task); return(sp); }
private static void Configure(IServiceProvider sp, GitVersionTaskBase 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 void Configure(IServiceProvider sp, GitVersionTaskBase task) { var log = sp.GetService <ILog>(); var buildAgent = sp.GetService <ICurrentBuildAgent>(); var gitVersionOptions = sp.GetService <IOptions <GitVersionOptions> >().Value; log.AddLogAppender(new MsBuildAppender(task.Log)); if (buildAgent != null) { gitVersionOptions.Output.Add(OutputType.BuildServer); } gitVersionOptions.Settings.NoFetch = gitVersionOptions.Settings.NoFetch || buildAgent != null && buildAgent.PreventFetch(); }
private static IServiceProvider BuildServiceProvider(GitVersionTaskBase task) { var services = new ServiceCollection(); var arguments = new Arguments { TargetPath = task.SolutionDirectory, ConfigFile = task.ConfigFilePath, NoFetch = task.NoFetch }; services.AddSingleton(_ => Options.Create(arguments)); services.AddSingleton <IGitVersionTaskExecutor, GitVersionTaskExecutor>(); services.AddModule(new GitVersionCoreModule()); var sp = services.BuildServiceProvider(); return(sp); }