Se você desenvolve em Delphi, com certeza já conhece ou ouviu falar do Boss, o gerenciador de dependências que revolucionou a forma como organizamos, instalamos e compartilhamos código na nossa comunidade. Hoje, tenho o enorme prazer de apresentar o Boss4D (Boss4Delphi), uma versão do Boss modernizada, robusta, altamente testada e alinhada com as melhores práticas de Engenharia de Software modernas e totalmente feito em Delphi e aberto, regyssilveira/Boss4Delphi.
Neste artigo vamos ver o que mudou e passar por todas as novidades que o projeto traz.
A Motivação do Projeto
O ecossistema de desenvolvimento moderno exige ferramentas rápidas, previsíveis e fáceis de integrar com pipelines de CI/CD. O Boss4D nasceu com a missão de trazer o gerenciamento de dependências Delphi para este nível de excelência, focando em três pilares fundamentais:
- Desacoplamento e Testabilidade: Uma arquitetura onde cada componente (JSON parser, Git client, compilador) é isolado por interfaces, facilitando mocks e testes automatizados.
- Conformidade de Qualidade Rigorosa: Código auditável e validado por ferramentas líderes de mercado (como o SonarQube).
- Robustez Multiplataforma: Execução nativa estável tanto em arquiteturas 32-bit (Win32) quanto em 64-bit (Win64) sem falhas de compilação ou regressões.
Agradecimento ao Projeto Original
Não poderíamos dar esse passo sem olhar para a fundação. Queremos expressar nosso profundo agradecimento e respeito ao time da Hashload e aos criadores do Boss original. A ideia brilhante e o trabalho pioneiro deles mudaram a história do desenvolvimento Delphi no Brasil e no mundo, provando que o Delphi é moderno, vivo e capaz de ter ferramentas de linha de comando elegantes. O Boss4D é uma evolução que respeita e se orgulha de suas origens.
O Que Há de Melhor e Novidades Técnicas
O Boss4D foi reescrito sob os princípios de SOLID, Clean Code, DRY e KISS, trazendo inovações arquiteturais de alto nível:
- Arquitetura Desacoplada (SOLID Ports & Adapters): As dependências externas (como chamadas de console do Git ou invocação de compiladores) foram totalmente isoladas das regras de negócio do instalador. Isso permitiu a criação de mocks de alta fidelidade e blindou o core da aplicação contra alterações em ferramentas externas.
- Segurança Criptográfica Forte: Substituímos o uso histórico do MD5 para controle de chaves de integridade pelo SHA-256 (SHA-2), garantindo hash de integridade de 64 caracteres resistente a colisões.
- Autodetecção Inteligente do Delphi: O compilador agora detecta automaticamente o Delphi instalado através do Registro do Windows com base no número comercial ou versão de release configurada (ex:
23.0,22.0), além de permitir configurações de caminhos customizados de forma elegante. - Resolvedor de SemVer Altamente Otimizado: O algoritmo de seleção de ranges SemVer 2.0.0 foi quebrado em subfunções focadas de responsabilidade única, o que reduziu drasticamente o consumo de memória e aumentou a velocidade de resolução de grafos de dependências complexos.
- Zero Código Duplicado (DRY): Centralizamos toda a execução de processos e criação de pipes de buffers do Windows API em uma rotina reutilizável de infraestrutura (
ExecuteCommandLine), removendo dezenas de linhas copiadas.
Compatibilidade Total com o Ecossistema Boss
Uma das maiores premissas no design do Boss4D é a transição transparente. Ele foi desenvolvido para ser 100% retrocompatível com o ecossistema Boss tradicional:
- Mesma Estrutura de Arquivos: O Boss4D lê, edita e gera o arquivo
boss.jsone o arquivo de controle de versões instaladasboss-lock.jsonexatamente no mesmo layout padrão. - Diretório de Dependências: As dependências continuam sendo baixadas e organizadas dentro da pasta
modules/do seu projeto. - Compatibilidade e Transição: O código compilado e os arquivos de configuração continuam integrados exatamente como no ecossistema original, permitindo que você substitua o executável clássico pelo Boss4D.exe em seus projetos atuais sem precisar reconfigurar nenhuma linha de dependência!
Como Usar (Uso Básico)
O uso do Boss4D é extremamente familiar e simples:
- Inicializar um Projeto: Execute
boss initna pasta do seu projeto Delphi. O Boss4D guiará a criação interativa do arquivoboss.json(ou criará valores padrão se executado em modo silencioso com-qou--quiet). - Instalar Dependências: Para instalar um pacote do GitHub no seu projeto,
- Basta executar:
boss install github.com/nome-usuario/repositorio - Você também pode especificar versões SemVer específicas:
boss install github.com/nome-usuario/repositorio@^1.2.0 - Ou a partir de uma branch:
boss install github.com/nome-usuario/repositorio@main
- Basta executar:
- Restaurar Dependências: Ao clonar um projeto existente, execute simplesmente
boss installpara que todas as dependências declaradas noboss.jsonsejam baixadas e configuradas automaticamente.
Para aprender mais sobre todas as configurações avançadas de diretórios globais, credenciais SSH e customizações de compilação, consulte a nossa documentação completa em português: 👉 Guia de Uso do Boss4D (usage.pt-BR.md)
Qualidade de Código Levada a Sério (Métricas do SonarQube)
Para garantir que o Boss4D seja um projeto extremamente confiável e de fácil manutenção no longo prazo, submetemos a base de código a uma bateria rigorosa de análises estáticas no SonarQube e cobertura de testes:
- Quality Gate: Passed com excelência máxima.
- Issues de Segurança e Confiabilidade: ZERO (0). Classificação A em Security, Reliability e Maintainability.
- Duplicidade de Código: Reduzida para impressionantes 0.9% em todo o código de produção.
- Suíte de Testes Robustos (DUnitX): 32 testes unitários rodando e validando nativamente em Win32 e Win64 com vazamento de memória zero.
- Cobertura de Código: 87% de cobertura das linhas de lógica de produção totalmente mapeadas e indexadas pelo Sonar.
Participe da Comunidade no GitHub!
O Boss4D é um projeto feito pela comunidade e para a comunidade. Queremos que você faça parte desta história!
- Dê uma Estrela: Se você apoia ferramentas modernas para Delphi, visite nosso repositório no GitHub e deixe sua estrelinha para nos ajudar a ganhar visibilidade: regyssilveira/Boss4Delphi
- Contribua: Encontrou um bug? Tem uma ideia de melhoria? Sinta-se super convidado a abrir uma Issue ou nos enviar um Pull Request (PR). Toda ajuda é extremamente bem-vinda!
Vamos juntos elevar o nível do desenvolvimento Delphi!
Descubra mais sobre Régys Borges da Silveira
Assine para receber nossas notícias mais recentes por e-mail.
Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.