Initial commit
This commit is contained in:
42
tools/build.sh
Executable file
42
tools/build.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
# 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/
|
||||
Reference in New Issue
Block a user