0.3.3-0-pre.3
This commit is contained in:
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