Example #1
0
    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();
    }
Example #2
0
    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);
    }