コード例 #1
0
        static int Main(string[] args)
        {
            var options = new Options();

            if (Parser.Default.ParseArguments(args, options))
            {
                DeleteTempFolder(options);

                var svnLook = new SvnLook(options.SvnLookPath);
                if (!CheckComment(svnLook, options))
                {
                    Console.Error.WriteLine("Please put a comment that describes changes you made in the code");
                    return((int)ReturnCode.EmptyComment);
                }

                SaveCommittedFilesToTemp(svnLook, options);
                ValidateFiles(options, options.TempFolder);

                if (Violations.Count > 0)
                {
                    Console.Error.WriteLine("There are StyleCop violations in your code");
                    foreach (var violation in Violations)
                    {
                        Console.Error.WriteLine(violation);
                    }

                    return((int)ReturnCode.ViolationsFound);
                }

                return((int)ReturnCode.Ok);
            }

            Console.Error.WriteLine(options.LastParserState.Errors.First().BadOption.LongName);
            return((int)ReturnCode.WrongParameters);
        }
コード例 #2
0
        private static void SaveCommittedFilesToTemp(SvnLook svnLook, Options options)
        {
            var files = svnLook.GetChangedFiles(options.Repository, options.Transaction);

            foreach (string file in files)
            {
                string outFileName = Path.Combine(options.TempFolder, file);
                Directory.CreateDirectory(Path.GetDirectoryName(outFileName));
                svnLook.DownloadFile(options.Repository, options.Transaction, file, outFileName);
            }
        }
コード例 #3
0
        private static bool CheckComment(SvnLook svnLook, Options options)
        {
            var comment = svnLook.GetCommitComment(options.Repository, options.Transaction);

            return(!String.IsNullOrWhiteSpace(comment) || options.AllowEmptyComment);
        }