28 lines
1.5 KiB
Bash
Executable file
28 lines
1.5 KiB
Bash
Executable file
#!/bin/sh
|
|
# Construye el programa de escritorio de Caudal: un solo fichero que lleva
|
|
# dentro su Python y se usa desde el navegador, sin instalar nada.
|
|
# sh empaquetado/escritorio/construir.sh [carpeta de trabajo]
|
|
# Deja el fichero en <carpeta de trabajo>/dist/caudal. Vale para sistemas
|
|
# iguales o más nuevos que aquel en el que se construye, y para su misma
|
|
# arquitectura. Necesita python3 con venv e internet (baja PyInstaller y las
|
|
# dependencias de Caudal a un entorno propio dentro de la carpeta de trabajo).
|
|
set -eu
|
|
RAIZ="$(cd "$(dirname "$0")/../.." && pwd)"
|
|
OBRA="${1:-$RAIZ/empaquetado/escritorio/obra}"
|
|
mkdir -p "$OBRA"
|
|
python3 -m venv "$OBRA/venv"
|
|
"$OBRA/venv/bin/pip" install --quiet --upgrade pip
|
|
"$OBRA/venv/bin/pip" install --quiet -r "$RAIZ/programa/requirements.txt" "pyinstaller>=6"
|
|
cd "$OBRA"
|
|
"$OBRA/venv/bin/pyinstaller" --noconfirm --clean --onefile --name caudal \
|
|
--paths "$RAIZ/programa" \
|
|
--add-data "$RAIZ/programa/cartera/web:cartera/web" \
|
|
--add-data "$RAIZ/programa/cartera/ejemplo:cartera/ejemplo" \
|
|
--add-data "$RAIZ/programa/cartera/fiscal/reglas:cartera/fiscal/reglas" \
|
|
--add-data "$RAIZ/programa/cartera/serie_btc_eur.csv:cartera" \
|
|
--add-data "$RAIZ/programa/cartera/serie_ipv.json:cartera" \
|
|
--add-data "$RAIZ/programa/cartera/serie_tierra.json:cartera" \
|
|
--add-data "$RAIZ/programa/cartera/serie_vpo.json:cartera" \
|
|
--distpath "$OBRA/dist" --workpath "$OBRA/build" --specpath "$OBRA" \
|
|
"$RAIZ/empaquetado/escritorio/caudal.py"
|
|
ls -l "$OBRA/dist/caudal"
|