From fa4e2925bd7a0efe4c0e86058c19209f0895613f Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Wed, 16 Sep 2026 09:07:13 +0200 Subject: [PATCH] 0.1.0-0-pre.6-fix.1 --- Android/README.md | 6 +-- Android/common/build.gradle | 4 +- Android/game-reflex-poc/build.gradle | 5 +- Android/game-snake-poc/build.gradle | 5 +- Cargo.toml | 4 +- deltas/0.1.0/0-pre.6.fix.1.md | 68 ++++++++++++++++++++++++++++ 6 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 deltas/0.1.0/0-pre.6.fix.1.md diff --git a/Android/README.md b/Android/README.md index 0ba68a7..250e39f 100644 --- a/Android/README.md +++ b/Android/README.md @@ -1,5 +1,5 @@ - + # Android @@ -14,9 +14,9 @@ Android/ └── game-snake-poc/ ``` -`common` est une Android Library Java qui fournit la frontière commune et dépend de l'AAR officiel SDL3. +`common` est une Android Library Java qui fournit la frontière commune. Elle compile contre l'AAR SDL3 avec une dépendance `compileOnly` afin que son propre AAR reste valide. -Chaque module `game-*` est une application Android indépendante et dépend du module `common`. +Chaque module `game-*` est une application Android indépendante ; il dépend du module `common` et package directement l'AAR SDL3 dans son APK via `implementation`. ## Toolchain de référence diff --git a/Android/common/build.gradle b/Android/common/build.gradle index eff9eee..57deaf4 100644 --- a/Android/common/build.gradle +++ b/Android/common/build.gradle @@ -1,5 +1,5 @@ // file: Android/common/build.gradle -// version: 2 +// version: 3 plugins { id 'com.android.library' @@ -22,5 +22,5 @@ android { } dependencies { - api files("../libs/${sdl3AarName}") + compileOnly files("../libs/${sdl3AarName}") } diff --git a/Android/game-reflex-poc/build.gradle b/Android/game-reflex-poc/build.gradle index 7dd25ac..fc41a62 100644 --- a/Android/game-reflex-poc/build.gradle +++ b/Android/game-reflex-poc/build.gradle @@ -1,10 +1,12 @@ // file: Android/game-reflex-poc/build.gradle -// version: 2 +// version: 3 plugins { id 'com.android.application' } +def sdl3AarName = providers.gradleProperty("sdl3AarName").get() + android { namespace 'com.sasedev.games.reflex' compileSdk 36 @@ -24,5 +26,6 @@ android { } dependencies { + implementation files("../libs/${sdl3AarName}") implementation project(':common') } diff --git a/Android/game-snake-poc/build.gradle b/Android/game-snake-poc/build.gradle index bc68786..f9e3e4c 100644 --- a/Android/game-snake-poc/build.gradle +++ b/Android/game-snake-poc/build.gradle @@ -1,10 +1,12 @@ // file: Android/game-snake-poc/build.gradle -// version: 2 +// version: 3 plugins { id 'com.android.application' } +def sdl3AarName = providers.gradleProperty("sdl3AarName").get() + android { namespace 'com.sasedev.games.snake' compileSdk 36 @@ -24,5 +26,6 @@ android { } dependencies { + implementation files("../libs/${sdl3AarName}") implementation project(':common') } diff --git a/Cargo.toml b/Cargo.toml index 4078aa2..08d7652 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ # file: Cargo.toml -# version: 12 +# version: 13 [workspace] resolver = "3" @@ -15,7 +15,7 @@ members = [ ] [workspace.package] -version = "0.1.0-0-pre.6" +version = "0.1.0-0-pre.6.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/games" diff --git a/deltas/0.1.0/0-pre.6.fix.1.md b/deltas/0.1.0/0-pre.6.fix.1.md new file mode 100644 index 0000000..530494f --- /dev/null +++ b/deltas/0.1.0/0-pre.6.fix.1.md @@ -0,0 +1,68 @@ + + + +# Delta 0.1.0-0-pre.6.fix.1 + +## Base + +Base déclarée : `0.1.0-0-pre.6`, non validée intégralement. + +## Validation du delta précédent + +Les validations Rust et Desktop de `0.1.0-0-pre.6` sont propres : formatage, audits, `cargo check`, Clippy strict, test ciblé `engine-v1-sdl` et les deux smokes Desktop. + +Après configuration de `ANDROID_HOME`, les deux modules applications Android ont produit `BUILD SUCCESSFUL`. Le module `:common` a toutefois échoué sur `:common:bundleDebugAar` avec : + +```text +Direct local .aar file dependencies are not supported when building an AAR. +``` + +`0.1.0-0-pre.6` n'est donc pas considéré entièrement validé. + +## Correctif + +La dépendance SDL3 Android est répartie ainsi : + +```text +:common + compileOnly SDL3 AAR + +:game-reflex-poc + implementation :common + implementation SDL3 AAR + +:game-snake-poc + implementation :common + implementation SDL3 AAR +``` + +`common` compile `SaseGameActivity extends SDLActivity` sans tenter de ré-embarquer l'AAR SDL3 dans son propre AAR. Chaque application package directement SDL3 dans son APK. + +## Validation à exécuter par l'utilisateur + +Aucun fichier Rust n'est modifié par ce fix : + +```bash +cargo fmt --all -- --check +python3 scripts/audit_rust_workspace_rules.py +python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android deltas history +cargo check --workspace +``` + +Puis : + +```bash +cd Android +gradle :common:assembleDebug +gradle :game-reflex-poc:assembleDebug +gradle :game-snake-poc:assembleDebug +cd .. +``` + +Les trois commandes Gradle doivent terminer par `BUILD SUCCESSFUL`. Clippy, tests SDL3 et smokes Desktop ne sont pas à rejouer : ils sont propres sur `0-pre.6` et ce fix ne modifie aucun fichier Rust ni comportement Desktop. + +## Règle de transition + +Si ces validations sont propres, `0.1.0-0-pre.6.fix.1` est validé et le travail passe automatiquement à `0.1.0-0-pre.7`. + +En cas d'échec imputable au projet, produire `0.1.0-0-pre.6.fix.2`.