55 lines
1.9 KiB
PowerShell
55 lines
1.9 KiB
PowerShell
[CmdletBinding()]
|
|
param(
|
|
[switch]$DryRun,
|
|
[string]$MavenCommand = "mvn"
|
|
)
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$repoRoot = (Resolve-Path (Join-Path $PSScriptRoot "..")).Path
|
|
$pom = Join-Path $repoRoot "pom.xml"
|
|
$requiredTests = @(
|
|
"firstleg/src/test/java/com/baiyue/firstleg/oceanbooking/controller/PlatformOceanBookingControllerContractTest.java",
|
|
"firstleg/src/test/java/com/baiyue/firstleg/oceanbooking/service/OceanBookingServiceTest.java",
|
|
"firstleg/src/test/java/com/baiyue/firstleg/repository/TruckAppointmentMapperContractTest.java",
|
|
"firstleg/src/test/java/com/baiyue/firstleg/service/TruckAppointmentServiceTest.java",
|
|
"firstleg/src/test/java/com/baiyue/firstleg/controller/TruckAppointmentControllerContractTest.java",
|
|
"firstleg/src/test/java/com/baiyue/firstleg/service/UnifiedInboundQueryServiceTest.java",
|
|
"order/src/test/java/com/baiyue/order/service/UnifiedOrderQueryServiceTest.java"
|
|
)
|
|
$mavenArgs = @("-f", $pom, "-pl", "order,firstleg", "-am", "test")
|
|
|
|
Write-Host "Backend regression root: $repoRoot"
|
|
Write-Host "Scope: order + firstleg Maven reactor (includes all module tests)"
|
|
Write-Host "Database/API access: none"
|
|
|
|
if (-not (Test-Path -LiteralPath $pom)) {
|
|
Write-Error "Missing Maven pom: $pom"
|
|
exit 2
|
|
}
|
|
|
|
$missing = @($requiredTests | Where-Object { -not (Test-Path -LiteralPath (Join-Path $repoRoot $_)) })
|
|
if ($missing.Count -gt 0) {
|
|
Write-Error ("Missing required regression coverage:`n" + ($missing -join "`n"))
|
|
exit 2
|
|
}
|
|
|
|
Write-Host ("Command: {0} {1}" -f $MavenCommand, ($mavenArgs -join " "))
|
|
if ($DryRun) {
|
|
Write-Host "DRY-RUN PASS: prerequisites and coverage files are present; Maven was not started."
|
|
exit 0
|
|
}
|
|
|
|
Push-Location $repoRoot
|
|
try {
|
|
& $MavenCommand @mavenArgs
|
|
$code = $LASTEXITCODE
|
|
} finally {
|
|
Pop-Location
|
|
}
|
|
if ($code -ne 0) {
|
|
Write-Error "Maven regression failed with exit code $code"
|
|
exit $code
|
|
}
|
|
Write-Host "Backend regression PASS"
|
|
exit 0
|