public static BuildTargetResult GenerateVersions(BuildTargetContext c) { var commitCount = GitUtils.GetCommitCount(); var commitHash = GitUtils.GetCommitHash(); var branchInfo = new BranchInfo(Dirs.RepoRoot); var hostVersion = new HostVersion() { ReleaseSuffix = branchInfo.Entries["RELEASE_SUFFIX"], CommitCount = commitCount }; var buildVersion = new BuildVersion() { Major = int.Parse(branchInfo.Entries["MAJOR_VERSION"]), Minor = int.Parse(branchInfo.Entries["MINOR_VERSION"]), Patch = int.Parse(branchInfo.Entries["PATCH_VERSION"]), ReleaseSuffix = branchInfo.Entries["RELEASE_SUFFIX"], CommitCount = commitCount }; c.BuildContext["BuildVersion"] = buildVersion; c.BuildContext["HostVersion"] = hostVersion; c.BuildContext["CommitHash"] = commitHash; c.BuildContext["SharedFrameworkNugetVersion"] = buildVersion.NetCoreAppVersion; c.Info($"Building Version: {hostVersion.LatestHostVersion.WithoutSuffix} (NuGet Packages: {hostVersion.LatestHostVersion})"); c.Info($"From Commit: {commitHash}"); return(c.Success()); }
public static BuildTargetResult GenerateVersions(BuildTargetContext c) { var gitResult = Cmd("git", "rev-list", "--count", "HEAD") .CaptureStdOut() .Execute(); gitResult.EnsureSuccessful(); var commitCount = int.Parse(gitResult.StdOut); gitResult = Cmd("git", "rev-parse", "HEAD") .CaptureStdOut() .Execute(); gitResult.EnsureSuccessful(); var commitHash = gitResult.StdOut.Trim(); var hostVersion = new HostVersion() { CommitCount = commitCount }; c.BuildContext["HostVersion"] = hostVersion; c.BuildContext["CommitHash"] = commitHash; c.Info($"Building Version: {hostVersion.LatestHostVersionNoSuffix} (NuGet Packages: {hostVersion.LatestHostVersion})"); c.Info($"From Commit: {commitHash}"); return(c.Success()); }
public void valid(string version) { var hv = new HostVersion(version); Assert.Equal(version, hv.Value); Assert.Equal(version, hv.ToString()); }
public static IEnumerable <VsProject> GetProjects(HostVersion version, string solutionFilePath) { if (version.Equals(HostVersion.VS2013)) { return(new SolutionFile2013(solutionFilePath).Projects.Select(p => new VsProject { ProjectName = p.ProjectName, RelativePath = p.RelativePath })); } else if (version.Equals(HostVersion.VS2015)) { var t = Type.GetType("Microsoft.Build.Construction.SolutionFile, Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", false, false); var sln = t .GetMethod("Parse", BindingFlags.Public | BindingFlags.Static) .Invoke(null, new object[] { solutionFilePath }); var projects = t .GetProperty("ProjectsInOrder", BindingFlags.Public | BindingFlags.Instance) .GetValue(sln) as IEnumerable <dynamic>; return(projects.Select(p => new VsProject { ProjectName = p.ProjectName, RelativePath = p.RelativePath })); } else { throw new ArgumentOutOfRangeException(string.Format("Unknown host: {0}", version)); } }
public static BuildTargetResult GenerateVersions(BuildTargetContext c) { var commitCount = GitUtils.GetCommitCount(); var commitHash = GitUtils.GetCommitHash(); var branchInfo = new BranchInfo(Dirs.RepoRoot); // Read details from branchinfo.txt for our build configuration int iMajor = int.Parse(branchInfo.Entries["MAJOR_VERSION"]); int iMinor = int.Parse(branchInfo.Entries["MINOR_VERSION"]); int iPatch = int.Parse(branchInfo.Entries["PATCH_VERSION"]); string sReleaseSuffix = branchInfo.Entries["RELEASE_SUFFIX"]; bool fStabilizePackageVersion = bool.Parse(branchInfo.Entries["STABILIZE_PACKAGE_VERSION"]); bool fValidateHostPackages = bool.Parse(branchInfo.Entries["VALIDATE_HOST_PACKAGES"]); bool fLockHostVersion = bool.Parse(branchInfo.Entries["LOCK_HOST_VERSION"]); var hostVersion = new HostVersion() { Major = iMajor, Minor = iMinor, Patch = iPatch, ReleaseSuffix = sReleaseSuffix, EnsureStableVersion = fStabilizePackageVersion, IsLocked = fLockHostVersion, CommitCount = commitCount }; var buildVersion = new BuildVersion() { Major = iMajor, Minor = iMinor, Patch = iPatch, ReleaseSuffix = sReleaseSuffix, CommitCount = commitCount }; c.BuildContext["ValidateHostPackages"] = fValidateHostPackages; c.BuildContext["BuildVersion"] = buildVersion; c.BuildContext["HostVersion"] = hostVersion; c.BuildContext["CommitHash"] = commitHash; c.BuildContext["BranchName"] = branchInfo.Entries["BRANCH_NAME"]; // Define the version string to be used based upon whether we are stabilizing the versions or not. if (!fStabilizePackageVersion) { c.BuildContext["SharedFrameworkNugetVersion"] = buildVersion.NetCoreAppVersion; } else { c.BuildContext["SharedFrameworkNugetVersion"] = buildVersion.ProductionVersion; } c.Info($"Building Version: {hostVersion.LatestHostVersion.WithoutSuffix} (NuGet Packages: {hostVersion.LatestHostVersion})"); c.Info($"From Commit: {commitHash}"); return(c.Success()); }
public static BuildTargetResult GenerateVersions(BuildTargetContext c) { var commitCount = GitUtils.GetCommitCount(); var commitHash = GitUtils.GetCommitHash(); var hostVersion = new HostVersion() { CommitCount = commitCount }; c.BuildContext["HostVersion"] = hostVersion; c.BuildContext["CommitHash"] = commitHash; c.Info($"Building Version: {hostVersion.LatestHostVersionNoSuffix} (NuGet Packages: {hostVersion.LatestHostVersion})"); c.Info($"From Commit: {commitHash}"); return(c.Success()); }