void InnerExecute() { VersionVariables versionVariables; if (!ExecuteCore.TryGetVersion(SolutionDirectory, out versionVariables, NoFetch, new Authentication())) { return; } var fileExtension = GetFileExtension(); var fileName = $"GitVersionInformation.g.{fileExtension}"; if (IntermediateOutputPath == null) { fileName = $"GitVersionInformation_{Path.GetFileNameWithoutExtension(ProjectFile)}_{Path.GetRandomFileName()}.g.{fileExtension}"; } var workingDirectory = IntermediateOutputPath ?? TempFileTracker.TempPath; GitVersionInformationFilePath = Path.Combine(workingDirectory, fileName); var generator = new GitVersionInformationGenerator(fileName, workingDirectory, versionVariables, new FileSystem()); generator.Generate(); }
public void ShouldCreateFile(string fileExtension) { var directory = Path.GetTempPath(); var fileName = "GitVersionInformation.g." + fileExtension; var fullPath = Path.Combine(directory, fileName); var semanticVersion = new SemanticVersion { Major = 1, Minor = 2, Patch = 3, PreReleaseTag = "unstable4", BuildMetaData = new SemanticVersionBuildMetaData("versionSourceSha", 5, "feature1", "commitSha", "commitShortSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")) }; var sp = ConfigureServices(); var fileSystem = sp.GetService <IFileSystem>(); var variableProvider = sp.GetService <IVariableProvider>(); var variables = variableProvider.GetVariablesFor(semanticVersion, new TestEffectiveConfiguration(), false); var generator = new GitVersionInformationGenerator(fileName, directory, variables, fileSystem); generator.Generate(); fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension))); }
public void ShouldCreateFile(string fileExtension) { var fileSystem = new TestFileSystem(); var directory = Path.GetTempPath(); var fileName = "GitVersionInformation.g." + fileExtension; var fullPath = Path.Combine(directory, fileName); var semanticVersion = new SemanticVersion { Major = 1, Minor = 2, Patch = 3, PreReleaseTag = "unstable4", BuildMetaData = new SemanticVersionBuildMetaData("versionSourceSha", 5, "feature1", "commitSha", "commitShortSha", DateTimeOffset.Parse("2014-03-06 23:59:59Z")) }; var log = new NullLog(); var metaDataCalculator = new MetaDataCalculator(); var baseVersionCalculator = new BaseVersionCalculator(log, null); var mainlineVersionCalculator = new MainlineVersionCalculator(log, metaDataCalculator); var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator); var variableProvider = new VariableProvider(nextVersionCalculator, new TestEnvironment()); var variables = variableProvider.GetVariablesFor(semanticVersion, new TestEffectiveConfiguration(), false); var generator = new GitVersionInformationGenerator(fileName, directory, variables, fileSystem); generator.Generate(); fileSystem.ReadAllText(fullPath).ShouldMatchApproved(c => c.SubFolder(Path.Combine("Approved", fileExtension))); }
private static Output InnerExecute(Input input, TaskLogger logger) { var execute = GitVersionTaskCommonFunctionality.CreateExecuteCore(); if (!execute.TryGetVersion(input.SolutionDirectory, out var versionVariables, input.NoFetch, new Authentication())) { return(null); } var fileWriteInfo = input.IntermediateOutputPath.GetFileWriteInfo( input.Language, input.ProjectFile, (pf, ext) => $"GitVersionInformation.g.{ext}", (pf, ext) => $"GitVersionInformation_{Path.GetFileNameWithoutExtension(pf)}_{Path.GetRandomFileName()}.g.{ext}" ); var output = new Output() { GitVersionInformationFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName) }; var generator = new GitVersionInformationGenerator(fileWriteInfo.FileName, fileWriteInfo.WorkingDirectory, versionVariables, new FileSystem()); generator.Generate(); return(output); }
public void GenerateGitVersionInformation(GenerateGitVersionInformation task) { var fileWriteInfo = task.IntermediateOutputPath.GetFileWriteInfo(task.Language, task.ProjectFile, "GitVersionInformation"); task.GitVersionInformationFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName); var generator = new GitVersionInformationGenerator(fileWriteInfo.FileName, fileWriteInfo.WorkingDirectory, versionVariables, fileSystem); generator.Generate(); }
public static bool GenerateGitVersionInformation(GenerateGitVersionInformation task) { return(ExecuteGitVersionTask(task, t => { if (!GetVersionVariables(t, out var versionVariables)) { return; } var fileWriteInfo = t.IntermediateOutputPath.GetFileWriteInfo(t.Language, t.ProjectFile, "GitVersionInformation"); t.GitVersionInformationFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName); var generator = new GitVersionInformationGenerator(fileWriteInfo.FileName, fileWriteInfo.WorkingDirectory, versionVariables, new FileSystem()); generator.Generate(); })); }
private static Output CreateGitVersionInfo(Input input, VersionVariables versionVariables) { var fileWriteInfo = input.IntermediateOutputPath.GetFileWriteInfo( input.Language, input.ProjectFile, (pf, ext) => $"GitVersionInformation.g.{ext}", (pf, ext) => $"GitVersionInformation_{Path.GetFileNameWithoutExtension(pf)}_{Path.GetRandomFileName()}.g.{ext}" ); var output = new Output { GitVersionInformationFilePath = Path.Combine(fileWriteInfo.WorkingDirectory, fileWriteInfo.FileName) }; var generator = new GitVersionInformationGenerator(fileWriteInfo.FileName, fileWriteInfo.WorkingDirectory, versionVariables, new FileSystem()); generator.Generate(); return(output); }
protected override void InnerExecute() { if (GetVersionVariables(out var versionVariables)) { return; } var fileExtension = TaskUtils.GetFileExtension(Language); var fileName = $"GitVersionInformation.g.{fileExtension}"; if (IntermediateOutputPath == null) { fileName = $"GitVersionInformation_{Path.GetFileNameWithoutExtension(ProjectFile)}_{Path.GetRandomFileName()}.g.{fileExtension}"; } var workingDirectory = IntermediateOutputPath ?? TempFileTracker.TempPath; GitVersionInformationFilePath = Path.Combine(workingDirectory, fileName); var generator = new GitVersionInformationGenerator(fileName, workingDirectory, versionVariables, new FileSystem()); generator.Generate(); }