0.3.1-0-pre.2.fix.2
This commit is contained in:
@@ -1,74 +0,0 @@
|
||||
<!-- 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.
|
||||
Reference in New Issue
Block a user