Pular para conteúdo

0034 — Libs da casa na versão corrente

Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-12 · Decidido em: 2026-09-12

Substitui a 0019 só na política de versão: o mecanismo (um repo xadm-commons, módulos com SemVer próprio, artefato Maven no registro público) segue valendo.

Contexto

A 0019 declarava só o piso de cada módulo e deixava o resto a critério do app: "adotar bump é decisão do app", com a /xadm-docs destacando o que estivesse abaixo do piso e nenhum gate de CI. O resultado foi a frota espalhada por várias versões de cada módulo, a correção de uma lib chegando a cada app em ritmo próprio, e a migração acumulada virando surpresa no dia em que alguém precisava subir — várias seções de migração de uma vez, em vez de uma por release.

Decisão

O app acompanha a última versão publicada de cada módulo do xadm-commons que consome.

  • Atrás da corrente é pendência. A /xadm-release do app bumpa, aplicando em ordem as seções ### Migração do CHANGELOG do módulo entre a versão atual e a corrente.
  • Abaixo do piso, a /xadm-release recusa a release. Override só declarado no relatório, com o motivo. O CI só avisa.
  • A corrente vem do registro, não de página nenhuma; o piso, com o motivo, vem do pisos-libs.json do central.

Alternativas descartadas

  • Manter o bump como decisão do app. É o que produziu a frota espalhada e a migração acumulada.
  • Gate de CI duro na versão. Deixaria a release urgente de um app refém do bump de uma lib que não tem nada a ver com a correção.

Consequências

  • Migração mecânica (apagar a cópia que a lib promoveu, "nada a fazer") entra sem pergunta; a que mexe em config, DDL ou comportamento pergunta ao dono.
  • Dependência transitiva não é conferida pelo app: a guarda de publish do xadm-commons recusa POM com módulo irmão abaixo do piso.
  • Mecânica e pisos em Bibliotecas da casa.