public void CreateTemporaryRepository() { workDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); gitDirectory = Repository.Init(workDirectory).TrimEnd(Path.DirectorySeparatorChar); testFileSystem = new TestFileSystem(); log = new NullLog(); environment = new TestEnvironment(); var stepFactory = new ConfigInitStepFactory(); configInitWizard = new ConfigInitWizard(new ConsoleAdapter(), stepFactory); configFileLocator = new DefaultConfigFileLocator(testFileSystem, log); gitVersionCache = new GitVersionCache(testFileSystem, log); buildServerResolver = new BuildServerResolver(null, log); metaDataCalculator = new MetaDataCalculator(); var baseVersionCalculator = new BaseVersionCalculator(log, null); var mainlineVersionCalculator = new MainlineVersionCalculator(log, metaDataCalculator); var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator); gitVersionFinder = new GitVersionFinder(log, nextVersionCalculator); Assert.NotNull(gitDirectory); }
private IGitVersionCalculator GetGitVersionCalculator(Arguments arguments, ILog logger = null) { sp = GetServiceProvider(arguments, logger); fileSystem = sp.GetService <IFileSystem>(); log = sp.GetService <ILog>(); gitVersionCache = sp.GetService <IGitVersionCache>(); return(sp.GetService <IGitVersionCalculator>()); }
private IGitVersionCalculateTool GetGitVersionCalculator(GitVersionOptions gitVersionOptions, ILog logger = null, IGitRepository repository = null, IFileSystem fs = null) { sp = GetServiceProvider(gitVersionOptions, logger, repository, fs); fileSystem = sp.GetService <IFileSystem>(); log = sp.GetService <ILog>(); gitVersionCache = sp.GetService <IGitVersionCache>(); return(sp.GetService <IGitVersionCalculateTool>()); }
private IGitVersionCalculateTool GetGitVersionCalculator(GitVersionOptions gitVersionOptions, ILog?logger = null, IGitRepository?repository = null, IFileSystem?fs = null) { this.sp = GetServiceProvider(gitVersionOptions, logger, repository, fs); this.fileSystem = this.sp.GetRequiredService <IFileSystem>(); this.log = this.sp.GetRequiredService <ILog>(); this.gitVersionCache = this.sp.GetRequiredService <IGitVersionCache>(); return(this.sp.GetRequiredService <IGitVersionCalculateTool>()); }
private IGitVersionTool GetGitVersionCalculator(Arguments arguments, ILog logger = null, IRepository repository = null, IFileSystem fs = null) { sp = GetServiceProvider(arguments, logger, repository, fs); fileSystem = sp.GetService <IFileSystem>(); log = sp.GetService <ILog>(); gitVersionCache = sp.GetService <IGitVersionCache>(); gitPreparer = sp.GetService <IGitPreparer>(); return(sp.GetService <IGitVersionTool>()); }
public GitVersionCalculator(ILog log, IConfigProvider configProvider, IGitVersionCache gitVersionCache, INextVersionCalculator nextVersionCalculator, IVariableProvider variableProvider, IOptions <Arguments> options, IGitVersionCacheKeyFactory cacheKeyFactory) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.configProvider = configProvider ?? throw new ArgumentNullException(nameof(configProvider)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.nextVersionCalculator = nextVersionCalculator ?? throw new ArgumentNullException(nameof(nextVersionCalculator)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.cacheKeyFactory = cacheKeyFactory ?? throw new ArgumentNullException(nameof(cacheKeyFactory)); }
public GitVersionCalculator(ILog log, IConfigProvider configProvider, IBuildServerResolver buildServerResolver, IGitVersionCache gitVersionCache, IGitVersionFinder gitVersionFinder, IGitPreparer gitPreparer, IVariableProvider variableProvider, IOptions <Arguments> options, IGitVersionCacheKeyFactory cacheKeyFactory) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.configProvider = configProvider ?? throw new ArgumentNullException(nameof(configProvider)); this.buildServerResolver = buildServerResolver ?? throw new ArgumentNullException(nameof(buildServerResolver)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.gitVersionFinder = gitVersionFinder ?? throw new ArgumentNullException(nameof(gitVersionFinder)); this.gitPreparer = gitPreparer ?? throw new ArgumentNullException(nameof(gitPreparer)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.cacheKeyFactory = cacheKeyFactory ?? throw new ArgumentNullException(nameof(cacheKeyFactory)); }
public void SetUp() { fileSystem = new FileSystem(); environment = new TestEnvironment(); log = new NullLog(); configFileLocator = new DefaultConfigFileLocator(fileSystem, log); buildServerResolver = new BuildServerResolver(null, log); gitVersionCache = new GitVersionCache(fileSystem, log); metaDataCalculator = new MetaDataCalculator(); var baseVersionCalculator = new TestBaseVersionStrategiesCalculator(log); var mainlineVersionCalculator = new MainlineVersionCalculator(log, metaDataCalculator); var nextVersionCalculator = new NextVersionCalculator(log, metaDataCalculator, baseVersionCalculator, mainlineVersionCalculator); gitVersionFinder = new GitVersionFinder(log, nextVersionCalculator); }
public GitVersionCalculator(IFileSystem fileSystem, ILog log, IConfigFileLocator configFileLocator, IConfigProvider configProvider, IBuildServerResolver buildServerResolver, IGitVersionCache gitVersionCache, IGitVersionFinder gitVersionFinder, IGitPreparer gitPreparer, IVariableProvider variableProvider, IOptions <Arguments> options) { this.fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); this.log = log ?? throw new ArgumentNullException(nameof(log)); this.configFileLocator = configFileLocator ?? throw new ArgumentNullException(nameof(configFileLocator)); this.configProvider = configProvider ?? throw new ArgumentNullException(nameof(configProvider)); this.buildServerResolver = buildServerResolver ?? throw new ArgumentNullException(nameof(buildServerResolver)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.gitVersionFinder = gitVersionFinder ?? throw new ArgumentNullException(nameof(gitVersionFinder)); this.gitPreparer = gitPreparer ?? throw new ArgumentNullException(nameof(gitPreparer)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.arguments = options.Value; }
public void CacheFileIsMissing() { var stringBuilder = new StringBuilder(); void Action(string s) => stringBuilder.AppendLine(s); var logAppender = new TestLogAppender(Action); log = new Log(logAppender); gitVersionCache = new GitVersionCache(fileSystem, log); RepositoryScope(); var logsMessages = stringBuilder.ToString(); logsMessages.ShouldContain("yml not found", () => logsMessages); }
public GitVersionCalculateTool(ILog log, INextVersionCalculator nextVersionCalculator, IVariableProvider variableProvider, IGitPreparer gitPreparer, IGitVersionCache gitVersionCache, IGitVersionCacheKeyFactory cacheKeyFactory, IOptions <GitVersionOptions> options, Lazy <GitVersionContext> versionContext) { this.log = log.NotNull(); this.nextVersionCalculator = nextVersionCalculator.NotNull(); this.variableProvider = variableProvider.NotNull(); this.gitPreparer = gitPreparer.NotNull(); this.cacheKeyFactory = cacheKeyFactory.NotNull(); this.gitVersionCache = gitVersionCache.NotNull(); this.options = options.NotNull(); this.versionContext = versionContext.NotNull(); }
public GitVersionCalculateTool(ILog log, INextVersionCalculator nextVersionCalculator, IVariableProvider variableProvider, IGitPreparer gitPreparer, IGitVersionCache gitVersionCache, IGitVersionCacheKeyFactory cacheKeyFactory, IOptions <GitVersionOptions> options, Lazy <GitVersionContext> versionContext) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.nextVersionCalculator = nextVersionCalculator ?? throw new ArgumentNullException(nameof(nextVersionCalculator)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.gitPreparer = gitPreparer ?? throw new ArgumentNullException(nameof(gitPreparer)); this.cacheKeyFactory = cacheKeyFactory ?? throw new ArgumentNullException(nameof(cacheKeyFactory)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.versionContext = versionContext ?? throw new ArgumentNullException(nameof(versionContext)); }
public GitVersionTool(ILog log, INextVersionCalculator nextVersionCalculator, IVariableProvider variableProvider, IGitPreparer gitPreparer, IGitVersionCache gitVersionCache, IGitVersionCacheKeyFactory cacheKeyFactory, IOutputGenerator outputGenerator, IWixVersionFileUpdater wixVersionFileUpdater, IGitVersionInfoGenerator gitVersionInfoGenerator, IAssemblyInfoFileUpdater assemblyInfoFileUpdater, IOptions <GitVersionOptions> options, Lazy <GitVersionContext> versionContext) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.nextVersionCalculator = nextVersionCalculator ?? throw new ArgumentNullException(nameof(nextVersionCalculator)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.gitPreparer = gitPreparer ?? throw new ArgumentNullException(nameof(gitPreparer)); this.cacheKeyFactory = cacheKeyFactory ?? throw new ArgumentNullException(nameof(cacheKeyFactory)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.outputGenerator = outputGenerator ?? throw new ArgumentNullException(nameof(outputGenerator)); this.wixVersionFileUpdater = wixVersionFileUpdater ?? throw new ArgumentNullException(nameof(wixVersionFileUpdater)); this.gitVersionInfoGenerator = gitVersionInfoGenerator ?? throw new ArgumentNullException(nameof(gitVersionInfoGenerator)); this.assemblyInfoFileUpdater = assemblyInfoFileUpdater ?? throw new ArgumentNullException(nameof(gitVersionInfoGenerator)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.versionContext = versionContext ?? throw new ArgumentNullException(nameof(versionContext)); }
public GitVersionTool(ILog log, INextVersionCalculator nextVersionCalculator, IVariableProvider variableProvider, IConsole console, IGitVersionCache gitVersionCache, IGitVersionCacheKeyFactory cacheKeyFactory, IBuildServerResolver buildServerResolver, IWixVersionFileUpdater wixVersionFileUpdater, IGitVersionInformationGenerator gitVersionInformationGenerator, IAssemblyInfoFileUpdater assemblyInfoFileUpdater, IOptions <Arguments> options, Lazy <GitVersionContext> versionContext) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.console = console ?? throw new ArgumentNullException(nameof(console)); this.nextVersionCalculator = nextVersionCalculator ?? throw new ArgumentNullException(nameof(nextVersionCalculator)); this.variableProvider = variableProvider ?? throw new ArgumentNullException(nameof(variableProvider)); this.cacheKeyFactory = cacheKeyFactory ?? throw new ArgumentNullException(nameof(cacheKeyFactory)); this.gitVersionCache = gitVersionCache ?? throw new ArgumentNullException(nameof(gitVersionCache)); this.wixVersionFileUpdater = wixVersionFileUpdater ?? throw new ArgumentNullException(nameof(wixVersionFileUpdater)); this.gitVersionInformationGenerator = gitVersionInformationGenerator ?? throw new ArgumentNullException(nameof(gitVersionInformationGenerator)); this.assemblyInfoFileUpdater = assemblyInfoFileUpdater ?? throw new ArgumentNullException(nameof(gitVersionInformationGenerator)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.versionContext = versionContext ?? throw new ArgumentNullException(nameof(versionContext)); buildServer = buildServerResolver.Resolve(); }
public void CacheFileExistsOnDiskWhenOverrideConfigIsSpecifiedVersionShouldBeDynamicallyCalculatedWithoutSavingInCache() { const string versionCacheFileContent = @" Major: 4 Minor: 10 Patch: 3 PreReleaseTag: test.19 PreReleaseTagWithDash: -test.19 PreReleaseLabel: test PreReleaseNumber: 19 BuildMetaData: BuildMetaDataPadded: FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f MajorMinorPatch: 4.10.3 SemVer: 4.10.3-test.19 LegacySemVer: 4.10.3-test19 LegacySemVerPadded: 4.10.3-test0019 AssemblySemVer: 4.10.3.0 AssemblySemFileVer: 4.10.3.0 FullSemVer: 4.10.3-test.19 InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f BranchName: feature/test Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f ShortSha: dd2a29af NuGetVersionV2: 4.10.3-test0019 NuGetVersion: 4.10.3-test0019 NuGetPreReleaseTagV2: test0019 NuGetPreReleaseTag: test0019 CommitsSinceVersionSource: 19 CommitsSinceVersionSourcePadded: 0019 CommitDate: 2015-11-10 "; RepositoryScope((fixture, vv) => { fileSystem.WriteAllText(vv.FileName, versionCacheFileContent); var arguments = new Arguments { TargetPath = fixture.RepositoryPath }; var gitPreparer = new GitPreparer(log, environment, Options.Create(arguments)); gitVersionCache = new GitVersionCache(fileSystem, log); var cacheDirectory = gitVersionCache.GetCacheDirectory(gitPreparer); var cacheDirectoryTimestamp = fileSystem.GetLastDirectoryWrite(cacheDirectory); arguments = new Arguments { TargetPath = fixture.RepositoryPath, OverrideConfig = new Config { TagPrefix = "prefix" } }; var gitVersionCalculator = GetGitVersionCalculator(arguments); vv = gitVersionCalculator.CalculateVersionVariables(); vv.AssemblySemVer.ShouldBe("0.1.0.0"); var cachedDirectoryTimestampAfter = fileSystem.GetLastDirectoryWrite(cacheDirectory); cachedDirectoryTimestampAfter.ShouldBe(cacheDirectoryTimestamp, () => "Cache was updated when override config was set"); }); }
public void CacheFileExistsOnDisk() { const string versionCacheFileContent = @" Major: 4 Minor: 10 Patch: 3 PreReleaseTag: test.19 PreReleaseTagWithDash: -test.19 PreReleaseLabel: test PreReleaseNumber: 19 WeightedPreReleaseNumber: 19 BuildMetaData: BuildMetaDataPadded: FullBuildMetaData: Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f MajorMinorPatch: 4.10.3 SemVer: 4.10.3-test.19 LegacySemVer: 4.10.3-test19 LegacySemVerPadded: 4.10.3-test0019 AssemblySemVer: 4.10.3.0 AssemblySemFileVer: 4.10.3.0 FullSemVer: 4.10.3-test.19 InformationalVersion: 4.10.3-test.19+Branch.feature/test.Sha.dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f BranchName: feature/test Sha: dd2a29aff0c948e1bdf3dabbe13e1576e70d5f9f ShortSha: dd2a29af NuGetVersionV2: 4.10.3-test0019 NuGetVersion: 4.10.3-test0019 NuGetPreReleaseTagV2: test0019 NuGetPreReleaseTag: test0019 VersionSourceSha: 4.10.2 CommitsSinceVersionSource: 19 CommitsSinceVersionSourcePadded: 0019 CommitDate: 2015-11-10 "; var stringBuilder = new StringBuilder(); void Action(string s) => stringBuilder.AppendLine(s); var logAppender = new TestLogAppender(Action); log = new Log(logAppender); gitVersionCache = new GitVersionCache(fileSystem, log); RepositoryScope(log, (fixture, vv) => { fileSystem.WriteAllText(vv.FileName, versionCacheFileContent); var arguments = new Arguments { TargetPath = fixture.RepositoryPath }; var gitVersionCalculator = GetGitVersionCalculator(arguments); vv = gitVersionCalculator.CalculateVersionVariables(); vv.AssemblySemVer.ShouldBe("4.10.3.0"); }); var logsMessages = stringBuilder.ToString(); logsMessages.ShouldContain("Deserializing version variables from cache file", () => logsMessages); }