Files
games/deltas/0.1.0/0-pre.9.fix.1.md

2.9 KiB

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 :

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<Directory> via l'ancienne API :

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 :

@InputDirectory commonAssetsDirectory
@InputDirectory gameAssetsDirectory
@OutputDirectory outputDirectory

Pour chaque variante, androidComponents.onVariants enregistre :

stage<Variant>SasedevAssets

puis relie sa sortie à :

variant.sources.assets.addGeneratedSourceDirectory(...)

Aucun fallback android.sourceset.disallowProvider=false n'est ajouté.

Validation à exécuter

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 :

cd Android

gradle :game-reflex-poc:assembleDebug
gradle :game-snake-poc:assembleDebug

cd ..

Puis vérifier :

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 :

! 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.