Beispiel #1
0
        public void MutateReadme()
        {
            var basePath = Path.Combine(Assembly.GetExecutingAssembly().Location, "..", "..", "..", "..", "..");

            var stats = new DirWalker().DoWork(new[] { Path.Combine(basePath, "Git.cs") });

            var shieldsRegEx  = new Regex("<!--start-->.*<!--end-->", RegexOptions.Singleline);
            var githubShields = new WebFormatter().CreateGithubShields(stats);

            var readmePath = Path.Combine(basePath, "README.md");
            var oldReadme  = File.ReadAllText(readmePath);
            var newReadMe  = shieldsRegEx.Replace(oldReadme, $"<!--start-->\r\n{githubShields}\r\n<!--end-->");

            if (oldReadme != newReadMe)
            {
                File.WriteAllText(readmePath, newReadMe);
            }
        }
Beispiel #2
0
        /// @brief Thread parsing and generating file in a separeted thread
        ///
        /// @param parameter generic object containing PROCEDURE_ARGS struct
        private void ThreadProcedure(object parameter)
        {
            DirectoryInfo   directory_info;
            List <FileInfo> folder_to_analyze;
            DirWalker       dir_walker;

            PROCEDURE_ARGS args = (PROCEDURE_ARGS)parameter;

            folder_to_analyze = new List <FileInfo>();

            if (Directory.Exists(args.path))
            {
                // Verifying if path is a direcotry
                directory_info = new DirectoryInfo(args.path);

                dir_walker = new DirWalker();
                dir_walker.FullDirList(directory_info, "*", folder_to_analyze, null);
                dir_walker = null;
            }
            else if (File.Exists(args.path))
            {
                // Verifying if path is a file
                folder_to_analyze.Add(new FileInfo(args.path));
            }
            else
            {
                // Error
                _Thread = null;
                return;
            }

            foreach (FileInfo fi in folder_to_analyze)
            {
                if ((args.extensions == null) || (args.extensions.Contains(fi.Extension)))
                {
                    // Verify and Generate a file with Doxygen skeleton or generating warning
                    Log.Instance.AppendEvent("Analyzing " + fi.FullName);
                    VerifyAndGenerate(fi.FullName);
                }
            }

            _Thread = null;
        }