Utiliser les fonctions Dumplings
Contexte d'exécution
Exécutez ces fonctions de module avec PowerShell 7.4 ou ultérieur (pwsh). PackageModule et Core ne prennent pas en charge Windows PowerShell 5.1.
Core charge PackageModule et les modules PowerShell déclarés dans Preference.yaml avant d'exécuter les scripts de tâches. N'ajoutez pas d'appels Import-Module dans Tasks/*/Script.ps1.
Dans un shell de dépôt autonome, chargez les modules externes requis et PackageModule.
Import-Module PowerHTML, powershell-yaml -ErrorAction Stop
. .\Modules\PackageModule\Index.ps1
Utilisez Get-Command <Nom> -Syntax pour vérifier les paramètres lorsqu'un exemple de tâche ancien diffère des métadonnées actuelles. Les fonctions peuvent dépendre d'autres fichiers PackageModule chargés. Réutilisez-les plutôt que de copier leurs implémentations.
Les importations normales réutilisent les modules d'implémentation. Pendant le développement, rechargez les sources modifiées avec . .\Modules\PackageModule\Index.ps1 -Reload. Utilisez Copy-Object pour la copie de données et Test-ObjectValueEqual pour l'égalité structurelle. La copie conserve les dates, les blocs de script, les valeurs nulles explicites et les tableaux vides imbriqués. Les ressources .NET jetables ne peuvent pas être clonées.
Groupes de fonctions
- Lisez mise en réseau pour les appels à l'API GitHub, la composition d'URI, les redirections, les en-têtes, le décodage des réponses et le JSON intégré.
- Lisez fichiers et archives pour les téléchargements en cache, les chemins temporaires et l'extraction d'archives limitée.
- Lisez contenu et données pour la normalisation de texte, la projection de texte HTML, les encodages, la conversion INI/XML, les listes et la conversion temporelle.
- Lisez flux de mise à jour pour les chaînes de flux Squirrel et electron-builder déjà récupérées par l'appelant.
- Lisez accès navigateur pour les baux Playwright limités et les résultats de navigateur détachés.
- Lisez modules externes pour les commandes PowerHTML et powershell-yaml.
Lisez uniquement les groupes nécessaires à l'opération en cours. Utilisez $analyze-winget-installer pour les API d'analyse propres à une famille, $author-winget-manifest pour les champs de manifest et $author-dumplings-task pour le cycle de vie des tâches et les recettes de sources.
Règles d'utilisation
Réutilisez les helpers partagés et respectez leurs contrats de possession et de nettoyage. Enregistrez les téléchargements d'installateurs PackageTask dans $this.InstallerFiles. Les appelants autonomes sont propriétaires des ressources temporaires, sauf indication contraire de la fonction.
Pour les sources de paquets sans version, privilégiez le workflow CheckInstallerUpdates/CompleteInstallerUpdates de PackageTask plutôt que de composer vous-même les sondes, les hachages et les branches de publication. Lisez le contrat de tâche sans version pour les validateurs, les remplacements par entrée, la propriété des rappels et les correspondances d'états hérités. Ces méthodes enregistrent automatiquement les téléchargements et conservent les preuves de hachage vérifiées.
Gardez les baux de navigateur courts et retournez des valeurs détachées. Ne conservez jamais d'objets page, locator, réponse ou navigateur après le retour d'un helper limité. N'exécutez jamais un installateur téléchargé sur l'hôte.