Files
NoIdle/COMANDOS_BUILD.md

312 lines
6.2 KiB
Markdown
Raw Normal View History

# 🚀 Comandos Rápidos para Compilar NoIdle
## 📋 Escolha Seu Ambiente
---
## 🪟 Windows (Recomendado)
### Método 1: Comando Simples (Rápido)
```powershell
# Instalar dependências
pip install pyinstaller pywin32 psutil requests pystray pillow schedule
# Compilar
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
# Resultado: dist\NoIdle.exe
```
### Método 2: Script Automatizado (Recomendado)
```powershell
# Executar script de build
.\BUILD_NOIDLE.ps1
# Com limpeza prévia
.\BUILD_NOIDLE.ps1 -Clean
# Com teste após build
.\BUILD_NOIDLE.ps1 -Test
# Com ícone personalizado
.\BUILD_NOIDLE.ps1 -Icon "noidle.ico"
```
---
## 🐧 Linux (Docker)
### Método 1: Comando Docker Direto
```bash
# Usando imagem pronta
docker run --rm -v $(pwd):/src cdrx/pyinstaller-windows:python3 \
/bin/bash -c "pip install pywin32 psutil requests pystray pillow schedule && \
pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py"
# Resultado: dist/NoIdle.exe
```
### Método 2: Script Automatizado (Recomendado)
```bash
# Tornar executável (primeira vez)
chmod +x BUILD_LINUX.sh
# Executar
./BUILD_LINUX.sh
# Seguir as opções do menu
```
### Método 3: Dockerfile Customizado
```bash
# Construir imagem
docker build -f Dockerfile.build -t noidle-builder .
# Compilar
docker run --rm -v $(pwd):/src noidle-builder
# Resultado: dist/NoIdle.exe
```
---
## 🧪 Testar o Executável
### No Windows:
```powershell
# Teste 1: Executar normalmente
.\dist\NoIdle.exe
# Teste 2: Modo silencioso
.\dist\NoIdle.exe --silent
# Teste 3: Verificar processo
Start-Process -FilePath ".\dist\NoIdle.exe" -ArgumentList "--silent" -WindowStyle Hidden
Start-Sleep -Seconds 3
Get-Process -Name "NoIdle"
# Teste 4: Verificar tamanho
Get-Item .\dist\NoIdle.exe | Select-Object Name, @{N='Size(MB)';E={[math]::Round($_.Length/1MB,2)}}, LastWriteTime
```
---
## 📦 Criar Pacote de Distribuição
### Estrutura do Pacote:
```
NoIdle-v1.0/
├── NoIdle.exe
├── CONFIGURAR_AUTOSTART_NOIDLE.ps1
├── VERIFICAR_E_CORRIGIR_NOIDLE.ps1
├── GUIA_RAPIDO_AUTOSTART.md
├── LEIA_PRIMEIRO.md
└── README.txt
```
### Windows (PowerShell):
```powershell
# Criar diretório
New-Item -ItemType Directory -Path "NoIdle-Package" -Force
# Copiar arquivos
Copy-Item "dist\NoIdle.exe" -Destination "NoIdle-Package\"
Copy-Item "CONFIGURAR_AUTOSTART_NOIDLE.ps1" -Destination "NoIdle-Package\"
Copy-Item "VERIFICAR_E_CORRIGIR_NOIDLE.ps1" -Destination "NoIdle-Package\"
Copy-Item "GUIA_RAPIDO_AUTOSTART.md" -Destination "NoIdle-Package\"
Copy-Item "LEIA_PRIMEIRO.md" -Destination "NoIdle-Package\"
# Criar ZIP
Compress-Archive -Path "NoIdle-Package\*" -DestinationPath "NoIdle-v1.0.zip" -Force
# Limpar
Remove-Item -Path "NoIdle-Package" -Recurse -Force
```
### Linux (Bash):
```bash
# Criar diretório
mkdir -p NoIdle-Package
# Copiar arquivos
cp dist/NoIdle.exe NoIdle-Package/
cp CONFIGURAR_AUTOSTART_NOIDLE.ps1 NoIdle-Package/
cp VERIFICAR_E_CORRIGIR_NOIDLE.ps1 NoIdle-Package/
cp GUIA_RAPIDO_AUTOSTART.md NoIdle-Package/
cp LEIA_PRIMEIRO.md NoIdle-Package/
# Criar ZIP
zip -r NoIdle-v1.0.zip NoIdle-Package/
# Limpar
rm -rf NoIdle-Package
```
---
## 🔧 Troubleshooting
### Problema: "pip não encontrado"
```powershell
# Windows
python -m pip install --upgrade pip
# Linux
sudo apt install python3-pip
```
### Problema: "pyinstaller não encontrado"
```powershell
# Instalar globalmente
pip install pyinstaller
# Ou executar como módulo
python -m PyInstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
```
### Problema: "ModuleNotFoundError"
```powershell
# Reinstalar todas as dependências
pip install --force-reinstall pywin32 psutil requests pystray pillow schedule
```
### Problema: "Executável não inicia"
```powershell
# Compilar com console para ver erros
pyinstaller --onefile --console --name NoIdle-debug CLIENTE_CORRIGIDO.py
.\dist\NoIdle-debug.exe
```
### Problema: "Docker não funciona"
```bash
# Verificar Docker
docker --version
# Testar Docker
docker run hello-world
# Dar permissões (se necessário)
sudo usermod -aG docker $USER
newgrp docker
```
---
## ⚡ Comandos Quick Reference
### Build Rápido (Windows):
```powershell
pip install pyinstaller pywin32 psutil requests pystray pillow schedule && pyinstaller --onefile --windowed --name NoIdle CLIENTE_CORRIGIDO.py
```
### Build Rápido (Linux):
```bash
./BUILD_LINUX.sh
```
### Testar Rápido:
```powershell
.\dist\NoIdle.exe --silent
Get-Process -Name "NoIdle"
```
### Limpar Tudo:
```powershell
# Windows
Remove-Item -Path "build","dist" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "*.spec" -Force -ErrorAction SilentlyContinue
# Linux
rm -rf build dist *.spec
```
---
## 📊 Opções de PyInstaller
| Opção | Descrição |
|-------|-----------|
| `--onefile` | Gera um único executável |
| `--windowed` | Sem janela de console (GUI) |
| `--console` | Com janela de console (debug) |
| `--name NoIdle` | Nome do executável |
| `--icon=icon.ico` | Adicionar ícone |
| `--upx-dir=C:\upx` | Comprimir com UPX |
| `--clean` | Limpar cache antes de compilar |
| `--debug all` | Modo debug completo |
---
## 🎯 Workflow Recomendado
### 1. Desenvolvimento (Windows):
```powershell
# Testar código Python
python CLIENTE_CORRIGIDO.py
# Compilar
.\BUILD_NOIDLE.ps1 -Clean -Test
# Verificar resultado
.\dist\NoIdle.exe --silent
```
### 2. Produção (Linux):
```bash
# Compilar para Windows
./BUILD_LINUX.sh
# Criar pacote
# (escolher opção no menu do script)
# Distribuir
# NoIdle-v1.0.zip
```
### 3. Distribuição:
```
1. Testar em Windows limpo
2. Enviar para clientes
3. Fornecer scripts de configuração
4. Documentação: LEIA_PRIMEIRO.md
```
---
## ✅ Checklist de Build
Antes de distribuir:
- [ ] Código testado e funcionando
- [ ] Dependências instaladas
- [ ] Build concluído sem erros
- [ ] Executável testado em modo normal
- [ ] Executável testado em modo `--silent`
- [ ] Tamanho do arquivo OK (15-30 MB)
- [ ] Testado em Windows limpo (sem Python)
- [ ] Pacote de distribuição criado
- [ ] Documentação incluída
- [ ] Scripts PowerShell incluídos
---
## 🚀 TL;DR (Começar Agora)
**Windows:**
```powershell
.\BUILD_NOIDLE.ps1
```
**Linux:**
```bash
./BUILD_LINUX.sh
```
**Resultado:** `dist/NoIdle.exe` pronto para usar! 🎉
---
**Bom build! 🔨**