Class VersaoInfo
- All Implemented Interfaces:
io.micronaut.core.order.Ordered, io.micronaut.management.endpoint.info.InfoSource
version.properties, gerado no build de cada app a partir de
project.version) no endpoint /info, e oferece versaoAtual() estático
para o /health e o log de startup.
A lib não fixa a versão: cada app gera seu version.properties no classpath (task
Gradle gerarVersionProperties). A versão do @OpenAPIDefinition de cada app é o
contrato HTTP da API, desacoplada desta — não confundir.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringCommit da imagem em execução, lido deXADM_COMMIT(comSOURCE_COMMITcomo fallback legado) a cada chamada.static StringDiz em que forma o processo está rodando: binário native-image ou JVM.org.reactivestreams.Publisher<io.micronaut.context.env.PropertySource> static StringLê a versão do recursoversion.propertiesno classpath.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.order.Ordered
getOrder
-
Constructor Details
-
VersaoInfo
public VersaoInfo()Construtor padrão.
-
-
Method Details
-
versaoAtual
Lê a versão do recursoversion.propertiesno classpath.- Returns:
- a versão (ex.:
1.4.2) ou"desconhecida"se ausente
-
flavorAtual
Diz em que forma o processo está rodando: binário native-image ou JVM. Receita da constituição (versionamento §Receita): o binário native setaorg.graalvm.nativeimage.imagecode; a JVM não. Serve pra distinguir dois deploys da MESMA versão (o JVM de fallback × o native) no/health.Avaliado a cada chamada, de propósito — nunca cacheado em
static final. Sob native-image o inicializador estático pode rodar no build da imagem (onde a property vale"buildtime"), e o valor congelado passaria a depender da política deinitialize-at-build-timeem vez do runtime real. Uma leitura de property por request é irrelevante num liveness.- Returns:
"native"sob native-image,"jvm"na JVM
-
commitAtual
Commit da imagem em execução, lido deXADM_COMMIT(comSOURCE_COMMITcomo fallback legado) a cada chamada.É o discriminador de deploy: sem ele dois deploys da MESMA versão (um
workflow_dispatchsem bump, por exemplo) são indistinguíveis, e o smoke de produção não tem alvo de rollback. Ausente/em branco → string vazia, e o/healthomite o campo (o consumidor distingue "lib antiga" de "commit desconhecido"; string vazia apagaria a diferença).Nunca cacheado em
static final— mesma armadilha doflavorAtual(): sob native-image o inicializador estático pode rodar no build da imagem, e o valor congelado passaria a depender da política deinitialize-at-build-timeem vez do runtime real — o/healthmentiria. Uma leitura de env por request é irrelevante num liveness.- Returns:
- o SHA do commit, ou string vazia quando a env está ausente ou em branco
-
getSource
public org.reactivestreams.Publisher<io.micronaut.context.env.PropertySource> getSource()- Specified by:
getSourcein interfaceio.micronaut.management.endpoint.info.InfoSource
-