Compare commits

...
4 Commits
Author SHA1 Message Date
james.maes aaf52d202d chore(release): prepare build parent 2.0.0 for QQQ 4.0 (#3)
* chore(release): prepare build parent 2.0.0

* fix(ci): avoid interactive package restart prompts
2026-09-24 12:55:58 -05:00
James MaesandClaude Opus 4.8 806d20dcad docs: add CLAUDE.md pointer to QQQ knowledge-base dossier + hub
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 05:30:59 -05:00
james.maesandClaude Opus 4.7 dd9a67723a chore: add CODEOWNERS pointing to sole maintainer
Architecture audit pass 2026-05-21. Minimal CODEOWNERS file
making the implicit ownership explicit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 17:13:59 -05:00
james.maes b67f00bc32 Merge release/1.6.0 for v1.6.0 release 2026-03-29 17:42:31 -05:00
5 changed files with 64 additions and 81 deletions

No files matched your search

+21 -1
View File
@@ -3,21 +3,35 @@ version: 2.1
orbs:
qqq-orb: kingsrook/qqq-orb@0.5.0
commands:
configure-package-install:
steps:
- run:
name: Keep package installation unattended
command: |
# These build machines are discarded after the job.
sudo install -d /etc/needrestart/conf.d
printf '%s\n' '$nrconf{restart} = "l";' | sudo tee /etc/needrestart/conf.d/99-qqq-ci.conf >/dev/null
workflows:
test_only:
jobs:
- qqq-orb/mvn_test_only:
pre-steps:
- configure-package-install
context: [ qqq-maven-registry-credentials ]
filters:
branches:
ignore: /(develop|main|release/.*|hotfix/.*|integration.*)/
ignore: /(develop|release/.*|hotfix/.*|integration.*)/
tags:
only: []
publish_snapshot:
jobs:
- qqq-orb/mvn_publish:
pre-steps:
- configure-package-install
context: [ qqq-maven-registry-credentials ]
branch_type: snapshot
filters:
@@ -28,6 +42,8 @@ workflows:
publish_release_candidate:
jobs:
- qqq-orb/mvn_publish:
pre-steps:
- configure-package-install
context: [ qqq-maven-registry-credentials ]
branch_type: release_candidate
filters:
@@ -38,6 +54,8 @@ workflows:
publish_release:
jobs:
- qqq-orb/mvn_publish:
pre-steps:
- configure-package-install
context: [ qqq-maven-registry-credentials ]
branch_type: release
filters:
@@ -49,6 +67,8 @@ workflows:
publish_hotfix_release:
jobs:
- qqq-orb/mvn_publish:
pre-steps:
- configure-package-install
context: [ qqq-maven-registry-credentials ]
branch_type: hotfix
filters:
+1
View File
@@ -0,0 +1 @@
* @KofTwentyTwo
+19
View File
@@ -0,0 +1,19 @@
# CLAUDE.md — qbit-bom
## Knowledge base
Reviewed dossiers for this repo and the wider QQQ platform live in the second-brain vault:
- Hub / start here: `R:/Git.Local/KofTwentyTwo/second-brain/knowledge/qqq/qqq-hub.md`
- This repo's dossier: `R:/Git.Local/KofTwentyTwo/second-brain/knowledge/qqq/repos/qbit-bom.md`
(reviewed at commit `dd9a67723a7d`, branch `main`, 2026-07-04)
Key orientation facts (details and caveats in the dossier):
- Despite the repo name and README, this repo publishes `com.kingsrook:qbit-build-parent` —
the shared Maven parent POM for the qbit repos. It is NOT a qbit-version BOM, and the
README's `io.qrun:qbit-bom` coordinates do not exist on Maven Central.
- v1.6.0 imports `com.kingsrook.qqq:qqq-bom-pom:0.40.0` (Java 21, junit-bom 6.0.1);
develop pins `0.41.0-SNAPSHOT`, which no longer resolves (qqq renumbered to 4.0.x).
- Known licensing inconsistency: LICENSE/NOTICE = Apache-2.0, pom `<licenses>` = AGPL-3.0
(shipped to Central in 1.6.0), README says Proprietary. See dossier "Maturity & risks".
+21 -78
View File
@@ -1,94 +1,37 @@
# qbit-bom
# QBit Build Parent
Maven Bill of Materials for QBit dependencies.
This repository publishes the Maven parent **`com.kingsrook:qbit-build-parent`**. Version **2.0.0** imports **`com.kingsrook.qqq:qqq-bom-pom:4.0.0`**, sets Java 21 compilation defaults, and provides shared release plugin configuration. Use it to adopt QQQ 4.0 in a QBit project.
**For:** QQQ developers managing multiple QBit dependencies
**Status:** Stable
## Why This Exists
QBits have interdependencies and version requirements. Managing compatible versions across qbit-user-role-permissions, qbit-workflows, qbit-webhooks, and others becomes tedious. Version mismatches cause runtime errors.
This BOM (Bill of Materials) declares compatible versions for all QBits. Import it once and omit version numbers from individual QBit dependencies.
## Features
- **Version Management** - Single source of truth for QBit versions
- **Compatibility Guarantee** - All declared versions tested together
- **Simplified POMs** - No version numbers on individual dependencies
- **Transitive Alignment** - Consistent versions for shared dependencies
## Quick Start
### Import the BOM
Add to your `pom.xml` in the `<dependencyManagement>` section:
## Use the parent
```xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.qrun</groupId>
<artifactId>qbit-bom</artifactId>
<version>1.5.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
```
<parent>
<groupId>com.kingsrook</groupId>
<artifactId>qbit-build-parent</artifactId>
<version>2.0.0</version>
<relativePath/>
</parent>
### Add QBits Without Versions
<groupId>com.example.qbits</groupId>
<artifactId>my-qbit</artifactId>
<version>1.0.0-SNAPSHOT</version>
```xml
<dependencies>
<dependency>
<groupId>io.qrun</groupId>
<artifactId>qbit-user-role-permissions</artifactId>
<!-- version managed by BOM -->
</dependency>
<dependency>
<groupId>io.qrun</groupId>
<artifactId>qbit-workflows</artifactId>
</dependency>
<dependency>
<groupId>io.qrun</groupId>
<artifactId>qbit-webhooks</artifactId>
</dependency>
<dependency>
<groupId>com.kingsrook.qqq</groupId>
<artifactId>qqq-backend-core</artifactId>
</dependency>
</dependencies>
```
## Included QBits
Requires Java 21 and Maven 3.8 or later. Resolve releases from Maven Central. The imported QQQ BOM supplies framework dependency versions; **production QBit dependency versions are still chosen by each application**. This parent does not certify the production QBit fleet as compatible with QQQ 4.0.
| QBit | Current Version |
|------|-----------------|
| qbit-user-role-permissions | 0.3.0 |
| qbit-workflows | 0.2.0 |
| qbit-webhooks | 0.2.0 |
| qbit-sftp-data-integration | 0.2.0 |
| qbit-standard-process-trace | 0.1.0 |
| qbit-customizable-table-views | 0.2.0 |
The previous parent release, 1.6.0, imports QQQ 0.40.0. Moving to parent 2.0.0 therefore includes QQQ's breaking API changes; follow the [4.0 migration guide](https://github.com/QRun-IO/qqq/blob/main/docs/migration/4.0.adoc).
## Compatibility
## Release workflow
| BOM Version | QQQ Core Version | Java |
|-------------|------------------|------|
| 1.5.x | 0.35.0+ | 21 |
| 1.4.x | 0.27.0 - 0.34.x | 17 |
| 0.3.x | 0.25.0 - 0.26.x | 17 |
| 0.2.x | 0.22.0 - 0.24.x | 17 |
| 0.1.x | 0.20.0 - 0.21.x | 17 |
## Project Status
Stable. Updated with each QBit release.
## Contributing
1. Fork the repository
2. Update versions in `pom.xml`
3. Submit a pull request
The parent can be published only after its imported final QQQ BOM is available. Run `mvn clean verify` and test consumption from a separate child project before tagging. The existing CircleCI release workflow publishes a final version tag through the `release` Maven profile; a `release/*` branch produces a release candidate.
## License
Proprietary - QRun.IO
See [LICENSE](LICENSE) and [NOTICE](NOTICE).
+2 -2
View File
@@ -42,7 +42,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- use revision property in children -->
<revision>1.6.0</revision>
<revision>2.0.0</revision>
</properties>
<!-- Common dependency BOMs -->
@@ -52,7 +52,7 @@
<dependency>
<groupId>com.kingsrook.qqq</groupId>
<artifactId>qqq-bom-pom</artifactId>
<version>0.40.0</version>
<version>4.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>