@brunoluizdesiqueira/bbuilder-cli
v1.0.24
Published
CLI de build local para projetos Delphi do Bimer
Downloads
3,234
Maintainers
Readme
bbuilder-cli
CLI para build local de projetos Delphi.
- seleção interativa de projeto, modo e versão
- suporte a
FAST,DEBUGeRELEASE - configuração por arquivo
bbuilder.config.json - diagnóstico de ambiente com
doctor - validação de comandos com
validate-commands
Requisitos
- Node.js 18+
- Windows
- Delphi instalado
- bibliotecas do projeto disponíveis na máquina
Instalação
npm install -g @brunoluizdesiqueira/bbuilder-cliDepois confirme:
bbuilder --versionConfiguração
Crie a configuração inicial:
bbuilder config initOu use um arquivo manual como este:
{
"repoBase": "C:\\git\\bimer",
"delphiDir": "C:\\Program Files (x86)\\Embarcadero\\Studio\\22.0",
"envVersion": "11.03.00",
"libRoot": "C:\\LibraryDelphiAlexandria",
"libExternos": "${libRoot}\\Externos\\3.00",
"libErp": "${libRoot}\\ERP\\${envVersion}",
"libAlterdata": "${libRoot}\\LibAlterdata\\1.0.0",
"exeOutputDir": "C:\\Temp\\${envVersion}\\EXE",
"dcuOutputDir": "C:\\Temp\\${envVersion}\\DCU",
"dependencyPaths": [
"C:\\git\\bimer\\dependencies",
"C:\\Program Files (x86)\\Embarcadero\\Studio\\22.0\\lib\\Win64\\release",
"C:\\LibraryDelphiAlexandria\\Externos\\3.00\\sgcWebSockets\\Win64",
"C:\\LibraryDelphiAlexandria\\ERP\\11.03.00\\Win64"
],
"projects": {
"BimerFaturamento": "faturamento\\BimerFaturamento",
"Bimer": "Bimer"
}
}Templates de Paths
Os campos de path suportam variáveis que são resolvidas automaticamente:
${libRoot}- caminho base da biblioteca (padrão:C:\LibraryDelphiAlexandria)${envVersion}- versão do ambiente (padrão:11.03.00)
Exemplos:
"${libRoot}\\Externos\\3.00"→"C:\\LibraryDelphiAlexandria\\Externos\\3.00""C:\\Temp\\${envVersion}\\EXE"→"C:\\Temp\\11.03.00\\EXE"
Campos que suportam templates:
libRoot- caminho base da bibliotecalibExternos- pasta Externos (derivado de libRoot)libErp- pasta do ERP (derivado de libRoot e envVersion)libAlterdata- pasta LibAlterdata (derivado de libRoot)exeOutputDir- diretório de saída do executáveldcuOutputDir- diretório de saída das units compiladas
dependencyPaths varia por máquina e deve ser ajustado por usuário.
Resolução da Configuração
Ordem de prioridade:
--config <caminho>- variável de ambiente
BBUILDER_CONFIG bbuilder.config.jsonno diretório atualbimer.config.jsonno diretório atual, por compatibilidade- arquivo global do usuário
No Windows, o arquivo global padrão fica em:
%APPDATA%\bbuilder-cli\bbuilder.config.jsonExemplos:
bbuilder --config C:\configs\bbuilder.config.json buildset BBUILDER_CONFIG=C:\configs\bbuilder.config.json
bbuilder build$env:BBUILDER_CONFIG="C:\configs\bbuilder.config.json"
bbuilder buildUso
Modo interativo:
bbuilderBuild direto:
bbuilder build --type DEBUG --project BimerFaturamento --version 11.3.1
bbuilder build --type FAST --project Bimer
bbuilder build --type RELEASE --project BimerAtalhos:
bbuilder fast
bbuilder debug --project Bimer
bbuilder release --project Bimer --version 11.3.1Projetos:
bbuilder project list
bbuilder project add
bbuilder project remove
bbuilder project remove --name BimerConfiguração:
bbuilder config init
bbuilder config show
bbuilder config validate
bbuilder doctorValidação de Comandos
Para verificar quais comandos serão executados sem rodar o build:
bbuilder validate-commands --type FAST
bbuilder validate-commands --type DEBUG
bbuilder validate-commands --type RELEASEOpções:
-t, --type- modo de build (FAST, DEBUG, RELEASE)-p, --project- caminho do projeto-v, --version- versão do exe
Esta ferramenta é útil para:
- depuração de problemas de build
- geração de testes unitários
- verificação de paths e argumentos
Observações de Uso
- o build mostra etapas com tempo decorrido
cgrcedcc64escrevem diretamente no terminal durante a compilação- no PowerShell, a saída do compilador pode ser menos verbosa que no
cmd, mesmo com o build funcionando corretamente
Se o PowerShell bloquear npm ou bbuilder, ajuste a policy do usuário:
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedTroubleshooting
Validar ambiente:
bbuilder doctorValidar configuração:
bbuilder config validateVerificar comandos que serão executados:
bbuilder validate-commands --type DEBUGErro Unit not found: 'System' normalmente indica problema em:
delphiDirdependencyPaths- path
...\lib\Win64\releaseausente na configuração
Publicação
Para usuários, nada além de instalar o pacote é necessário.
Para mantenedores, o fluxo é:
- criar changeset
- abrir PR
- mergear na
main - mergear a PR automática de release
- publicação no npm ocorre via GitHub Actions
Licença
ISC
