0.1.0-0-pre.6-fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: Android/README.md -->
|
||||
<!-- version: 2 -->
|
||||
<!-- version: 3 -->
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
@@ -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}")
|
||||
}
|
||||
|
||||
@@ -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')
|
||||
}
|
||||
|
||||
@@ -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')
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
68
deltas/0.1.0/0-pre.6.fix.1.md
Normal file
68
deltas/0.1.0/0-pre.6.fix.1.md
Normal file
@@ -0,0 +1,68 @@
|
||||
<!-- file: deltas/0.1.0/0-pre.6.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user