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; } } }
private string GetWixFormatFromVersionVariables() { StringBuilder builder = new StringBuilder(); builder.Append("<Include xmlns=\"http://schemas.microsoft.com/wix/2006/wi\">\n"); var availableVariables = VersionVariables.AvailableVariables; foreach (var variable in availableVariables) { variables.TryGetValue(variable, out var value); builder.Append($"\t<?define {variable}=\"{value}\"?>\n"); } builder.Append("</Include>\n"); return(builder.ToString()); }
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); }