75 lines
2.8 KiB
Markdown
75 lines
2.8 KiB
Markdown
<!-- file: history/0.3.1/0-pre.2.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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é :
|
|
|
|
```text
|
|
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` :
|
|
|
|
```text
|
|
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 :
|
|
|
|
```text
|
|
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.
|