Usar funções Dumplings
Contexto de execução
Execute estas funções de módulo com PowerShell 7.4 ou posterior (pwsh). PackageModule e Core não suportam Windows PowerShell 5.1.
Core carrega PackageModule e os módulos PowerShell declarados em Preference.yaml antes de executar scripts de tarefa. Não adicione chamadas Import-Module a Tasks/*/Script.ps1.
Em um shell de repositório independente, carregue os módulos externos necessários e PackageModule.
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
Use Get-Command <Nome> -Syntax para verificar parâmetros quando um exemplo de tarefa antigo diferir dos metadados atuais. Funções podem depender de outros arquivos carregados do PackageModule. Reutilize-os em vez de copiar suas implementações.
Importações normais reutilizam módulos de implementação. Durante o desenvolvimento, recarregue a fonte alterada com . .\Modules\PackageModule\Index.ps1 -Reload. Use Copy-Object para cópia de dados e Test-ObjectValueEqual para igualdade estrutural. A cópia preserva datas, blocos de script, nulos explícitos e arrays vazios aninhados. Recursos .NET descartáveis não podem ser clonados.
Grupos de funções
- Leia rede para chamadas à API do GitHub, composição de URI, redirecionamentos, cabeçalhos, decodificação de respostas e JSON embutido.
- Leia arquivos e arquivos compactados para downloads em cache, caminhos temporários e extração limitada de arquivos compactados.
- Leia conteúdo e dados para normalização de texto, projeção de texto HTML, codificações, conversão INI/XML, listas e conversão de tempo.
- Leia feeds de atualização para strings de feed Squirrel e electron-builder já recuperadas pelo chamador.
- Leia acesso ao navegador para leases escopados do Playwright e resultados de navegador desanexados.
- Leia módulos externos para comandos PowerHTML e powershell-yaml.
Leia apenas os grupos necessários para a operação atual. Use $analyze-winget-installer para APIs de análise específicas de família, $author-winget-manifest para campos de manifesto e $author-dumplings-task para ciclo de vida de tarefa e receitas de fonte.
Regras de uso
Reutilize auxiliares compartilhados e siga seus contratos de ownership e descarte. Registre downloads de instalador do PackageTask em $this.InstallerFiles. Chamadores independentes são responsáveis por recursos temporários, a menos que a função indique o contrário.
Para fontes de pacote sem versão, prefira o fluxo de trabalho CheckInstallerUpdates/CompleteInstallerUpdates do PackageTask em vez de compor sondagens, hashes e branches de publicação você mesmo. Leia o contrato de tarefa sem versão para validadores, substituições por entrada, ownership de retorno de chamada e mapeamentos de estado legado. Esses métodos registram downloads e retêm evidências de hash verificadas automaticamente.
Mantenha leases de navegador curtos e retorne valores desanexados. Nunca retenha objetos de página, localizador, resposta ou navegador após um auxiliar escopado retornar. Nunca execute um instalador baixado no host.