Files
distant-horizons-sharded/testScripts/verifyall.ps1
2024-09-10 06:52:21 -05:00

58 lines
1.7 KiB
PowerShell

# Usage: .\verifyall.ps1 [forge|fabric|whatever to put before ":classes"]
param (
[string]$prefix
)
# Clear the screen
Clear-Host
# Define an array to hold completed builds with color information
$completedBuilds = @()
# Get all version properties files
$versionFiles = Get-ChildItem -Path "./versionProperties/" -Filter "*.properties"
foreach ($versionFile in $versionFiles) {
$version = [System.IO.Path]::GetFileNameWithoutExtension($versionFile.Name)
# Run the gradle command
$gradleCommand = ".\gradlew $($prefix)classes -PmcVer=$version"
$process = Start-Process -FilePath "cmd.exe" -ArgumentList "/c $gradleCommand" -NoNewWindow -PassThru -Wait
# Determine the result color
if ($process.ExitCode -eq 0) {
$color = "Green"
} else {
$color = "Red"
}
# Print the result with formatting
$versionLength = $version.Length
$topChars = ("^" * $versionLength)
$bottomChars = ("=" * $versionLength)
Write-Host "# $topChars" -ForegroundColor $color
Write-Host "# $version" -ForegroundColor $color
Write-Host "# $bottomChars" -ForegroundColor $color
Write-Host
# Add result to completed builds with color
$completedBuilds += @{ Version = $version; Color = $color }
}
# Run clean and classes gradle tasks
Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\gradlew clean" -NoNewWindow -Wait
Start-Process -FilePath "cmd.exe" -ArgumentList "/c .\gradlew classes" -NoNewWindow -Wait
# Print build results
Write-Host
Write-Host "Build results:"
foreach ($build in $completedBuilds) {
Write-Host $build.Version -ForegroundColor $build.Color -NoNewline
Write-Host " " -NoNewline # Add a space between versions
}
Write-Host # End the line after all versions are printed