Exemplo n.º 1
0
        internal static int Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("Path to sln file required.");
                return(1);
            }

            if (!File.Exists(args[0]))
            {
                Console.WriteLine($"Could not find solution file: {Path.GetFullPath(args[0])}");
                return(1);
            }

            MSBuildLocator.RegisterDefaults();
            SolutionReader reader = SolutionReader.CreateAsync(args[0]).Result;

            var diagnostics = reader.GetDiagnosticsAsync().Result;

            diagnostics = diagnostics.Sort((a, b) => a.Id.CompareTo(b.Id));

            Commit commit;
            string commitId;

            using (Repository repository = new Repository(Path.GetDirectoryName(args[0])))
            {
                commitId = repository.Head.Tip.Sha;
                commit   = repository.Head.Tip;

                var output = new
                {
                    diagnostics,
                    git = new
                    {
                        commit.Sha,
                        commit.Message,
                        commit.Author,
                        commit.Committer,
                        Parents = commit.Parents.Select(x => x.Sha),
                    },
                };

                Console.WriteLine(JsonConvert.SerializeObject(output, Formatting.Indented));
            }

            return(0);
        }
Exemplo n.º 2
0
        /// <summary>
        /// The starting point of this application.
        /// </summary>
        /// <param name="args">The command line parameters.</param>
        internal static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("Path to sln file required.");
                return;
            }

            SolutionReader reader = SolutionReader.CreateAsync(args[0]).Result;

            var diagnostics = reader.GetDiagnosticsAsync().Result;

            diagnostics = diagnostics.Sort((a, b) => a.Id.CompareTo(b.Id));

            Commit commit;
            string commitId;

            using (Repository repository = new Repository(Path.GetDirectoryName(args[0])))
            {
                commitId = repository.Head.Tip.Sha;
                commit   = repository.Head.Tip;

                var output = new
                {
                    diagnostics,
                    git = new
                    {
                        commit.Sha,
                        commit.Message,
                        commit.Author,
                        commit.Committer,
                        Parents = commit.Parents.Select(x => x.Sha)
                    }
                };

                Console.WriteLine(JsonConvert.SerializeObject(output));
            }
        }