Skip to content

Commit

Permalink
Update-Pog: Skip frozen packages by default
Browse files Browse the repository at this point in the history
  • Loading branch information
MatejKafka committed Jan 20, 2025
1 parent f961de3 commit 3a5ae4d
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
7 changes: 5 additions & 2 deletions app/Pog/Pog.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,13 @@ function Update-Pog {
[switch]
$ManifestCheck,
[switch]
$Force
$Force,
### If passed, only update frozen packages, which are otherwise ignored.
[switch]
$Frozen
)

$ImportedPackages = Get-Pog $PackageName | ? {$_.Version -and $_.ManifestName}
$ImportedPackages = Get-Pog $PackageName | ? {$_.Version -and $_.ManifestName -and $_.UserManifest.Frozen -eq $Frozen}

$RepositoryPackageMap = @{}
$ImportedPackages | % ManifestName `
Expand Down
7 changes: 7 additions & 0 deletions app/Pog/lib_compiled/Pog/src/Pog.PackageUserManifest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ namespace Pog;
public record PackageUserManifest {
public readonly string Path;

/// Indicates whether this package should be updated by `Update-Pog`.
public readonly bool Frozen = false;

public PackageUserManifest(string userManifestPath) {
InstrumentationCounter.UserManifestLoads.Increment();

Expand All @@ -23,6 +26,10 @@ public PackageUserManifest(string userManifestPath) {
// parse the raw manifest into properties on this object
var parser = new HashtableParser(raw);

if (parser.ParseScalar<bool>("Frozen", false) is {} frozen) {
Frozen = frozen;
}

if (parser.HasIssues) {
throw new InvalidPackageManifestStructureException(userManifestPath, parser.Issues);
}
Expand Down

0 comments on commit 3a5ae4d

Please sign in to comment.