mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 08:29:36 +01:00
feat(scanner): Mobile Scanner App mit echten Produktionsaufträgen
Scanner-App Tauri v2 Android App mit Login, Barcode-Scanner, Consume/Move/Book-Flows und Aufgabenliste. TasksPage lädt echte RELEASED/IN_PROGRESS Produktionsaufträge via API, Consume-Flow nutzt den konkreten Auftrag für korrekte Rezept-Skalierung statt blind den ersten IN_PROGRESS-Auftrag zu nehmen. Backend: FindStockByBatchId Use Case + REST-Endpoint für Stock-Lookup per Chargennummer.
This commit is contained in:
parent
72979c9537
commit
bf09e3b747
93 changed files with 8977 additions and 60 deletions
55
flake.nix
55
flake.nix
|
|
@ -14,7 +14,13 @@
|
|||
flake-utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
overlays = [ (import rust-overlay) ];
|
||||
pkgs = import nixpkgs { inherit system overlays; };
|
||||
pkgs = import nixpkgs {
|
||||
inherit system overlays;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
android_sdk.accept_license = true;
|
||||
};
|
||||
};
|
||||
|
||||
rustToolchain = pkgs.rust-bin.stable.latest.default.override {
|
||||
extensions = [ "rust-src" "rust-analyzer" ];
|
||||
|
|
@ -25,6 +31,23 @@
|
|||
"x86_64-linux-android"
|
||||
];
|
||||
};
|
||||
|
||||
# ─── Android SDK ──────────────────────────
|
||||
androidComposition = pkgs.androidenv.composeAndroidPackages {
|
||||
cmdLineToolsVersion = "8.0";
|
||||
platformToolsVersion = "35.0.1";
|
||||
buildToolsVersions = [ "34.0.0" "35.0.0" ];
|
||||
platformVersions = [ "34" "36" ];
|
||||
abiVersions = [ "x86_64" ];
|
||||
includeNDK = true;
|
||||
ndkVersions = [ "27.0.12077973" ];
|
||||
includeSystemImages = true;
|
||||
systemImageTypes = [ "google_apis_playstore" ];
|
||||
includeEmulator = true;
|
||||
useGoogleAPIs = true;
|
||||
};
|
||||
androidSdk = androidComposition.androidsdk;
|
||||
androidHome = "${androidSdk}/libexec/android-sdk";
|
||||
in
|
||||
{
|
||||
devShells.default = pkgs.mkShell {
|
||||
|
|
@ -52,6 +75,13 @@
|
|||
harfbuzz
|
||||
atk
|
||||
|
||||
# ─── Backend ─────────────────────────
|
||||
jdk21
|
||||
|
||||
# ─── Android ───────────────────────────
|
||||
androidSdk
|
||||
jdk17
|
||||
|
||||
# ─── Tools ─────────────────────────────
|
||||
just
|
||||
jq
|
||||
|
|
@ -68,13 +98,36 @@
|
|||
openssl
|
||||
]);
|
||||
|
||||
ANDROID_HOME = androidHome;
|
||||
ANDROID_SDK_ROOT = androidHome;
|
||||
ANDROID_NDK_ROOT = "${androidHome}/ndk/27.0.12077973";
|
||||
JAVA_HOME = "${pkgs.jdk21}";
|
||||
|
||||
# NixOS: Gradle's aapt2 von Maven ist dynamisch gelinkt und läuft nicht.
|
||||
# Wir zeigen auf das aapt2 aus den Nix-bereitgestellten build-tools.
|
||||
GRADLE_OPTS = "-Dandroid.aapt2FromMavenOverride=${androidHome}/build-tools/35.0.0/aapt2";
|
||||
|
||||
shellHook = ''
|
||||
echo "Node $(node --version)"
|
||||
echo "pnpm $(pnpm --version)"
|
||||
echo "rustc $(rustc --version)"
|
||||
echo "cargo $(cargo --version)"
|
||||
echo "Java $(java --version 2>&1 | head -1)"
|
||||
echo ""
|
||||
echo "ANDROID_HOME=$ANDROID_HOME"
|
||||
echo ""
|
||||
echo "just --list für alle Befehle"
|
||||
|
||||
# Tauri mobile dev: Ports 1420 (Vite) + 1421 (HMR) in der NixOS-Firewall öffnen
|
||||
if [[ "''${EFFIGENIX_OPEN_FW:-}" == "1" ]]; then
|
||||
echo ""
|
||||
echo "Opening firewall ports 1420/1421 for Tauri mobile dev..."
|
||||
sudo iptables -C nixos-fw -p tcp --dport 1420 -j ACCEPT 2>/dev/null \
|
||||
|| sudo iptables -I nixos-fw 3 -p tcp --dport 1420 -j ACCEPT
|
||||
sudo iptables -C nixos-fw -p tcp --dport 1421 -j ACCEPT 2>/dev/null \
|
||||
|| sudo iptables -I nixos-fw 3 -p tcp --dport 1421 -j ACCEPT
|
||||
echo "Done."
|
||||
fi
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue