예제 #1
0
        public void OutputVariables(VersionVariables variables, Action <string> writter)
        {
            var arguments = options.Value;

            if (arguments.Output.Contains(OutputType.BuildServer))
            {
                buildServer?.WriteIntegration(writter, variables);
            }
            if (arguments.Output.Contains(OutputType.Json))
            {
                switch (arguments.ShowVariable)
                {
                case null:
                    console.WriteLine(variables.ToString());
                    break;

                default:
                    if (!variables.TryGetValue(arguments.ShowVariable, out var part))
                    {
                        throw new WarningException($"'{arguments.ShowVariable}' variable does not exist");
                    }

                    console.WriteLine(part);
                    break;
                }
            }
        }
예제 #2
0
        public void Execute(VersionVariables variables)
        {
            log.Info($"Running on {(RunningOnUnix ? "Unix" : "Windows")}.");

            var arguments = options.Value;

            if (arguments.Output.Contains(OutputType.BuildServer))
            {
                var buildServer = buildServerResolver.Resolve();
                buildServer?.WriteIntegration(Console.WriteLine, variables);
            }
            if (arguments.Output.Contains(OutputType.Json))
            {
                switch (arguments.ShowVariable)
                {
                case null:
                    Console.WriteLine(variables.ToString());
                    break;

                default:
                    if (!variables.TryGetValue(arguments.ShowVariable, out var part))
                    {
                        throw new WarningException($"'{arguments.ShowVariable}' variable does not exist");
                    }

                    Console.WriteLine(part);
                    break;
                }
            }

            if (arguments.UpdateWixVersionFile)
            {
                using var wixVersionFileUpdater = new WixVersionFileUpdater(arguments.TargetPath, variables, fileSystem, log);
                wixVersionFileUpdater.Update();
            }

            using var assemblyInfoUpdater = new AssemblyInfoFileUpdater(arguments.UpdateAssemblyInfoFileName, arguments.TargetPath, variables, fileSystem, log, arguments.EnsureAssemblyInfo);
            if (arguments.UpdateAssemblyInfo)
            {
                assemblyInfoUpdater.Update();
                assemblyInfoUpdater.CommitChanges();
            }

            RunExecCommandIfNeeded(arguments, arguments.TargetPath, variables, log);
            RunMsBuildIfNeeded(arguments, arguments.TargetPath, variables, log);
        }