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 = ''

}