What does this PR do?
Fills in qqq-all-bom so an application can import one BOM and get a tested version set for the whole qqq-all stack. It also adds qqq-all-bom-test, a build-time module that resolves every artifact the BOM manages. That module is not deployed.
QQQ modules via an import of com.kingsrook.qqq:qqq-bom-pom:4.1.0-SNAPSHOT, which also brings qqq-esb (4.1.0-SNAPSHOT) and qqq-frontend-next (0.2.1).
The 8 qBits at their develop snapshots, all built on qbit-build-parent 2.0.0: qbit-quick-search 0.2.1-SNAPSHOT, qbit-user-role-permissions 0.33.0-SNAPSHOT, qbit-customizable-table-views 0.5.0-SNAPSHOT, qbit-standard-process-trace 0.3.0-SNAPSHOT, qbit-webhooks 0.4.0-SNAPSHOT, qbit-workflows 0.114.0-SNAPSHOT, qbit-geo-data 0.2.0-SNAPSHOT, qbit-sftp-data-integration 0.4.0-SNAPSHOT.
Broker clients for qqq-esb: org.apache.artemis:artemis-jakarta-client 2.57.0 and com.rabbitmq.jms:rabbitmq-jms 3.9.0.
The import also carries the third-party entries qqq-bom-pom inherits from qqq-parent-project (Netty, Jetty, Jackson, log4j, and others), so they come along to consumers. The expanded effective POM has 264 managed entries. qqq-all-bom-test resolves the stack artifacts: everything under com.kingsrook.* plus every entry qqq-all-bom declares itself. The inherited third-party entries only align versions, so the test does not resolve them.
StackBomTest reads the module's effective POM. It checks that the BOM manages each required stack artifact, with rabbitmq-jms at 3.9.0. It also checks that the module declares a dependency on every stack artifact, which means the build resolves each one.
The qbit-geo-data snapshot now resolves because its parent was fixed in QRun-IO/qbit-geo-data#4. Snapshot 0.2.0-20260926.071340-2 names qbit-geo-data-parent:0.2.0-SNAPSHOT.
Type of Change
Bug Fix - Fixes an existing issue
New Feature - Adds new functionality
Breaking Change - Fix or feature that would cause existing functionality to not work as expected
Documentation Update - Updates documentation
Refactoring - Code change that neither fixes a bug nor adds a feature
Build / CI - Changes to the Maven build, CircleCI, compose, or image
Test Addition - Adding missing tests or correcting existing tests
Testing
How has this been tested?
Unit Tests: All unit tests pass
Integration Tests: Integration tests pass
Profiles: Checked the affected profile(s) (core, full)
Manual Testing: Tested manually in a development environment
Test Commands:
# Commands used for testing, and their results
git fetch origin && git merge origin/develop # Already up to date
mvn -B -U verify
# BUILD SUCCESS: qqq-all-parent, qqq-all-bom, qqq-all-bom-test, qqq-all-app# StackBomTest: Tests run: 2, Failures: 0, Errors: 0, Skipped: 0# All 8 qBits resolved from the Central snapshot repository, including qbit-geo-data 0.2.0-20260926.071340-2
## Description
**What does this PR do?**
Fills in `qqq-all-bom` so an application can import one BOM and get a tested version set for the whole qqq-all stack. It also adds `qqq-all-bom-test`, a build-time module that resolves every artifact the BOM manages. That module is not deployed.
**Related Issue:**
Closes #3
Part of #1
**What the BOM manages:**
- QQQ modules via an import of `com.kingsrook.qqq:qqq-bom-pom:4.1.0-SNAPSHOT`, which also brings `qqq-esb` (4.1.0-SNAPSHOT) and `qqq-frontend-next` (0.2.1).
- The 8 qBits at their develop snapshots, all built on `qbit-build-parent` 2.0.0: `qbit-quick-search` 0.2.1-SNAPSHOT, `qbit-user-role-permissions` 0.33.0-SNAPSHOT, `qbit-customizable-table-views` 0.5.0-SNAPSHOT, `qbit-standard-process-trace` 0.3.0-SNAPSHOT, `qbit-webhooks` 0.4.0-SNAPSHOT, `qbit-workflows` 0.114.0-SNAPSHOT, `qbit-geo-data` 0.2.0-SNAPSHOT, `qbit-sftp-data-integration` 0.4.0-SNAPSHOT.
- JDBC drivers: `org.postgresql:postgresql` 42.7.12, `com.mysql:mysql-connector-j` 9.5.0, `org.xerial:sqlite-jdbc` 3.51.1.0, `com.h2database:h2` 2.4.240.
- Broker clients for qqq-esb: `org.apache.artemis:artemis-jakarta-client` 2.57.0 and `com.rabbitmq.jms:rabbitmq-jms` 3.9.0.
The import also carries the third-party entries `qqq-bom-pom` inherits from `qqq-parent-project` (Netty, Jetty, Jackson, log4j, and others), so they come along to consumers. The expanded effective POM has 264 managed entries. `qqq-all-bom-test` resolves the stack artifacts: everything under `com.kingsrook.*` plus every entry `qqq-all-bom` declares itself. The inherited third-party entries only align versions, so the test does not resolve them.
`StackBomTest` reads the module's effective POM. It checks that the BOM manages each required stack artifact, with `rabbitmq-jms` at 3.9.0. It also checks that the module declares a dependency on every stack artifact, which means the build resolves each one.
The `qbit-geo-data` snapshot now resolves because its parent was fixed in QRun-IO/qbit-geo-data#4. Snapshot `0.2.0-20260926.071340-2` names `qbit-geo-data-parent:0.2.0-SNAPSHOT`.
## Type of Change
- [ ] **Bug Fix** - Fixes an existing issue
- [x] **New Feature** - Adds new functionality
- [ ] **Breaking Change** - Fix or feature that would cause existing functionality to not work as expected
- [ ] **Documentation Update** - Updates documentation
- [ ] **Refactoring** - Code change that neither fixes a bug nor adds a feature
- [x] **Build / CI** - Changes to the Maven build, CircleCI, compose, or image
- [x] **Test Addition** - Adding missing tests or correcting existing tests
## Testing
**How has this been tested?**
- [x] **Unit Tests**: All unit tests pass
- [ ] **Integration Tests**: Integration tests pass
- [ ] **Profiles**: Checked the affected profile(s) (`core`, `full`)
- [ ] **Manual Testing**: Tested manually in a development environment
**Test Commands:**
```bash
# Commands used for testing, and their results
git fetch origin && git merge origin/develop # Already up to date
mvn -B -U verify
# BUILD SUCCESS: qqq-all-parent, qqq-all-bom, qqq-all-bom-test, qqq-all-app
# StackBomTest: Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
# All 8 qBits resolved from the Central snapshot repository, including qbit-geo-data 0.2.0-20260926.071340-2
```
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
What does this PR do?
Fills in
qqq-all-bomso an application can import one BOM and get a tested version set for the whole qqq-all stack. It also addsqqq-all-bom-test, a build-time module that resolves every artifact the BOM manages. That module is not deployed.Related Issue:
Closes #3
Part of #1
What the BOM manages:
com.kingsrook.qqq:qqq-bom-pom:4.1.0-SNAPSHOT, which also bringsqqq-esb(4.1.0-SNAPSHOT) andqqq-frontend-next(0.2.1).qbit-build-parent2.0.0:qbit-quick-search0.2.1-SNAPSHOT,qbit-user-role-permissions0.33.0-SNAPSHOT,qbit-customizable-table-views0.5.0-SNAPSHOT,qbit-standard-process-trace0.3.0-SNAPSHOT,qbit-webhooks0.4.0-SNAPSHOT,qbit-workflows0.114.0-SNAPSHOT,qbit-geo-data0.2.0-SNAPSHOT,qbit-sftp-data-integration0.4.0-SNAPSHOT.org.postgresql:postgresql42.7.12,com.mysql:mysql-connector-j9.5.0,org.xerial:sqlite-jdbc3.51.1.0,com.h2database:h22.4.240.org.apache.artemis:artemis-jakarta-client2.57.0 andcom.rabbitmq.jms:rabbitmq-jms3.9.0.The import also carries the third-party entries
qqq-bom-pominherits fromqqq-parent-project(Netty, Jetty, Jackson, log4j, and others), so they come along to consumers. The expanded effective POM has 264 managed entries.qqq-all-bom-testresolves the stack artifacts: everything undercom.kingsrook.*plus every entryqqq-all-bomdeclares itself. The inherited third-party entries only align versions, so the test does not resolve them.StackBomTestreads the module's effective POM. It checks that the BOM manages each required stack artifact, withrabbitmq-jmsat 3.9.0. It also checks that the module declares a dependency on every stack artifact, which means the build resolves each one.The
qbit-geo-datasnapshot now resolves because its parent was fixed in QRun-IO/qbit-geo-data#4. Snapshot0.2.0-20260926.071340-2namesqbit-geo-data-parent:0.2.0-SNAPSHOT.Type of Change
Testing
How has this been tested?
core,full)Test Commands: