{
  "java": "/usr/bin/java",
  "kotlinc": "/root/.sdkman/candidates/kotlin/current/bin/kotlinc",
  "python": "/opt/pyvenv/bin/python3",
  "androidSdk": null,
  "adb": null,
  "gradle": null,
  "cmake": "/usr/bin/cmake",
  "ninja": "/usr/bin/ninja",
  "git": "/usr/bin/git",
  "expectedGradle": "9.5.0",
  "expectedCompileSdk": 37,
  "componentsLock": "/mnt/data/ninaplayer_r10/tooling/components.lock.json",
  "androidNdk": null,
  "runtimeAssetGenerated": false,
  "runtimeQuickJsGenerated": false,
  "runtimeFfmpegGenerated": false,
  "shareWebRtcAarGenerated": false,
  "shareProfileConfigured": false,
  "canRunAndroidBuildHere": false
}

+ bash scripts/verify-all.sh
+ [providers] python3 tools/generate_provider_catalog.py --check
provider catalog sync: PASS
  -> providers PASS (1s)
+ [runtime-builder] bash scripts/runtime-builder-smoke.sh
R06 runtime builder plan smoke: PASS
  -> runtime-builder PASS (1s)
+ [share-builder] bash scripts/share-builder-smoke.sh
share profile sync: PASS
share builder smoke: PASS
  -> share-builder PASS (2s)
+ [rendezvous] bash scripts/rendezvous-smoke.sh
rendezvous protocol smoke: PASS
  -> rendezvous PASS (0s)
+ [core] bash scripts/core-smoke.sh
NinaPlayer core smoke: PASS
  -> core PASS (14s)
+ [tree] bash scripts/check-tree.sh
+ [builder] bash scripts/builder-smoke.sh
+ [r02] bash scripts/r02-static-smoke.sh
+ [r03] bash scripts/r03-static-smoke.sh
+ [r04] bash scripts/r04-static-smoke.sh
+ [r05] bash scripts/r05-static-smoke.sh
+ [r06] bash scripts/r06-static-smoke.sh
+ [r07] bash scripts/r07-static-smoke.sh
+ [r08] bash scripts/r08-static-smoke.sh
+ [r09] bash scripts/r09-static-smoke.sh
+ [r10] bash scripts/r10-static-smoke.sh
xml parse: PASS
tree/static checks: PASS
  -> tree PASS
builder diagnostic smoke: PASS
builder false-positive guard: PASS
  -> builder PASS
R02 repository/static smoke: PASS
  -> r02 PASS
R03 player/content-classification static smoke: PASS
  -> r03 PASS
R04 runtime/resolver/catalog static smoke: PASS
  -> r04 PASS
R05 durable download orchestration static smoke: PASS
R05 Python control/checkpoint smoke: PASS
  -> r05 PASS
R06 transcode/publish static smoke: PASS
  -> r06 PASS
R07 static smoke: PASS
  -> r07 PASS
R08 static smoke: PASS
  -> r08 PASS
R09 static smoke: PASS
  -> r09 PASS
R10 static smoke: PASS
  -> r10 PASS
SKIP Android build: Android SDK and/or gradle bootstrap unavailable
NinaPlayer verify-all: PASS
  -> exit=0 elapsed=25.69s
