PowerShell / PowerShell/PSScriptAnalyzer

New Rule Suggestion: Validate ps1xml Schema

未关闭
#1,234 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Up-for-Grabs
主要语言
C#
星标
2.2k
派生
414
平均合并
13 小时 1 分钟
30 天内合并 PR
2

描述

*.Format.ps1xml and *.Types.ps1xml have a XSD now. This can be used to create a rule to validate types and format XML schema.

In my build scripts I have the following code to validate ps1xml files.

$ps1xmlFiles = Get-ChildItem -Path $modulePath -Filter *.ps1xml

foreach ($ps1xml in $ps1xmlFiles) {
    [xml]$xml = Get-Content -Path $ps1xml.FullName
    $null = $xml.Schemas.Add($null, 'https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd')
    $null = $xml.Schemas.Add($null, 'https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd')
    $xml.Validate( { throw "File '$($ps1xml.Name)' schema error: $($_.Message)" })
}

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从提议的 PowerShell 验证代码片段以及所引用的 Format.xsd 和 Types.xsd 架构开始。查看 PSScriptAnalyzer 规则如何发现并报告问题,然后确认该规则同时处理 *.Format.ps1xml 和 *.Types.ps1xml 文件并报告架构错误;如果有可用的相关规则测试,请添加或运行它们。

由索引模型根据 Issue 内容生成。

评估

技术栈
powershell, xml
领域
tooling
Issue 类型
功能
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。