public override bool Execute() { try { VersionVariables variables; if (VersionAndBranchFinder.TryGetVersion(SolutionDirectory, out variables, NoFetch, new Authentication(), fileSystem)) { var thisType = typeof(GetVersion); foreach (var variable in variables) { thisType.GetProperty(variable.Key).SetValue(this, variable.Value, null); } } return(true); } catch (WarningException errorException) { logger.LogWarning(errorException.Message); return(true); } catch (Exception exception) { logger.LogError("Error occurred: " + exception); return(false); } finally { Logger.Reset(); } }
public override bool Execute() { try { SemanticVersion versionAndBranch; if (VersionAndBranchFinder.TryGetVersion(SolutionDirectory, out versionAndBranch)) { var thisType = typeof(GetVersion); var variables = VariableProvider.GetVariablesFor(versionAndBranch); foreach (var variable in variables) { thisType.GetProperty(variable.Key).SetValue(this, variable.Value, null); } } return(true); } catch (WarningException errorException) { logger.LogWarning(errorException.Message); return(true); } catch (Exception exception) { logger.LogError("Error occurred: " + exception); return(false); } finally { Logger.Reset(); } }
public WriteVersionInfoToBuildLog() { logger = new TaskLogger(this); fileSystem = new FileSystem(); Logger.SetLoggers( this.LogInfo, this.LogWarning, s => this.LogError(s)); }
public GetVersion() { logger = new TaskLogger(this); fileSystem = new FileSystem(); Logger.SetLoggers( this.LogInfo, this.LogWarning, s => this.LogError(s)); }
public override bool Execute() { try { CachedVersion versionAndBranch; var gitDirectory = GitDirFinder.TreeWalkForGitDir(SolutionDirectory); var configuration = ConfigurationProvider.Provide(gitDirectory, fileSystem); // TODO This should be covered by tests // Null is intentional. Empty string means the user has set the value to an empty string and wants to clear the tag if (DevelopBranchTag != null) { configuration.DevelopBranchTag = DevelopBranchTag; } if (ReleaseBranchTag != null) { configuration.ReleaseBranchTag = ReleaseBranchTag; } if (TagPrefix != null) { configuration.TagPrefix = TagPrefix; } if (NextVersion != null) { configuration.NextVersion = NextVersion; } if (VersionAndBranchFinder.TryGetVersion(SolutionDirectory, out versionAndBranch, configuration)) { var thisType = typeof(GetVersion); var variables = VariableProvider.GetVariablesFor(versionAndBranch.SemanticVersion, configuration); foreach (var variable in variables) { thisType.GetProperty(variable.Key).SetValue(this, variable.Value, null); } } return(true); } catch (WarningException errorException) { logger.LogWarning(errorException.Message); return(true); } catch (Exception exception) { logger.LogError("Error occurred: " + exception); return(false); } finally { Logger.Reset(); } }
public UpdateAssemblyInfo() { CompileFiles = new ITaskItem[] { }; logger = new TaskLogger(this); fileSystem = new FileSystem(); Logger.SetLoggers( this.LogInfo, this.LogWarning, s => this.LogError(s)); }
public override bool Execute() { try { Tuple <CachedVersion, GitVersionContext> versionAndBranch; var gitDirectory = GitDirFinder.TreeWalkForGitDir(SolutionDirectory); var configuration = ConfigurationProvider.Provide(gitDirectory, fileSystem); if (VersionAndBranchFinder.TryGetVersion(SolutionDirectory, out versionAndBranch, configuration)) { var thisType = typeof(GetVersion); var cachedVersion = versionAndBranch.Item1; var gitVersionContext = versionAndBranch.Item2; var config = gitVersionContext.Configuration; var variables = VariableProvider.GetVariablesFor( cachedVersion.SemanticVersion, config.AssemblyVersioningScheme, config.VersioningMode, config.ContinuousDeploymentFallbackTag, gitVersionContext.IsCurrentCommitTagged); foreach (var variable in variables) { thisType.GetProperty(variable.Key).SetValue(this, variable.Value, null); } } return(true); } catch (WarningException errorException) { logger.LogWarning(errorException.Message); return(true); } catch (Exception exception) { logger.LogError("Error occurred: " + exception); return(false); } finally { Logger.Reset(); } }
public override bool Execute() { try { InnerExecute(); return(true); } catch (WarningException errorException) { logger.LogWarning(errorException.Message); return(true); } catch (Exception exception) { logger.LogError("Error occurred: " + exception); return(false); } finally { Logger.Reset(); } }
static int VerifyArgumentsAndRun() { Arguments arguments = null; try { var fileSystem = new FileSystem(); var argumentsWithoutExeName = GetArgumentsWithoutExeName(); try { arguments = ArgumentParser.ParseArguments(argumentsWithoutExeName); } catch (WarningException ex) { Console.WriteLine("Failed to parse arguments: {0}", string.Join(" ", argumentsWithoutExeName)); if (!string.IsNullOrWhiteSpace(ex.Message)) { Console.WriteLine(); Console.WriteLine(ex.Message); Console.WriteLine(); } HelpWriter.Write(); return 1; } catch (Exception) { Console.WriteLine("Failed to parse arguments: {0}", string.Join(" ", argumentsWithoutExeName)); HelpWriter.Write(); return 1; } if (arguments.IsHelp) { HelpWriter.Write(); return 0; } ConfigureLogging(arguments); if (arguments.Init) { ConfigurationProvider.Init(arguments.TargetPath, fileSystem, new ConsoleAdapter()); return 0; } if (arguments.ShowConfig) { Console.WriteLine(ConfigurationProvider.GetEffectiveConfigAsString(arguments.TargetPath, fileSystem)); return 0; } if (!string.IsNullOrEmpty(arguments.Proj) || !string.IsNullOrEmpty(arguments.Exec)) { arguments.Output = OutputType.BuildServer; } Logger.WriteInfo("Working directory: " + arguments.TargetPath); SpecifiedArgumentRunner.Run(arguments, fileSystem); } catch (WarningException exception) { var error = string.Format("An error occurred:\r\n{0}", exception.Message); Logger.WriteWarning(error); return 1; } catch (Exception exception) { var error = string.Format("An unexpected error occurred:\r\n{0}", exception); Logger.WriteError(error); if (arguments != null) { Logger.WriteInfo(string.Empty); Logger.WriteInfo("Here is the current git graph (please include in issue): "); Logger.WriteInfo("Showing max of 100 commits"); LibGitExtensions.DumpGraph(arguments.TargetPath, Logger.WriteInfo, 100); } return 1; } return 0; }