public override bool Execute() { try { GitExtensions.TryHelpFindLibGit2NativeBinaries(this.TargetsPath); var cloudBuild = CloudBuild.Active; var oracle = VersionOracle.Create(Directory.GetCurrentDirectory(), this.GitRepoRoot, cloudBuild); if (!string.IsNullOrEmpty(this.DefaultPublicRelease)) { oracle.PublicRelease = string.Equals(this.DefaultPublicRelease, "true", StringComparison.OrdinalIgnoreCase); } if (this.BuildMetadata != null) { oracle.BuildMetadata.AddRange(this.BuildMetadata); } this.PublicRelease = oracle.PublicRelease; this.Version = oracle.Version.ToString(); this.AssemblyVersion = oracle.AssemblyVersion.ToString(); this.AssemblyFileVersion = oracle.AssemblyFileVersion.ToString(); this.AssemblyInformationalVersion = oracle.AssemblyInformationalVersion; this.SimpleVersion = oracle.SimpleVersion.ToString(); this.MajorMinorVersion = oracle.MajorMinorVersion.ToString(); this.BuildNumber = oracle.BuildNumber; this.PrereleaseVersion = oracle.PrereleaseVersion; this.GitCommitId = oracle.GitCommitId; this.GitCommitIdShort = oracle.GitCommitIdShort; this.GitVersionHeight = oracle.VersionHeight; this.BuildMetadataFragment = oracle.BuildMetadataFragment; this.CloudBuildNumber = oracle.CloudBuildNumberEnabled ? oracle.CloudBuildNumber : null; this.NuGetPackageVersion = oracle.NuGetPackageVersion; this.NpmPackageVersion = oracle.NpmPackageVersion; if (oracle.CloudBuildVersionVarsEnabled) { this.CloudBuildVersionVars = oracle.CloudBuildVersionVars .Select(item => new TaskItem(item.Key, new Dictionary <string, string> { { "Value", item.Value } })) .ToArray(); } } catch (ArgumentOutOfRangeException ex) { Log.LogErrorFromException(ex); return(false); } return(true); }