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(); }