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