fix: qbit metadata version comes from the build #29

Merged
KofTwentyTwo merged 1 commits from fix/producer-version-from-build into develop 2026-10-15 06:42:57 +00:00
KofTwentyTwo commented 2026-10-15 06:28:07 +00:00 (Migrated from github.com)

The producer hardcoded its version, so released artifacts reported a stale literal or -SNAPSHOT as the qbit's metadata version.

Fix: this follows the authentik pattern. A Maven-filtered qbit-backups.properties holds version=${project.version}, and the producer loads it. The tests assert that the producer version, the help bundle version and the artifact version are equal (surefire passes qbit.artifactVersion).

Codex notes:
Implemented in five files:

  • pom.xml: resource filtering and Surefire artifact-version property.
  • qbit-backups.properties: build-derived version.
  • BackupsQBitProducer.java: loads version; fails clearly if missing or invalid.
  • BackupsQBitProducerTest.java: strict artifact/producer/bundle equality.
  • CHANGELOG.md: Unreleased entry.

./mvnw.cmd -q verify passed. RC.99 proof passed: all four producer tests succeeded with 0.1.0-RC.99.

Restored pom.xml byte-for-byte, preserving ${revision}; diff contains only intended changes. No commit or push.

Second Brain save was blocked by filesystem write restrictions.

Low priority: this rides the repo's next RC.

🤖 Generated with Claude Code

The producer hardcoded its version, so released artifacts reported a stale literal or `-SNAPSHOT` as the qbit's metadata version. **Fix:** this follows the authentik pattern. A Maven-filtered `qbit-backups.properties` holds `version=${project.version}`, and the producer loads it. The tests assert that the producer version, the help bundle version and the artifact version are equal (surefire passes `qbit.artifactVersion`). **Codex notes:** Implemented in five files: - `pom.xml`: resource filtering and Surefire artifact-version property. - `qbit-backups.properties`: build-derived version. - `BackupsQBitProducer.java`: loads version; fails clearly if missing or invalid. - `BackupsQBitProducerTest.java`: strict artifact/producer/bundle equality. - `CHANGELOG.md`: Unreleased entry. `./mvnw.cmd -q verify` passed. RC.99 proof passed: all four producer tests succeeded with `0.1.0-RC.99`. Restored `pom.xml` byte-for-byte, preserving `${revision}`; diff contains only intended changes. No commit or push. Second Brain save was blocked by filesystem write restrictions. Low priority: this rides the repo's next RC. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.