# Definir diretórios (Relativos à raiz do projeto, assumindo execução via ./tools/build.sh) # Mas vamos garantir que o script rode da raiz cd "$(dirname "$0")/.." echo "[BUILD] Limpando builds anteriores..." rm -rf dist build release_production.zip # Definir diretórios STAGE_DIR="dist/ipv0-olt-api" RELEASE_DIR="dist/release" mkdir -p $STAGE_DIR mkdir -p $RELEASE_DIR echo "[BUILD] Iniciando Obfuscação Pyarmor (Modo Full)..." # Usando Pyarmor para proteger todo o código fonte # O comando gen irá usar a configuração existente em .pyarmor se houver, ou criar uma nova. # --outer: Permite usar chave de licença externa (license.key via outer_keyname=license.key) ./venv/bin/pyarmor gen --outer -O $STAGE_DIR app.py drivers/ utils/ config.py echo "[BUILD] Copiando arquivos estáticos..." cp hosts.json $STAGE_DIR/ cp requirements.txt $STAGE_DIR/ cp README.md $STAGE_DIR/ cp tools/debug.py $STAGE_DIR/ cp tools/service/install.sh $STAGE_DIR/ cp tools/service/ipv0-olt-api.service $STAGE_DIR/ chmod +x $STAGE_DIR/install.sh echo "[BUILD] Criando arquivo ZIP (via Python)..." # Usar Python para zipar o CONTEÚDO do diretório de staging para dentro do zip # O zip final ficará em dist/release/ipv0-olt-api.zip # Estando em dist/ipv0-olt-api, ../release aponta para dist/release cd $STAGE_DIR ../../venv/bin/python3 -c "import shutil; shutil.make_archive('../release/ipv0-olt-api', 'zip', '.')" cd ../.. echo "✅ Build Process Complete!" echo "Artifacts:" echo " - Staging: $STAGE_DIR" echo " - Release: $RELEASE_DIR/ipv0-olt-api.zip" ls -F $RELEASE_DIR/