# Delta 0.1.0-0-pre.9.fix.1 ## Base Base déclarée : `0.1.0-0-pre.9`, non validée. ## Échecs observés La validation de `0-pre.9` a mis en évidence deux défauts du delta. ### Tests `game-assets-lib` `game_logging_lib::with_test_tracing` attend deux arguments : ```text test_name: &str operation: FnOnce() ``` Les deux tests du resolver ne passaient que la closure. ### Android Gradle AGP 9.4 refuse l'ajout d'un `Provider` via l'ancienne API : ```text android.sourceSets.main.assets.srcDir(...) ``` pour un répertoire généré. Le message AGP demande explicitement l'utilisation de la Variant API et de `SourceDirectories.addGeneratedSourceDirectory`. ## Correctif ### Tests Chaque test passe désormais son nom explicite à `with_test_tracing`. ### Gradle Le staging Android utilise maintenant une tâche Gradle dédiée avec : ```text @InputDirectory commonAssetsDirectory @InputDirectory gameAssetsDirectory @OutputDirectory outputDirectory ``` Pour chaque variante, `androidComponents.onVariants` enregistre : ```text stageSasedevAssets ``` puis relie sa sortie à : ```text variant.sources.assets.addGeneratedSourceDirectory(...) ``` Aucun fallback `android.sourceset.disallowProvider=false` n'est ajouté. ## Validation à exécuter ```bash cargo fmt --all 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 cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test -p game-assets-lib --all-targets --all-features ``` Le staging Desktop de `0-pre.9` était déjà propre et n'a pas changé. Validation Android : ```bash cd Android gradle :game-reflex-poc:assembleDebug gradle :game-snake-poc:assembleDebug cd .. ``` Puis vérifier : ```bash unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep 'assets/common/data/runtime.json' unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep 'assets/game/data/game.json' unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'assets/common/data/runtime.json' unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'assets/game/data/game.json' ``` Et vérifier l'absence d'assets de l'autre jeu : ```bash ! unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep -q 'game-snake-poc' ! unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep -q 'game-reflex-poc' ``` ## Transition Si ces gates sont propres, `0.1.0-0-pre.9.fix.1` est validé et le travail passe automatiquement à `0.1.0-0-pre.10`. En cas d'échec imputable au projet, produire `0.1.0-0-pre.9.fix.2`.