PwSh.Fw.GenericPackageEngine
0.2.0-pre11
Declarative software package definitions engine
See the version list below for details.
Installation Options
Owners
Copyright
(c) 2026 Charles-Antoine Degennes. All rights reserved.
Package Details
Author(s)
- Charles-Antoine Degennes
Tags
Windows Linux MacOS PwSh.Fw packages
Functions
Download-GenericPackageAsset Expand-GenericPackageTargets Find-GenericPackageDefinition Get-GenericPackageAssetInfo Install-GenericPackage Resolve-GenericPackageDefinition Test-GenericPackageDefinition
PSEditions
Dependencies
Release Notes
## [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.
FileList
- PwSh.Fw.GenericPackageEngine.nuspec
- Includes\Download.provider.gitlab.ps1
- Includes\Download.provider.url.ps1
- PwSh.Fw.GenericPackageEngine.psd1
- Includes\Download.provider.webscrapper.ps1
- PwSh.Fw.GenericPackageEngine.psm1
- Includes\Download.provider.github.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.3.0 | 3 | 10/15/2026 |
| 0.3.0-pre35 | 3 | 10/14/2026 |
| 0.3.0-pre34 | 3 | 10/14/2026 |
| 0.3.0-pre33 | 2 | 10/14/2026 |
| 0.3.0-pre32 | 2 | 10/14/2026 |
| 0.3.0-pre31 | 2 | 10/14/2026 |
| 0.3.0-pre20 | 4 | 10/12/2026 |
| 0.3.0-pre19 | 4 | 10/11/2026 |
| 0.3.0-pre18 | 4 | 10/10/2026 |
| 0.2.0 | 12 | 10/9/2026 |
| 0.2.0-pre14 | 5 | 10/9/2026 |
| 0.2.0-pre13 | 5 | 10/7/2026 |
| 0.2.0-pre12 | 5 | 10/6/2026 |
| 0.2.0-pre11 (current version) | 4 | 10/6/2026 |
| 0.2.0-pre10 | 5 | 10/6/2026 |
| 0.1.0 | 20 | 10/5/2026 |
| 0.1.0-pre04 | 5 | 10/5/2026 |