Codegen: доставить rustfmt для 1.75 + проверять dart-сторону моста

flutter_rust_bridge_codegen крэшился на rustfmt (нет в 1.75) ПОСЛЕ
rust-моста, но ДО generated_bridge.dart/.freezed.dart -> flutter build
падал EventToUI_*/RustdeskImpl isn't a type. Ставим rustfmt в override,
проверяем наличие dart+freezed, а не только bridge_generated.rs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 15:19:52 +03:00
parent 08321338d9
commit 040406883f
2 changed files with 13 additions and 3 deletions
+9 -3
View File
@@ -82,7 +82,10 @@ if (-not (Test-Path $src)) {
git -C $src checkout -- .
git -C $src submodule foreach --recursive 'git checkout -- .'
}
Push-Location $src; rustup override set $pins['RUST_VERSION'] | Out-Null; Pop-Location
Push-Location $src
rustup override set $pins['RUST_VERSION'] | Out-Null
rustup component add rustfmt --toolchain "$($pins['RUST_VERSION'])-x86_64-pc-windows-msvc" | Out-Null # codegen зовёт rustfmt
Pop-Location
# --- preconfigure: вшить сервер+ключ ---
Write-Host "Preconfigure (сервер+ключ)..." -ForegroundColor Cyan
@@ -108,8 +111,11 @@ if (-not (Test-Path $frb)) {
}
Push-Location flutter; flutter pub get; Pop-Location
& $frb --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
if (-not (Test-Path 'src/bridge_generated.rs')) { Pop-Location; throw "codegen не создал src/bridge_generated.rs" }
Write-Host " bridge_generated.rs создан." -ForegroundColor Green
$frbRc = $LASTEXITCODE
# Проверяем ОБЕ стороны: rust + dart (+ freezed). rust-файл создаётся до dart, поэтому одного его мало.
$genOk = ($frbRc -eq 0) -and (Test-Path 'src/bridge_generated.rs') -and (Test-Path 'flutter/lib/generated_bridge.dart') -and (Test-Path 'flutter/lib/generated_bridge.freezed.dart')
if (-not $genOk) { Pop-Location; throw "codegen неполный (rc=$frbRc): нет dart-моста generated_bridge(.freezed).dart" }
Write-Host " bridge_generated.rs + generated_bridge.dart + .freezed.dart созданы." -ForegroundColor Green
Pop-Location
# --- vcpkg install (манифест из vcpkg.json; первый раз долго: ffmpeg/aom) ---