Inheritance: IReportRecord
コード例 #1
0
 private void ValidateHelpMarkdown(string helpFolder, IList <string> helpRecords, ReportLogger <HelpIssue> helpLogger)
 {
     foreach (var helpMarkdown in helpRecords)
     {
         var file    = Path.Combine(helpFolder, helpMarkdown + ".md");
         var content = File.ReadAllText(file);
         try
         {
             var parser        = new MarkdownParser();
             var transformer   = new ModelTransformerVersion2();
             var markdownModel = parser.ParseString(new[] { content });
             var model         = transformer.NodeModelToMamlModel(markdownModel).FirstOrDefault();
         }
         catch (Exception ex)
         {
             HelpIssue issue = new HelpIssue
             {
                 Target      = helpMarkdown,
                 Severity    = 1,
                 ProblemId   = PlatyPSSchemaViolation,
                 Description = "Help content doesn't conform to PlatyPS Schema definition",
                 Remediation = string.Format("No.")
             };
             helpLogger.LogRecord(issue);
             Console.Error.WriteLine($"Failed to parse {file} by PlatyPS, {ex.Message}");
         }
     }
 }
コード例 #2
0
        private void ValidateHelpRecords(IList <CmdletMetadata> cmdlets, IList <string> helpRecords,
                                         ReportLogger <HelpIssue> helpLogger)
        {
            var cmdletDict = new Dictionary <string, CmdletMetadata>();

            foreach (var cmdlet in cmdlets)
            {
                cmdletDict.Add(cmdlet.Name, cmdlet);
                if (!helpRecords.Contains(cmdlet.Name, StringComparer.OrdinalIgnoreCase))
                {
                    HelpIssue issue = new HelpIssue
                    {
                        Target      = cmdlet.ClassName,
                        Severity    = 1,
                        ProblemId   = MissingHelp,
                        Remediation = string.Format("Add Help record for cmdlet {0} to help file.", cmdlet.Name)
                    };
                    if (cmdlet.ClassName != null)
                    {
                        issue.Description = $"Help missing for cmdlet {cmdlet.Name} implemented by class {cmdlet.ClassName}";
                    }
                    else
                    {
                        issue.Description = $"Help missing for cmdlet {cmdlet.Name} implemented by functions";
                    }
                    helpLogger.LogRecord(issue);
                }
            }

            foreach (var helpRecord in helpRecords)
            {
                if (!cmdletDict.ContainsKey(helpRecord))
                {
                    Console.Error.WriteLine($"Help record {helpRecord} has no cmdlet.");
                }
            }
        }