Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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());
        }
Esempio n. 4
0
 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));
     }
 }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        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());
        }