private static void Run(GitHubFlowVersionContext context) { var gitHelper = new GitHelper(); var gitRepo = new Repository(context.GitDirectory); var lastTaggedReleaseFinder = new LastTaggedReleaseFinder(gitRepo, gitHelper, context.WorkingDirectory); var nextSemverCalculator = new NextSemverCalculator(new NextVersionTxtFileFinder(context.RepositoryRoot), lastTaggedReleaseFinder); var buildNumberCalculator = new BuildNumberCalculator(nextSemverCalculator, lastTaggedReleaseFinder, gitHelper, gitRepo, context.CurrentBuildServer); context.NextBuildNumber = buildNumberCalculator.GetBuildNumber(); var variableProvider = new VariableProvider(); context.Variables = variableProvider.GetVariables(context.NextBuildNumber); WriteResults(context); }
private static void WriteResults(GitHubFlowArguments arguments, SemanticVersion nextBuildNumber, IBuildServer currentBuildServer) { var variableProvider = new VariableProvider(); var variables = variableProvider.GetVariables(nextBuildNumber); var outputStrategies = new IOutputStrategy[] { new BuildServerOutputStrategy(currentBuildServer), new JsonFileOutputStrategy(), new EnvironmentalVariablesOutputStrategy() }; foreach (var outputStrategy in outputStrategies) { outputStrategy.Write(arguments, variables, nextBuildNumber); } }