Skip to content

Commit

Permalink
Add support for running all aoc days
Browse files Browse the repository at this point in the history
  • Loading branch information
vipentti committed Dec 30, 2023
1 parent 2f7d412 commit 5c77614
Showing 1 changed file with 60 additions and 10 deletions.
70 changes: 60 additions & 10 deletions aoc2023.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
param (
[switch] $Release,
[switch] $Full,
[switch] $All,
[switch] $NoBuild,
[ValidateSet(
"day1", "day2", "day3", "day4", "day5", "day6", "day7", "day8", "day9"
Expand All @@ -17,19 +18,68 @@ function ExecSafe([scriptblock] $cmd) {
if ($LASTEXITCODE) { exit $LASTEXITCODE }
}

$AllDays = @(
"day1", "day2", "day3", "day4", "day5", "day6", "day7", "day8", "day9"
, "day10", "day11", "day12", "day13", "day14", "day15", "day16"
, "day17", "day18", "day19", "day20", "day21", "day22"
, "day23", "day24", "day25"
)

$root = $PSScriptRoot
$cliScript = Join-Path -Path $root -ChildPath "cli.ps1" -Resolve

$cliArgs = @(
"./visp/examples/aoc2023/$Day.visp"
)
if ($Full) {
$cliArgs += "full"
}
if ($Release) {
$cliArgs += "--release"
if ($All) {
$NoBuild = $false

$SelectedDays = $AllDays

if ($Day) {
$SelectedDays = @()
$DidFind = $false
foreach ($ad in $AllDays) {
if ($ad -eq $Day) {
$DidFind = $true
$SelectedDays += $ad
}
elseif ($DidFind) {
$SelectedDays += $ad
}
}
}

foreach ($ad in $SelectedDays) {
$cliArgs = @(
"./visp/examples/aoc2023/$ad.visp"
)
if ($Full) {
$cliArgs += "full"
}
if ($Release) {
$cliArgs += "--release"
}

Write-Host "Running: $ad"

ExecSafe {
& $cliScript -NoBuild:$NoBuild @cliArgs
}

$NoBuild = $true
}
}
else {
$cliArgs = @(
"./visp/examples/aoc2023/$Day.visp"
)
if ($Full) {
$cliArgs += "full"
}
if ($Release) {
$cliArgs += "--release"
}

ExecSafe {
& $cliScript -NoBuild:$NoBuild @cliArgs
ExecSafe {
& $cliScript -NoBuild:$NoBuild @cliArgs
}
}

0 comments on commit 5c77614

Please sign in to comment.