From 3474b0c1886e078a8b29fe926dde2814b208e26e Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 15 Oct 2026 01:33:59 -0500 Subject: [PATCH] fix: the qbit metadata version comes from the build, not a hardcoded constant The producer read a literal version, so released artifacts reported a stale or -SNAPSHOT version. qbit-data-analysis.properties (version=${project.version}) is Maven-filtered and the producer loads it; tests assert producer == bundle == artifact version. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 4 +++ pom.xml | 11 +++++++ .../DataAnalysisQBitProducer.java | 33 ++++++++++++++++++- .../resources/qbit-data-analysis.properties | 1 + .../DataAnalysisMetadataTest.java | 6 +++- 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/qbit-data-analysis.properties diff --git a/CHANGELOG.md b/CHANGELOG.md index 32a6025..bef1b08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ Following [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic ## [Unreleased] +### Fixed + +- QBit metadata now reports the Maven artifact version, including release versions, from a filtered build resource. + ### Added - Complete host-neutral in-app help bundle with live metadata references and a core help coverage gate. diff --git a/pom.xml b/pom.xml index 3501a07..f50dddf 100644 --- a/pom.xml +++ b/pom.xml @@ -135,6 +135,7 @@ true help/*.yaml + qbit-data-analysis.properties @@ -142,10 +143,20 @@ false help/*.yaml + qbit-data-analysis.properties + + org.apache.maven.plugins + maven-surefire-plugin + + + ${project.version} + + + org.apache.maven.plugins maven-checkstyle-plugin diff --git a/src/main/java/com/kingsrook/qbits/dataanalysis/DataAnalysisQBitProducer.java b/src/main/java/com/kingsrook/qbits/dataanalysis/DataAnalysisQBitProducer.java index a8786b6..7a390e3 100644 --- a/src/main/java/com/kingsrook/qbits/dataanalysis/DataAnalysisQBitProducer.java +++ b/src/main/java/com/kingsrook/qbits/dataanalysis/DataAnalysisQBitProducer.java @@ -21,6 +21,9 @@ package com.kingsrook.qbits.dataanalysis; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; import com.kingsrook.qbits.dataanalysis.api.DataAnalysisApi; import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.model.metadata.MetaDataProducerMultiOutput; @@ -40,13 +43,41 @@ public class DataAnalysisQBitProducer implements QBitMetaDataProducer entry.getKey().equals("app:customAnalysis;slot:help")) .noneMatch(entry -> entry.getKey().equals("app:dataAnalysis;slot:help")); assertThat(instance.getApp("customAnalysis").getParentAppName()).isEqualTo("admin"); -- 2.54.0