174 lines
6.6 KiB
Makefile
174 lines
6.6 KiB
Makefile
clean:
|
|
rm -rfv *.pyc *.py,cache __pycache__ None *.mscd *.txt
|
|
|
|
rm -rfv mosaicode/*.pyc mosaicode/*.py,cache mosaicode/__pycache__ mosaicode/None mosaicode/*.mscd
|
|
|
|
rm -rfv mosaicode/control/*.pyc mosaicode/control/*.py,cache mosaicode/control/__pycache__ mosaicode/control/None mosaicode/control/*.mscd
|
|
|
|
rm -rfv mosaicode/persistence/*.pyc mosaicode/persistence/*.py,cache mosaicode/persistence/__pycache__
|
|
|
|
rm -rfv mosaicode/utils/*.pyc mosaicode/utils/*.py,cache mosaicode/utils/__pycache__
|
|
|
|
rm -rfv mosaicode/GUI/*.pyc mosaicode/GUI/*.py,cache mosaicode/GUI/__pycache__
|
|
|
|
rm -rfv mosaicode/GUI/fields/*.pyc mosaicode/GUI/fields/*.py,cache mosaicode/GUI/fields/__pycache__
|
|
|
|
rm -rfv mosaicode/model/*.pyc mosaicode/model/*.py,cache mosaicode/model/__pycache__
|
|
|
|
rm -rfv mosaicode/plugins/*.pyc mosaicode/plugins/*.py,cache mosaicode/plugins/__pycache__
|
|
|
|
rm -rfv mosaicode/plugins/extensionsmanager/*.pyc mosaicode/plugins/extensionsmanager/*.py,cache mosaicode/plugins/extensionsmanager/__pycache__
|
|
|
|
rm -rfv mosaicode/config/*.pyc mosaicode/config/*.py,cache mosaicode/config/__pycache__
|
|
|
|
rm -rfv mosaicode/data/*.pyc mosaicode/data/*.py,cache mosaicode/data/__pycache__
|
|
|
|
rm -rfv mosaicode-javascript-webaudio/*.pyc mosaicode-javascript-webaudio/*.py,cache mosaicode-javascript-webaudio/__pycache__
|
|
|
|
rm -rfv mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/*.pyc mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/*.py,cache mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/__pycache__
|
|
|
|
rm -rfv mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/*.pyc mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/*.py,cache mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/__pycache__
|
|
|
|
rm -rfv mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/blocks/*.pyc mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/blocks/*.py,cache mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/blocks/__pycache__
|
|
|
|
rm -rfv mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/ports/*.pyc mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/ports/*.py,cache mosaicode-javascript-webaudio/mosaicode_lib_javascript_webaudio/extensions/ports/__pycache__
|
|
|
|
rm -rfv *.egg-info
|
|
sudo rm -rfv build dist 2>/dev/null || true
|
|
clear
|
|
|
|
coverage:
|
|
coverage run --source=mosaicode -m pytest
|
|
coverage report -m
|
|
coverage html
|
|
|
|
clean_coverage:
|
|
rm -rfv htmlcov
|
|
clear
|
|
|
|
test_normal:
|
|
python -m pytest
|
|
|
|
# =============================================================================
|
|
# INSTALAÇÃO E DEPENDÊNCIAS
|
|
# =============================================================================
|
|
|
|
# Instalar dependências do sistema (Ubuntu/Debian)
|
|
install_system_deps:
|
|
@echo "Instalando dependências do sistema..."
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
python3-gi \
|
|
python3-cairo \
|
|
python3-gi-cairo \
|
|
gir1.2-gtk-3.0 \
|
|
libgirepository1.0-dev \
|
|
python3-dev \
|
|
build-essential \
|
|
pkg-config \
|
|
python3-pip \
|
|
python3-venv
|
|
@echo "Dependências do sistema instaladas!"
|
|
|
|
# Instalar dependências Python
|
|
install_python_deps:
|
|
@echo "Instalando dependências Python..."
|
|
pip3 install --user --break-system-packages \
|
|
pycairo>=1.20.0 \
|
|
PyGObject>=3.40.0 \
|
|
pgi \
|
|
setuptools>=61.0 \
|
|
wheel
|
|
@echo "Dependências Python instaladas!"
|
|
|
|
# Verificar se as dependências estão instaladas
|
|
check_deps:
|
|
@echo "Verificando dependências..."
|
|
@python3 -c "import gi; print('✓ PyGObject: OK')" || echo "✗ PyGObject: FALHOU"
|
|
@python3 -c "import cairo; print('✓ PyCairo: OK')" || echo "✗ PyCairo: FALHOU"
|
|
@python3 -c "import pgi; print('✓ PGI: OK')" || echo "✗ PGI: FALHOU"
|
|
@echo "Verificação concluída!"
|
|
|
|
# Instalação completa (dependências + mosaicode)
|
|
install_full: install_system_deps install_python_deps install
|
|
@echo "Instalação completa concluída!"
|
|
@echo "Execute 'make check_deps' para verificar se tudo está funcionando."
|
|
|
|
# Instalação completa global (dependências + mosaicode global)
|
|
install_full_global: install_system_deps install_python_deps install_global
|
|
@echo "Instalação completa global concluída!"
|
|
@echo "Execute 'make check_deps' para verificar se tudo está funcionando."
|
|
|
|
# Instalar mosaicode (usuário)
|
|
install:
|
|
pip3 install --user --break-system-packages -e .
|
|
|
|
# Instalar mosaicode (global)
|
|
install_global:
|
|
sudo pip3 install -e .
|
|
|
|
# Desinstalar mosaicode (usuário)
|
|
uninstall:
|
|
pip3 uninstall mosaicode
|
|
|
|
# Desinstalar mosaicode (global)
|
|
uninstall_global:
|
|
sudo pip3 uninstall mosaicode
|
|
|
|
# =============================================================================
|
|
# DESENVOLVIMENTO E TESTES
|
|
# =============================================================================
|
|
|
|
# Criar ambiente virtual
|
|
venv:
|
|
python3 -m venv venv
|
|
@echo "Ambiente virtual criado. Ative com: source venv/bin/activate"
|
|
|
|
# Instalar em ambiente virtual
|
|
install_venv: venv
|
|
@echo "Ativando ambiente virtual e instalando..."
|
|
. venv/bin/activate && pip install -e .
|
|
@echo "Instalação no ambiente virtual concluída!"
|
|
|
|
# Executar mosaicode (desenvolvimento)
|
|
run:
|
|
PYTHONPATH=. python3 launcher/mosaicode
|
|
|
|
# Executar mosaicode (instalado)
|
|
run_installed:
|
|
mosaicode
|
|
|
|
# =============================================================================
|
|
# UTILITÁRIOS
|
|
# =============================================================================
|
|
|
|
# Mostrar ajuda
|
|
help:
|
|
@echo "Comandos disponíveis:"
|
|
@echo ""
|
|
@echo "INSTALAÇÃO:"
|
|
@echo " install_system_deps - Instalar dependências do sistema"
|
|
@echo " install_python_deps - Instalar dependências Python"
|
|
@echo " install_full - Instalação completa (usuário)"
|
|
@echo " install_full_global - Instalação completa (global)"
|
|
@echo " install - Instalar mosaicode (usuário)"
|
|
@echo " install_global - Instalar mosaicode (global)"
|
|
@echo " install_venv - Instalar em ambiente virtual"
|
|
@echo ""
|
|
@echo "VERIFICAÇÃO:"
|
|
@echo " check_deps - Verificar se dependências estão OK"
|
|
@echo ""
|
|
@echo "EXECUÇÃO:"
|
|
@echo " run - Executar mosaicode (desenvolvimento)"
|
|
@echo " run_installed - Executar mosaicode (instalado)"
|
|
@echo ""
|
|
@echo "LIMPEZA:"
|
|
@echo " clean - Limpar arquivos temporários"
|
|
@echo " clean_coverage - Limpar relatórios de coverage"
|
|
@echo " uninstall - Desinstalar mosaicode (usuário)"
|
|
@echo " uninstall_global - Desinstalar mosaicode (global)"
|
|
@echo ""
|
|
@echo "TESTES:"
|
|
@echo " test_normal - Executar testes"
|
|
@echo " coverage - Executar testes com coverage"
|