PwSh.Fw.GenericPackageEngine.psd1
|
# # Manifeste du module « PSGet_PwSh.Fw.GenericPackageEngine » # # Généré par : Charles-Antoine Degennes # # Généré le : 06/10/2026 # @{ # Module de script ou fichier de module binaire associé à ce manifeste. RootModule = 'PwSh.Fw.GenericPackageEngine.psm1' # Numéro de version de ce module. ModuleVersion = '0.2.0' # Éditions PowerShell prises en charge # CompatiblePSEditions = @() # ID utilisé pour identifier ce module de manière unique GUID = 'cae5d432-e008-4885-9f8b-7e06ed0293b3' # Auteur de ce module Author = 'Charles-Antoine Degennes' # Société ou fournisseur de ce module CompanyName = 'Inconnu' # Déclaration de copyright pour ce module Copyright = '(c) 2026 Charles-Antoine Degennes. All rights reserved.' # Description de la fonctionnalité fournie par ce module Description = 'Declarative software package definitions engine' # Version minimale du moteur PowerShell requise par ce module # PowerShellVersion = '' # Nom de l’hôte PowerShell requis par ce module # PowerShellHostName = '' # Version minimale de l’hôte PowerShell requis par ce module # PowerShellHostVersion = '' # Version minimale de Microsoft .NET Framework requise par ce module. Cette condition préalable est valide uniquement pour l’édition PowerShell Desktop. # DotNetFrameworkVersion = '' # Version minimale du CLR (Common Language Runtime) requise par ce module. Cette condition préalable est valide uniquement pour l’édition PowerShell Desktop. # ClrVersion = '' # Architecture du processeur (None, X86, Amd64) requise par ce module # ProcessorArchitecture = '' # Modules qui doivent être importés dans l’environnement global avant l’importation de ce module RequiredModules = @('PowershellForGithub', 'powershell-yaml', 'psmustache', 'PwSh.Fw.Core', 'PwSh.Fw.Web') # Assemblys qui doivent être chargés avant l’importation de ce module # RequiredAssemblies = @() # Fichiers de script (.ps1) exécutés dans l’environnement de l’appelant avant l’importation de ce module. # ScriptsToProcess = @() # Fichiers de type (.ps1xml) à charger lors de l’importation de ce module # TypesToProcess = @() # Fichiers de format (.ps1xml) à charger lors de l’importation de ce module # FormatsToProcess = @() # Modules à importer en tant que modules imbriqués du module spécifié dans RootModule/ModuleToProcess # NestedModules = @() # Fonctions à exporter à partir de ce module. Pour de meilleures performances, n’utilisez pas de caractères génériques et ne supprimez pas l’entrée. Utilisez un tableau vide s’il n’y a aucune fonction à exporter. FunctionsToExport = 'Download-GenericPackageAsset', 'Expand-GenericPackageTargets', 'Find-GenericPackageDefinition', 'Get-GenericPackageAssetInfo', 'Install-GenericPackage', 'Resolve-GenericPackageDefinition', 'Test-GenericPackageDefinition' # Cmdlets à exporter à partir de ce module. Pour de meilleures performances, n’utilisez pas de caractères génériques et ne supprimez pas l’entrée. Utilisez un tableau vide s’il n’y a aucune cmdlet à exporter. CmdletsToExport = '*' # Variables à exporter depuis ce module VariablesToExport = '*' # Les alias à exporter à partir de ce module. Pour de meilleures performances, n’utilisez pas de caractères génériques et ne supprimez pas l’entrée. Utilisez un tableau vide s’il n’y a aucun alias à exporter. AliasesToExport = @() # Ressources DSC à exporter depuis ce module # DscResourcesToExport = @() # Liste de tous les modules empaquetés avec ce module # ModuleList = @() # Liste de tous les fichiers empaquetés avec ce module # FileList = @() # Données privées à transmettre au module spécifié dans RootModule/ModuleToProcess. Cela peut également contenir une table de hachage PSData avec des métadonnées de module supplémentaires utilisées par PowerShell. PrivateData = @{ PSData = @{ # Tags applied to this module. These help with module discovery in online galleries. Tags = 'PSEdition_Core','Windows','Linux','MacOS','PwSh.Fw','packages' # A URL to the license for this module. LicenseUri = 'https://gitlab.com/pwsh.fw/pwsh.fw.genericpackage/raw/master/LICENSE' # A URL to the main website for this project. # ProjectUri = '' # A URL to an icon representing this module. # IconUri = '' # ReleaseNotes of this module ReleaseNotes = '## [unreleased] ### Added - `-ResolveLatest` switch on `Resolve-GenericPackageDefinition` : replaces a `latest` version with the concrete value found at the provider before the definition is returned (github/gitlab : latest release tag, webscrapper : highest `(?<ver>)` capture among the page links, url : version-like token in the URL path, gitlab-artifact : the ref when it looks like a version), so `{{ VERSION }}` renders the real number everywhere, including in pre-install checks. Normalization strips a single leading `v`/`V` and keeps distro suffixes (`1.2.3-deb-1`). API-backed providers fail in the Resolve phase when no version can be produced ; url / gitlab-artifact keep the literal token when nothing can be derived locally. `Install-GenericPackage` always passes the switch ; `Expand-GenericPackageTargets` does not (offline CI matrix). - `check` keyword : optional boolean expression over the destination path, evaluated twice per target by `Install-GenericPackage` — before download (true = package already installed → pipeline skipped, `Status=Success`, `Skipped=$true`) and after upload (must be true, otherwise `Status=Failed`, `Phase=''Check''`). Nodes : `and` / `or` (≥ 2 children), `not` (one child), `file-exists` (leaf : `path` relative to `-DestinationPath`, `type: file|dir|any`). A target-level block replaces the global one ; the block is preserved in the resolved definition. Structural problems evaluate to false (fail-closed) so a broken check can never skip an installation. `Test-GenericPackageDefinition` validates the expression structure and warns when it relies on `{{ ASSET }}` (only available after the download phase). - `Install-GenericPackage` parameters : - `-Force` : continue the pipeline even when the pre-check passes (the post-check still runs) ; - `-NoCheck` : skip both check phases. ' # Prerelease string of this module Prerelease = 'pre10' # Flag to indicate whether the module requires explicit user acceptance for install/update/save # RequireLicenseAcceptance = $false # External dependent modules of this module # ExternalModuleDependencies = @() } # End of PSData hashtable } # End of PrivateData hashtable # URI HelpInfo de ce module # HelpInfoURI = '' # Préfixe par défaut des commandes exportées à partir de ce module. Remplacez le préfixe par défaut à l’aide de Import-Module -Prefix. # DefaultCommandPrefix = '' } |