0.1.0-2-beta.1.fix.2
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-reflex-poc/build.gradle
|
||||
// version: 18
|
||||
// version: 19
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 1
|
||||
versionName '0.1.0-2-beta.1.fix.1'
|
||||
versionName '0.1.0-2-beta.1.fix.2'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-snake-poc/build.gradle
|
||||
// version: 18
|
||||
// version: 19
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 1
|
||||
versionName '0.1.0-2-beta.1.fix.1'
|
||||
versionName '0.1.0-2-beta.1.fix.2'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
@@ -19,7 +19,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.1.0-2-beta.1.fix.1"
|
||||
version = "0.1.0-2-beta.1.fix.2"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/games"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "game-reflex-poc-tauri",
|
||||
"private": true,
|
||||
"version": "0.1.0-2-beta.1.fix.1",
|
||||
"version": "0.1.0-2-beta.1.fix.2",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://schema.tauri.app/config/2",
|
||||
"productName": "Reflex POC Tauri",
|
||||
"version": "0.1.0-2-beta.1.fix.1",
|
||||
"version": "0.1.0-2-beta.1.fix.2",
|
||||
"identifier": "com.sasedev.games.reflex.tauri",
|
||||
"build": {
|
||||
"beforeDevCommand": {
|
||||
@@ -13,7 +13,7 @@
|
||||
"script": "python3 ../../../scripts/build_reflex_tauri_wasm.py && npm run build",
|
||||
"cwd": "."
|
||||
},
|
||||
"frontendDist": "../../../builds/sasedev-games/game-reflex-poc-tauri/dist"
|
||||
"frontendDist": "../../../../builds/sasedev-games/game-reflex-poc-tauri/dist"
|
||||
},
|
||||
"app": {
|
||||
"windows": [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/apps/game-reflex-poc-tauri/vite.config.ts
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
import { fileURLToPath } from "node:url";
|
||||
import { resolve } from "node:path";
|
||||
@@ -7,10 +7,13 @@ import { defineConfig, normalizePath } from "vite";
|
||||
|
||||
const appRoot = fileURLToPath(new URL(".", import.meta.url));
|
||||
const frontendRoot = normalizePath(resolve(appRoot, "frontend"));
|
||||
const frontendDist = normalizePath(resolve(appRoot, "../../../builds/sasedev-games/game-reflex-poc-tauri/dist"));
|
||||
const externalBuildRoot = normalizePath(resolve(appRoot, "../../../../builds/sasedev-games/game-reflex-poc-tauri"));
|
||||
const frontendDist = normalizePath(resolve(externalBuildRoot, "dist"));
|
||||
const viteCacheDir = normalizePath(resolve(externalBuildRoot, "vite-cache"));
|
||||
const devHost = process.env.TAURI_DEV_HOST;
|
||||
|
||||
export default defineConfig({
|
||||
cacheDir: viteCacheDir,
|
||||
clearScreen: false,
|
||||
root: frontendRoot,
|
||||
publicDir: false,
|
||||
|
||||
111
deltas/0.1.0/2-beta.1.fix.2.md
Normal file
111
deltas/0.1.0/2-beta.1.fix.2.md
Normal file
@@ -0,0 +1,111 @@
|
||||
<!-- file: deltas/0.1.0/2-beta.1.fix.2.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.0-2-beta.1.fix.2
|
||||
|
||||
## Base
|
||||
|
||||
Base déclarée : `0.1.0-2-beta.1.fix.1`.
|
||||
|
||||
Le packaging Tauri de `fix.1` passe, mais le chemin de sortie Vite pointe encore dans la racine du dépôt.
|
||||
|
||||
## Défaut
|
||||
|
||||
Depuis :
|
||||
|
||||
```text
|
||||
crates/apps/game-reflex-poc-tauri
|
||||
```
|
||||
|
||||
le chemin :
|
||||
|
||||
```text
|
||||
../../../builds/sasedev-games/game-reflex-poc-tauri/dist
|
||||
```
|
||||
|
||||
résout vers :
|
||||
|
||||
```text
|
||||
sasedev-games/builds/sasedev-games/game-reflex-poc-tauri/dist
|
||||
```
|
||||
|
||||
et fait apparaître un répertoire généré `builds/` dans le dépôt.
|
||||
|
||||
## Correctif
|
||||
|
||||
Vite utilise désormais :
|
||||
|
||||
```text
|
||||
../../../../builds/sasedev-games/game-reflex-poc-tauri
|
||||
```
|
||||
|
||||
avec :
|
||||
|
||||
```text
|
||||
dist/
|
||||
vite-cache/
|
||||
```
|
||||
|
||||
`tauri.conf.json` utilise le même `dist/` externe.
|
||||
|
||||
Cette règle est cohérente avec `.cargo/config.toml`, qui place déjà Cargo sous :
|
||||
|
||||
```text
|
||||
../builds/sasedev-games/target
|
||||
```
|
||||
|
||||
## Audit
|
||||
|
||||
`scripts/audit_distribution_layout.py` rejette désormais explicitement :
|
||||
|
||||
```text
|
||||
./builds
|
||||
```
|
||||
|
||||
à la racine du dépôt.
|
||||
|
||||
## Nettoyage local unique
|
||||
|
||||
Si l'ancien répertoire généré existe encore :
|
||||
|
||||
```bash
|
||||
rm -rf builds
|
||||
```
|
||||
|
||||
Cette suppression vise uniquement l'ancien artefact de build créé sous la racine du dépôt.
|
||||
|
||||
## Validation
|
||||
|
||||
```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
|
||||
python3 scripts/audit_distribution_layout.py
|
||||
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
cd crates/apps/game-reflex-poc-tauri
|
||||
cargo tauri build
|
||||
cd ../../..
|
||||
```
|
||||
|
||||
Attendu côté Vite : le chemin affiché doit viser le répertoire frère `../builds/sasedev-games/game-reflex-poc-tauri/dist`, jamais `sasedev-games/builds/...`.
|
||||
|
||||
## Vérification
|
||||
|
||||
```bash
|
||||
test ! -e builds
|
||||
test -d ../builds/sasedev-games/game-reflex-poc-tauri/dist
|
||||
test -d ../builds/sasedev-games/target
|
||||
```
|
||||
|
||||
## Transition
|
||||
|
||||
Si ces gates passent, reprendre la matrice beta restante sur `0.1.0-2-beta.1.fix.2`.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/development/008-WASM_TAURI_POC.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# POC WebAssembly embarqué dans Tauri
|
||||
|
||||
@@ -169,3 +169,25 @@ keydown Escape
|
||||
```
|
||||
|
||||
Une future politique de pause/confirmation pourra retourner `Continue` sans modifier le bridge Tauri.
|
||||
|
||||
## Répertoire de build externe
|
||||
|
||||
Comme Cargo via `.cargo/config.toml`, Tauri/Vite ne doivent créer aucun répertoire de build dans `sasedev-games`.
|
||||
|
||||
Depuis `crates/apps/game-reflex-poc-tauri`, le root de build Vite résout désormais :
|
||||
|
||||
```text
|
||||
../../../../builds/sasedev-games/game-reflex-poc-tauri/
|
||||
```
|
||||
|
||||
soit, depuis la racine du dépôt :
|
||||
|
||||
```text
|
||||
../builds/sasedev-games/game-reflex-poc-tauri/
|
||||
├── dist/
|
||||
└── vite-cache/
|
||||
```
|
||||
|
||||
`tauri.conf.json` référence le même `dist/` externe.
|
||||
|
||||
La racine du dépôt ne doit jamais contenir `builds/`.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/rules/RULES_PROJECT.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Règles spécifiques games.sasedev
|
||||
|
||||
@@ -70,3 +70,5 @@
|
||||
|
||||
- **GAME-PLATFORM-012** — Le plugin tracing Tauri ne remplace pas l'initialisation du subscriber Rust ; une app Tauri initialise le runtime de logging partagé avant son premier événement `tracing`.
|
||||
- **GAME-PLATFORM-013** — Les demandes de sortie Tauri sont évaluées par la politique `EngineGame::quit_requested` avant toute fermeture native.
|
||||
|
||||
- **GAME-BUILD-001** — Les artefacts générés Cargo, Tauri, Vite et caches frontend sont placés hors de la racine du dépôt, sous `../builds/sasedev-games/`; un répertoire racine `builds/` dans le dépôt est interdit.
|
||||
|
||||
@@ -11,6 +11,11 @@ import pathlib
|
||||
import sys
|
||||
|
||||
|
||||
FORBIDDEN_PATHS = (
|
||||
"builds",
|
||||
)
|
||||
|
||||
|
||||
REQUIRED_PATHS = (
|
||||
"crates/apps/game-reflex-poc-desktop/Cargo.toml",
|
||||
"crates/apps/game-snake-poc-desktop/Cargo.toml",
|
||||
@@ -42,15 +47,24 @@ def main() -> int:
|
||||
arguments = parser.parse_args()
|
||||
root = pathlib.Path(arguments.root).resolve()
|
||||
missing: list[str] = []
|
||||
forbidden_present: list[str] = []
|
||||
for relative in REQUIRED_PATHS:
|
||||
if not (root / relative).exists():
|
||||
missing.append(relative)
|
||||
for relative in FORBIDDEN_PATHS:
|
||||
if (root / relative).exists():
|
||||
forbidden_present.append(relative)
|
||||
if missing:
|
||||
for relative in missing:
|
||||
print(f"DIST-LAYOUT-001: missing required path: {relative}", file=sys.stderr)
|
||||
print(f"Distribution layout audit: {len(missing)} violation(s)", file=sys.stderr)
|
||||
return 1
|
||||
print(f"Distribution layout audit: clean ({len(REQUIRED_PATHS)} required path(s))")
|
||||
if forbidden_present:
|
||||
for relative in forbidden_present:
|
||||
print(f"DIST-LAYOUT-002: generated path must stay outside repository: {relative}", file=sys.stderr)
|
||||
print(f"Distribution layout audit: {len(forbidden_present)} violation(s)", file=sys.stderr)
|
||||
return 1
|
||||
print(f"Distribution layout audit: clean ({len(REQUIRED_PATHS)} required path(s), {len(FORBIDDEN_PATHS)} forbidden path(s) absent)")
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user