Gerenciar dependências é apenas uma parte do trabalho em projetos Delphi. Quando o projeto utiliza componentes visuais, pacotes runtime e design-time, diferentes versões da IDE e pipelines de integração contínua, instalar uma biblioteca deixa de ser uma simples operação de download.
A versão 1.7.0 do Boss4D foi construída para enfrentar esse cenário completo. Ela amplia o gerenciador de dependências para cuidar também da compilação, instalação e recuperação de componentes, sem abandonar a compatibilidade com projetos BOSS nem o suporte ao Lazarus.
O resultado é uma versão especialmente importante para equipes que precisam reproduzir ambientes Delphi, automatizar builds e manter evidências sobre os pacotes utilizados.
Da dependência ao componente instalado
Um componente Delphi normalmente possui mais de uma etapa:
- obter o código-fonte e suas dependências;
- compilar o pacote runtime;
- compilar o pacote design-time;
- copiar BPLs, DCPs, DCUs e outros artefatos;
- registrar o pacote correto na IDE;
- conseguir desfazer tudo com segurança caso algo falhe.
O Boss4D 1.7.0 passa a representar esse ciclo de forma declarativa. O arquivo boss.json pode descrever projetos, dependências entre pacotes, compiladores, plataformas e configurações.
Um mesmo componente pode, por exemplo, ser preparado para Delphi 10, 11, 12 e 13, em Win32 ou Win64, sem que cada combinação dependa de um script artesanal.
{
"build": {
"targets": [
{
"name": "runtime",
"project": "src/MyComponentRuntime.dproj",
"kind": "runtime"
},
{
"name": "design",
"project": "design/MyComponentDesign.dproj",
"kind": "design",
"dependsOn": ["runtime"]
}
]
}
}
A compatibilidade com manifests anteriores foi preservada. Projetos existentes podem continuar usando a estrutura tradicional e adotar a matriz de build gradualmente.
Build incremental e paralelo
Compilar todas as combinações em toda execução seria correto, mas pouco eficiente. Por isso, a versão 1.7.0 introduz fingerprints incrementais para identificar quando uma combinação realmente precisa ser reconstruída.
O Boss4D considera o projeto, suas dependências, o compilador, a plataforma, a configuração e os artefatos esperados. Se o estado continua válido, o target pode ser reutilizado. Quando há dependências independentes, o agendamento permite execução paralela com limite explícito de jobs.
boss4d build --compiler d13 --platform Win64 --configuration Release --jobs 4
Também é possível solicitar um rebuild completo:
boss4d build --full
Ou visualizar antecipadamente o plano:
boss4d build --explain
Os artefatos são separados por compilador, plataforma e configuração. Isso evita colisões entre DCUs e BPLs produzidos por toolchains diferentes, um problema recorrente em automações Delphi.
Instalação transacional na IDE
Registrar um pacote na IDE é uma operação sensível. Uma BPL ausente, um caminho incorreto ou uma alteração parcial no Registry pode impedir a inicialização normal do RAD Studio.
Na versão 1.7.0, a instalação passou a utilizar inventário, snapshots e transações. Antes de modificar o ambiente, o Boss4D registra o estado anterior. Se uma etapa falha, as alterações podem ser revertidas.
Além da instalação, estão disponíveis operações para:
- remover exatamente os registros pertencentes ao componente;
- detectar diferenças entre o inventário e o Registry;
- reparar arquivos ou registros ausentes;
- restaurar snapshots;
- desfazer instalações e remoções concluídas;
- tratar conflitos com políticas
fail,warn,adoptoureplace.
O comando doctor também ganhou diagnósticos relacionados ao projeto, à matriz de build, aos compiladores, aos paths, às colisões de saída e ao estado da IDE.
boss4d doctor --project .
boss4d ide repair
Perfis isolados da IDE
Nem todo projeto deve compartilhar exatamente a mesma configuração do RAD Studio. Uma equipe pode precisar manter um ambiente estável para manutenção, outro para desenvolvimento e um terceiro para validar uma migração.
Os perfis de IDE do Boss4D isolam inventários, componentes e branches do Registry. Um projeto pode ser associado a um perfil específico, reduzindo alterações globais e tornando o ambiente mais previsível.
Snapshots protegidos por SHA-256 permitem comparar estados, identificar drift e restaurar uma configuração conhecida. O mesmo modelo atende tanto a CLI quanto a interface gráfica.
Uma GUI voltada para operações reais
A interface gráfica deixou de ser apenas uma forma visual de executar comandos básicos. Na 1.7.0, ela passou a oferecer fluxos completos para:
- pesquisar pacotes e consultar versões;
- examinar licença, variantes e evidências;
- escolher compilador e plataforma;
- visualizar o plano antes da instalação;
- instalar, reparar ou remover componentes;
- acompanhar progresso e tempo decorrido;
- cancelar uma operação cooperativamente;
- tentar novamente preservando as escolhas anteriores;
- consultar saúde do ambiente;
- comparar estados antes e depois;
- restaurar ou desfazer uma operação.
Um detalhe importante é que a GUI apresenta o comando equivalente da CLI. Isso ajuda o usuário a começar visualmente e, depois, levar o mesmo processo para scripts ou pipelines.
Registry público com revisão
O Boss4D 1.7.0 também avançou na descoberta e publicação de pacotes. O Registry v2 utiliza metadados versionados em Git, composição de índices, entradas esparsas, versões imutáveis, revogação e evidências de confiança.
O catálogo público pode ser consultado em:
Acessar o Registry público do Boss4D
A comunidade pode propor novos pacotes, mas uma submissão não é publicada automaticamente. Ela passa por validações de identidade, escopo do repositório, assinatura, proveniência, imutabilidade e aprovação explícita dos mantenedores.
Na conclusão da 1.7.0, o catálogo possuía 55 pacotes: 16 entradas verificadas no schema v2 e 39 entradas legadas mantidas para descoberta e migração gradual.
Conformidade e segurança da cadeia de software
Uma das direções mais importantes do Boss4D é tratar dependências como parte da cadeia de fornecimento de software.
A release inclui:
- SBOM nos formatos CycloneDX 1.7 e SPDX 2.3;
- declarações de proveniência in-toto;
- checksums SHA-256;
- attestations de build emitidas pelo GitHub;
- suporte a assinatura OpenPGP;
- auditoria de vulnerabilidades e VEX;
- pacote imutável no formato
.b4dpkg.
Isso permite responder perguntas que estão se tornando comuns em auditorias:
- quais componentes fazem parte desta aplicação?
- de onde veio cada versão?
- o artefato baixado corresponde ao publicado?
- quem estava autorizado a publicar?
- existe uma vulnerabilidade conhecida?
- ela realmente afeta este produto?
O Registry público mantém uma regra importante: uma versão não é anunciada como verificada enquanto todas as evidências exigidas não estiverem presentes. Por isso, a release 1.7.0 está disponível no GitHub e no canal de autoatualização, enquanto a entrada verificada do próprio Boss4D no Registry permanece na 1.6.0 até a publicação da assinatura OpenPGP destacada da nova versão.
Essa diferença não é um erro de sincronização. É a política de confiança funcionando como deveria.
Delphi, Lazarus, Linux e macOS
A matriz declarativa cobre Delphi 10, 10.1, 11, 12 e 13, com Win32, Win64, Debug e Release. Os plugins da release foram compilados de forma real com Delphi 10 Seattle, 11, 12 e 13. O perfil legado compartilhado mantém a compatibilidade-fonte com Delphi 10.1 Berlin.
No lado FPC, o Boss4D passou a distribuir CLIs nativas para:
- Linux x86-64;
- macOS arm64.
Isso permite executar instalação bloqueada por lock, consulta ao Registry, verificação de pacotes, geração de SBOM, auditoria, publicação e autoatualização sem depender de um runtime Go.
Evidências da release
A versão foi fechada com:
- 332 testes DUnitX no Delphi 13, tanto em Win32 quanto em Win64;
- 73 testes FPCUnit e smoke tests reais no Linux e no macOS;
- builds reais dos plugins nas versões certificadas do Delphi;
- Sonar Quality Gate aprovado;
- zero novas violações;
- zero duplicação nova;
- artefatos Windows, Linux e macOS;
- checksums, matriz de artefatos, SBOMs e attestations.
Esses números representam o estado certificado da release. A suíte continua evoluindo no branch principal após a publicação.
Como baixar
A página oficial da versão contém o instalador Windows, os arquivos compactados para as três plataformas, o pacote imutável e todas as evidências de verificação:
Baixar o Boss4D 1.7.0 no GitHub
Antes de instalar, vale conferir o arquivo SHA256SUMS.txt.
Um passo além do gerenciador de dependências
O principal ganho da versão 1.7.0 não está em um comando isolado. Está na integração entre resolução de dependências, compilação, instalação na IDE, recuperação do ambiente, interface gráfica, automação multiplataforma e evidências de conformidade.
Para projetos Delphi e Lazarus, isso significa reduzir scripts locais, configurações implícitas e procedimentos manuais difíceis de reproduzir.
O Boss4D continua sendo um projeto em evolução, mas a 1.7.0 marca um ponto claro: o objetivo já não é apenas baixar código. É tornar todo o ciclo de uso de componentes mais previsível, auditável e seguro.
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.