Files
games/history/0.3.1/0-pre.2.md

2.8 KiB

Historique 0.3.1-0-pre.2

Statut

Gate utilisateur exécutée le 2026-09-20 : validation partielle, 0.3.1-0-pre.2.fix.1 requis avant toute progression vers 0-pre.3.

Résultats propres

Les contrôles suivants passent sur 0-pre.2 :

General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean
Distribution layout audit: clean
cargo fmt --all: clean
cargo fmt --all -- --check: clean
cargo check --workspace: terminé avec un warning build.rs
cargo test -p game-snake-poc-wasm --all-targets --all-features: 5 passed
cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown: clean
wasm-bindgen: clean
Web/game-snake-poc npm install + npm run build: clean
crates/apps/game-snake-poc-tauri npm install: clean
cargo tauri android init: succès

Le build Web direct reste donc non régressé et l'initialisation Android Tauri produit correctement le projet Android local.

Défaut Rust

cargo clippy --workspace --all-targets --all-features -- -D warnings échoue sur :

crates/apps/game-snake-poc-tauri/build.rs
missing documentation for the crate

Pendant la compilation Android, le macro tauri::mobile_entry_point révèle également un unused_must_use parce que le point d'entrée annoté retourne Result<(), String>. Le fix sépare le wrapper mobile () de l'exécution interne retournant Result afin de conserver la propagation d'erreur sur Desktop sans laisser le point d'entrée Android ignorer implicitement le résultat.

Défaut Gradle / Java

La CLI Tauri 2.11.3 sélectionne correctement le NDK side-by-side installé :

Using installed NDK: .../AndroidSDK/ndk/30.0.14904198

Elle injecte ensuite elle-même NDK_HOME dans le sous-processus Android. L'absence de NDK_HOME dans l'environnement utilisateur n'est donc pas la cause du défaut.

cargo tauri android dev échoue plus tard lorsque le wrapper généré télécharge Gradle 8.14.3 puis l'exécute avec OpenJDK 25.0.4.1 :

Unsupported class file major version 69

Le Gradle global présent dans le PATH n'est pas utilisé, puisque Tauri lance gen/android/gradlew.

Direction du fix

Le correctif suit la migration Android déjà retenue upstream par Tauri :

Gradle 9.6.1
Android Gradle Plugin 9.3.1
Kotlin Gradle Plugin 2.2.10

Le scaffold gen/android reste généré et ignoré. Un hook Node idempotent adapte le projet généré avant les hooks WASM/Vite, y compris les usages Gradle 9 supprimés dans buildSrc. Le build script Rust adapte après tauri_build::build() le bridge Gradle généré par tauri-build 2.6.3.

Aucun gameplay, Canvas, input, asset ou lifecycle de 0-pre.3 n'est ouvert par ce fix.