param([string]$JarPath = "target/scrape-ui-1.0-SNAPSHOT.jar") Add-Type -AssemblyName System.IO.Compression.FileSystem $jarFile = Get-ChildItem $JarPath | Select-Object -First 1 if (-not $jarFile) { Write-Host "āŒ No JAR file found at: $JarPath" -ForegroundColor Red Write-Host "šŸ“ Available JAR files:" -ForegroundColor Yellow Get-ChildItem "target/*.jar" | ForEach-Object { Write-Host " - $($_.Name)" } exit 1 } Write-Host "šŸ” Examining JAR: $($jarFile.Name)" -ForegroundColor Cyan Write-Host "Size: $([math]::Round($jarFile.Length/1MB, 2)) MB`n" $zip = [System.IO.Compression.ZipFile]::OpenRead($jarFile.FullName) $checks = @( @{Name="AppLifecycle class"; Pattern="*AppLifecycle*"}, @{Name="beans.xml"; Pattern="*beans.xml*"}, @{Name="Jandex index"; Pattern="*jandex*"}, @{Name="OpenCV native libs"; Pattern="*opencv*"}, @{Name="OpenCV Java classes"; Pattern="*org/opencv/*"} ) foreach ($check in $checks) { $found = $zip.Entries | Where-Object { $_.FullName -like $check.Pattern } | Select-Object -First 1 if ($found) { Write-Host "āœ… $($check.Name): FOUND ($($found.FullName))" -ForegroundColor Green } else { Write-Host "āŒ $($check.Name): NOT FOUND" -ForegroundColor Red } } # Count total entries Write-Host "`nšŸ“Š Total entries in JAR: $($zip.Entries.Count)" $zip.Dispose()