PowerShell / PowerShell/PSScriptAnalyzer

New Rule Suggestion: Validate ps1xml Schema

Aberta
#1,234 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Up-for-Grabs
Linguagem predominante
C#
Estrelas
2.2k
Forks
415
Merge médio
13h 1min
PRs com merge (30d)
2

Descrição

*.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)" })
}

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece com o snippet de validação do PowerShell proposto e os esquemas referenciados Format.xsd e Types.xsd. Revise como as regras do PSScriptAnalyzer descobrem e relatam problemas e, em seguida, confirme que a regra lida com arquivos *.Format.ps1xml e *.Types.ps1xml e relata erros de esquema; adicione ou execute testes relevantes da regra, se disponíveis.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
powershell, xml
Domínio
tooling
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.