0.3.3-0-pre.3
This commit is contained in:
51
history/0.3.3/0-pre.1.md
Normal file
51
history/0.3.3/0-pre.1.md
Normal file
@@ -0,0 +1,51 @@
|
||||
<!-- file: history/0.3.3/0-pre.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Historique 0.3.3-0-pre.1
|
||||
|
||||
## Statut
|
||||
|
||||
Le cadrage `0.3.3-0-pre.1` a été validé par l'utilisateur le 2026-09-21. Les audits, le formatage, le check workspace et Clippy strict passent ; aucun `0-pre.1.fix.N` n'est requis avant l'ouverture de `0-pre.2`.
|
||||
|
||||
## Gate utilisateur
|
||||
|
||||
La gate demandée dans le delta a été exécutée avec succès :
|
||||
|
||||
```text
|
||||
General Rust rule audit: clean
|
||||
Rust export completeness audit: 0 candidate(s)
|
||||
games.sasedev workspace audit: clean
|
||||
Markdown table audit: clean (5 table(s), 233 file(s))
|
||||
Distribution layout audit: clean (48 required path(s), 1 forbidden path(s) absent)
|
||||
cargo fmt --all: clean
|
||||
cargo fmt --all -- --check: clean
|
||||
cargo check --workspace: clean
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
||||
```
|
||||
|
||||
Le compte Markdown local est supérieur à celui du ZIP taggé audité pendant `0-pre.1`; l'audit reste propre et aucune divergence de source n'est déduite de ce seul compteur.
|
||||
|
||||
## Environnement Android confirmé
|
||||
|
||||
L'inventaire frais transmis pour ouvrir `0-pre.2` confirme :
|
||||
|
||||
- Rust et Cargo `1.94.1` ;
|
||||
- `cargo-ndk 4.1.2` ;
|
||||
- targets Rust Android installées : `aarch64-linux-android`, `armv7-linux-androideabi`, `i686-linux-android`, `x86_64-linux-android` ;
|
||||
- target WASM `wasm32-unknown-unknown` et host `x86_64-unknown-linux-gnu` installés ;
|
||||
- `JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64` ;
|
||||
- la commande `java` du `PATH` expose Temurin `25.0.4.1`, tandis que Gradle utilise bien le JDK `17.0.20.1` via `JAVA_HOME` pour son launcher et son daemon ;
|
||||
- `ANDROID_HOME=/home/sinus/DEV/AndroidSDK` ;
|
||||
- ADB `37.0.1` ;
|
||||
- Samsung `SM_G965F` réel connecté ;
|
||||
- émulateur x86_64 `emulator-5554` connecté ;
|
||||
- AVD `Medium_Phone`, `Medium_Phone_API_36.0` et `sasedev_games_api36` disponibles ;
|
||||
- Gradle système `9.7.1` ;
|
||||
- NDK projet `28.2.13676358` présent ;
|
||||
- `Android/libs/SDL3-3.4.16.aar` présent avec SHA-256 `03710fc7b49cc070551446841a843840fabf2aaaaa3043cd5739292a55e4e61c`.
|
||||
|
||||
La différence entre `java -version` et `JAVA_HOME` n'est pas un défaut de la gate : le pipeline Gradle doit utiliser le wrapper et le JDK désigné par `JAVA_HOME`, pas dépendre implicitement du premier `java` du `PATH`.
|
||||
|
||||
## Transmission vers 0-pre.2
|
||||
|
||||
Tous les prérequis prévus par le plan sont disponibles pour la preuve mono-ABI Snake : wrapper Gradle épinglable, JDK 17 effectif pour Gradle, r28c, AAR SDL3 attendu, target Rust ARM64 et appareil ARM64 disponible pour une validation ultérieure.
|
||||
87
history/0.3.3/0-pre.2.md
Normal file
87
history/0.3.3/0-pre.2.md
Normal file
@@ -0,0 +1,87 @@
|
||||
<!-- file: history/0.3.3/0-pre.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Historique 0.3.3-0-pre.2
|
||||
|
||||
## Statut
|
||||
|
||||
`0.3.3-0-pre.2` a été validé par l'utilisateur le 2026-09-21. La preuve Snake ARM64 confirme que `assembleDebug` possède désormais le build Rust/SDL3 sans exécution préalable de `scripts/build_android_rust.py`.
|
||||
|
||||
Aucun `0-pre.2.fix.N` n'est requis ; la suite peut ouvrir `0-pre.3`.
|
||||
|
||||
## Gate statique et Rust
|
||||
|
||||
La gate fournie est propre :
|
||||
|
||||
```text
|
||||
General Rust rule audit: clean
|
||||
Rust export completeness audit: 0 candidate(s)
|
||||
games.sasedev workspace audit: clean
|
||||
Markdown table audit: clean (5 table(s), 235 file(s))
|
||||
Distribution layout audit: clean (53 required path(s), 1 forbidden path(s) absent)
|
||||
cargo fmt --all: clean
|
||||
cargo fmt --all -- --check: clean
|
||||
cargo check --workspace: clean
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
|
||||
```
|
||||
|
||||
Le workspace compilé porte bien `0.3.3-0-pre.2` sur les crates concernées.
|
||||
|
||||
## Preuve Gradle/JDK du jalon
|
||||
|
||||
Le wrapper introduit pour cette preuve a été contrôlé avant build :
|
||||
|
||||
```text
|
||||
Gradle Wrapper JAR SHA-256
|
||||
497c8c2a7e5031f6aa847f88104aa80a93532ec32ee17bdb8d1d2f67a194a9c7
|
||||
|
||||
Gradle distribution
|
||||
9.6.0
|
||||
|
||||
Gradle binary ZIP SHA-256
|
||||
bbaeb2fef8710818cf0e261201dab964c572f92b942812df0c3620d62a529a01
|
||||
```
|
||||
|
||||
`./gradlew --version` a téléchargé puis exécuté Gradle `9.6.0`. Pour cette gate, le launcher et le daemon utilisaient Temurin `17.0.20.1` via `JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64`.
|
||||
|
||||
Cette combinaison décrit la preuve `0-pre.2`; elle n'est pas conservée comme contrainte exacte du pipeline natif après la décision de toolchain prise pour `0-pre.3`.
|
||||
|
||||
## Build Snake ARM64
|
||||
|
||||
La commande :
|
||||
|
||||
```text
|
||||
:game-snake-poc:assembleDebug
|
||||
```
|
||||
|
||||
a déclenché `buildDebugSasedevRustArm64V8a`, compilé `game-android-entrypoint` avec `cargo ndk` pour `aarch64-linux-android`, copié les bibliothèques sous `build/generated/sasedevNative/...` et terminé avec :
|
||||
|
||||
```text
|
||||
BUILD SUCCESSFUL
|
||||
54 actionable tasks: 54 executed
|
||||
```
|
||||
|
||||
Aucune commande Python de build natif n'a été exécutée avant Gradle.
|
||||
|
||||
## Inspection APK
|
||||
|
||||
L'artefact produit est :
|
||||
|
||||
```text
|
||||
Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk
|
||||
```
|
||||
|
||||
L'inspection confirme les deux bibliothèques ARM64 attendues :
|
||||
|
||||
```text
|
||||
lib/arm64-v8a/libSDL3.so
|
||||
lib/arm64-v8a/libgame_android_entrypoint.so
|
||||
```
|
||||
|
||||
Aucune bibliothèque `x86_64`, `armeabi-v7a` ou `x86` n'est présente dans cette preuve mono-ABI. Les lignes répétées dans la sortie utilisateur provenaient des deux `grep -Fx` exécutés après le listing initial, pas de doublons internes à l'APK.
|
||||
|
||||
## Transmission vers 0-pre.3
|
||||
|
||||
Le task wiring, l'extraction SDL3, le linkage Rust, le staging `jniLibs` généré et le packaging ARM64 sont donc prouvés. `0-pre.3` peut élargir ce même contrat à `arm64-v8a + x86_64`.
|
||||
|
||||
Après cette validation, la politique toolchain a été révisée explicitement : le projet Android SDL3 natif doit accepter le Gradle système lorsqu'il est `>= 9.6.0` et utiliser le JDK normal de l'environnement, sans `export JAVA_HOME` spécifique au projet. Les contraintes historiques du POC Tauri restent séparées.
|
||||
Reference in New Issue
Block a user