56 lines
1.5 KiB
PowerShell
56 lines
1.5 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
|
|
$completedBuilds = @()
|
|
|
|
# Get all version properties files
|
|
$versionFiles = Get-ChildItem -Path "./versionProperties/" -Filter "*.properties"
|
|
|
|
foreach ($versionFile in $versionFiles) {
|
|
$version = [System.IO.Path]::GetFileNameWithoutExtension($versionFile.Name)
|
|
|
|
# Initialize result variable
|
|
$result = ""
|
|
|
|
# Run the gradle command
|
|
$gradleCommand = ".\gradlew $($prefix)classes -PmcVer=$version"
|
|
$process = Start-Process -FilePath "cmd.exe" -ArgumentList "/c $gradleCommand" -NoNewWindow -PassThru -Wait
|
|
|
|
if ($process.ExitCode -eq 0) {
|
|
$result += "`e[1;32m"
|
|
} else {
|
|
$result += "`e[1;31m"
|
|
}
|
|
|
|
$result += $version
|
|
$result += "`e[0m"
|
|
|
|
# Print the result with formatting
|
|
$versionLength = $version.Length
|
|
$topChars = ("^" * $versionLength)
|
|
$bottomChars = ("=" * $versionLength)
|
|
|
|
Write-Host "# $topChars"
|
|
Write-Host "# $version"
|
|
Write-Host "# $bottomChars"
|
|
Write-Host "`e[0m"
|
|
|
|
# Add result to completed builds
|
|
$completedBuilds += $result
|
|
}
|
|
|
|
# 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 "`e[1mBuild results:`e[0m"
|
|
Write-Host ($completedBuilds -join " ") |