Compare commits

...
Author SHA1 Message Date
james.maesandClaude Opus 5.5 82fc3199b9 docs: add README
Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:29:09 -05:00
james.maesandClaude Opus 5.5 c3911e2bb8 ci: build and unit test with qqq-orb
Runs qqq-orb/mvn_test_only on every branch push, with the unattended
package-install pre-step from qqq.

Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:28:51 -05:00
james.maesandClaude Opus 5.5 eb5464a26f build: add Maven reactor with bom and app modules
Parent qqq-all-parent 4.1.0-SNAPSHOT (Java 21) with empty qqq-all-bom and
qqq-all-app modules, and the Central snapshot repository for QQQ 4.1.

Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:28:11 -05:00
james.maesandClaude Opus 5.5 d7563cbcc7 chore(github): add issue and pull request templates
Adapted from qqq for this repo.

Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:26:23 -05:00
james.maesandClaude Opus 5.5 8799b43725 docs: add notice, code of conduct, contributing, security
Adapted from qqq for this repo.

Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:25:43 -05:00
james.maesandClaude Opus 5.5 d3f290f720 chore: add gitignore
Part of #1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 19:24:43 -05:00
15 changed files with 665 additions and 0 deletions

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
---
version: 2.1
orbs:
qqq-orb: kingsrook/qqq-orb@0.6.5
commands:
configure-package-install:
steps:
- run:
name: Keep package installation unattended
command: |
# These build machines are discarded after the job.
# Use Ubuntu's archive mirror, which also carries the signed security suite.
sudo sed -i 's|http://security.ubuntu.com/ubuntu|https://archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list
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:
# Build and unit tests on every branch push. Dependencies are public
# (Maven Central and the Central snapshot repository), so no context is needed.
test_only:
jobs:
- qqq-orb/mvn_test_only:
pre-steps:
- configure-package-install
+48
View File
@@ -0,0 +1,48 @@
---
name: Bug Report
about: Report something in qqq-all that does not work
title: "[BUG] "
labels: bug
assignees: ''
---
## Bug Description
**Clear and concise description of what the bug is.**
## Expected vs Actual Behavior
**What you expected to happen:**
- Expected behavior description
**What actually happened:**
- Actual behavior description
## Steps to Reproduce
1. Start the stack with '...'
2. Go to '...'
3. Click on '...'
4. See error
## Environment
**qqq-all Version:** [e.g., 4.1.0-SNAPSHOT, 4.1.0]
**Profile:** [core or full]
**Java Version:** [e.g., 21]
**Docker Version:** [if using the full profile]
**OS:** [e.g., macOS 15, Ubuntu 24.04, Windows 11 with WSL]
## Additional Context
**Add any other context about the problem here:**
- Screenshots (if applicable)
- Error logs or stack traces
- Related issues or pull requests
## Before Submitting
- [ ] Searched [existing issues](https://github.com/QRun-IO/qqq-all/issues) for duplicates
- [ ] Checked whether this is a framework bug that belongs in [QRun-IO/qqq](https://github.com/QRun-IO/qqq/issues)
+11
View File
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: QQQ Framework Issues
url: https://github.com/QRun-IO/qqq/issues
about: Bugs and feature requests for the QQQ framework itself
- name: QQQ Documentation Wiki
url: https://github.com/QRun-IO/qqq/wiki
about: Complete documentation, guides, and tutorials for QQQ
- name: GitHub Discussions
url: https://github.com/QRun-IO/qqq/discussions
about: Ask questions and discuss QQQ with the community
@@ -0,0 +1,42 @@
---
name: Documentation Issue
about: Report documentation problems or suggest improvements
title: "[DOCS] "
labels: documentation
assignees: ''
---
## Documentation Issue
**What documentation issue are you reporting?**
- [ ] **Missing Documentation** - Something is not documented
- [ ] **Outdated Information** - Documentation is incorrect or outdated
- [ ] **Unclear Content** - Documentation is confusing or hard to understand
- [ ] **Missing Examples** - Need more examples or code samples
- [ ] **Broken Links** - Links don't work or go to wrong places
- [ ] **Other** - Please describe below
## Description
**Clear and concise description of the documentation issue:**
## Location
**Where is this documentation issue located?**
- **File/Page**: [e.g., README.md, CONTRIBUTING.md]
- **Section**: [e.g., "Quick Start"]
- **URL**: [if applicable]
## Suggested Improvement
**How would you improve this documentation?**
- What information should be added?
- How could it be made clearer?
- What examples would be helpful?
## Before Submitting
- [ ] Searched [existing issues](https://github.com/QRun-IO/qqq-all/issues) for similar documentation requests
- [ ] Checked whether this is about framework docs that belong in the [QQQ Wiki](https://github.com/QRun-IO/qqq/wiki)
+37
View File
@@ -0,0 +1,37 @@
---
name: Feature Request
about: Suggest something qqq-all should configure or demonstrate
title: "[FEATURE] "
labels: enhancement
assignees: ''
---
## Feature Description
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like:**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered:**
A clear and concise description of any alternative solutions or features you've considered.
## Use Case
**What is the use case for this feature?**
- Which QQQ feature, backend, or qBit does it involve?
- Which profile does it affect (`core`, `full`, or both)?
- Who would benefit from it?
## Implementation Ideas
**Do you have any ideas about how this could be implemented?**
- Technical approach suggestions
- Any constraints or considerations
## Before Submitting
- [ ] Searched [existing issues](https://github.com/QRun-IO/qqq-all/issues) for similar requests
- [ ] Checked whether this is a framework feature that belongs in [QRun-IO/qqq](https://github.com/QRun-IO/qqq/issues)
+52
View File
@@ -0,0 +1,52 @@
# Pull Request
## Description
**What does this PR do?**
A clear and concise description of what this pull request accomplishes.
**Related Issue:**
Closes #[issue_number]
## 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:**
```bash
# Commands used for testing, and their results
mvn -B verify
```
## Checklist
**Before submitting this PR, please ensure:**
- [ ] **Code Style**: Follows QQQ's [Code Review Standards](https://github.com/QRun-IO/qqq/wiki/Code-Review-Standards)
- [ ] **Tests**: All tests pass
- [ ] **Documentation**: Updated the README or docs where behavior changed
- [ ] **Secrets**: No secrets committed; any demo credentials are marked demo-only and overridable by env
- [ ] **Breaking Changes**: Documented any breaking changes
- [ ] **Commit Messages**: Follow conventional commit format
- [ ] **Self Review**: Code has been reviewed by the author
## Additional Information
**Any additional information that reviewers should know:**
- Screenshots (if applicable)
- Dependencies added/removed
- Migration notes
+50
View File
@@ -0,0 +1,50 @@
target/
*.iml
.env
/.env.local
.idea
.vscode
.claude/
CLAUDE.md
#####################################
## Eclipse / NVIM Modules for Java ##
#####################################
**/.settings/
**/.classpath
**/.factorypath
**/.project
#############################################
## Original contents from github template: ##
#############################################
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.DS_Store
*.swp
.flattened-pom.xml
dependency-reduced-pom.xml
/.cache/
+78
View File
@@ -0,0 +1,78 @@
# Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our community include:
- **Demonstrating empathy and kindness** toward other people
- **Being respectful** of differing opinions, viewpoints, and experiences
- **Giving and gracefully accepting** constructive feedback
- **Accepting responsibility** and apologizing to those affected by our mistakes
- **Focusing on what is best** for the overall community
Examples of unacceptable behavior include:
- **The use of sexualized language or imagery**, and sexual attention or advances of any kind
- **Trolling, insulting or derogatory comments**, and personal or political attacks
- **Public or private harassment**
- **Publishing others' private information**, such as a physical or email address, without their explicit permission
- **Other conduct which could reasonably be considered inappropriate** in a professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at **contact@qrun.io**. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0, available at [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html](https://www.contributor-covenant.org/version/2/0/code_of_conduct.html).
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations).
## Contact Information
- **Community Leaders**: contact@qrun.io
- **Security Issues**: security@qrun.io (see [SECURITY.md](SECURITY.md))
- **Company**: QRunIO, LLC
- **Website**: https://qrun.io
+46
View File
@@ -0,0 +1,46 @@
# Contributing to qqq-all
qqq-all is open source and welcomes contributions. It is the reference build of [QQQ](https://github.com/QRun-IO/qqq) with every feature configured, so most framework changes belong in QQQ or the relevant qBit; changes here wire those pieces together, add demo data, or fix the build. For framework guides, see the [QQQ Wiki](https://github.com/QRun-IO/qqq/wiki).
## How to Contribute
1. **Report issues.** Found a bug or want a feature in the demo stack? [Open an issue](https://github.com/QRun-IO/qqq-all/issues/new/choose). Framework bugs go to [QRun-IO/qqq](https://github.com/QRun-IO/qqq/issues).
2. **Contribute code.** Branch from `develop` as `feature/<issue>-<short-description>` and open the pull request against `develop`.
3. **Improve docs.** Documentation fixes are welcome in the same way as code.
**Key requirements:**
- Java 21 and Maven 3.8+
- Follow QQQ's [Code Review Standards](https://github.com/QRun-IO/qqq/wiki/Code-Review-Standards)
- Add or update tests for any behavior you change
- Use [conventional commit](https://www.conventionalcommits.org/) messages
- Never commit secrets; demo credentials must be marked demo-only and overridable by environment variables
## Development Setup
```bash
git clone git@github.com:QRun-IO/qqq-all.git
cd qqq-all
mvn -B verify
```
qqq-all tracks the QQQ version. Until QQQ 4.1 ships, the build uses `4.1.0-SNAPSHOT` artifacts from the [Sonatype Central snapshot repository](https://central.sonatype.com/repository/maven-snapshots/), which the parent `pom.xml` already declares.
## Contribution Checklist
- [ ] `mvn -B verify` passes locally
- [ ] Tests cover the change
- [ ] Code follows QQQ's code style
- [ ] Commit messages follow the conventional commit format
- [ ] Docs updated where behavior changed
## Getting Help
- **[QQQ Wiki](https://github.com/QRun-IO/qqq/wiki)**: framework guides
- **[Issues](https://github.com/QRun-IO/qqq-all/issues)**: search existing issues or open a new one
- **[Discussions](https://github.com/QRun-IO/qqq/discussions)**: ask questions
## Legal Notice
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content, and that the content you contribute may be provided under the project license ([Apache-2.0](LICENSE)).
Please follow our [Code of Conduct](CODE_OF_CONDUCT.md). Report security issues privately as described in [SECURITY.md](SECURITY.md).
+30
View File
@@ -0,0 +1,30 @@
QQQ All
Copyright 2026 QRunIO, LLC
This product includes software developed at QRunIO, LLC (https://qrun.io/).
Licensed under the Apache License, Version 2.0.
================================================================================
This software contains contributions from:
- James Maes
================================================================================
Third-Party Licenses:
This software depends on and may redistribute third-party open source software
components, including the QQQ framework, qBits, JDBC drivers, and message broker
clients. Each component has its own license. Please see the individual component
documentation for license details.
================================================================================
Trademarks:
QQQ, qBits, qRun, qStudio, and the QRunIO logo are trademarks of QRunIO, LLC.
Use of these trademarks must comply with QRunIO's Trademark Guidelines.
================================================================================
+28
View File
@@ -0,0 +1,28 @@
# qqq-all
QQQ with every feature configured and working out of the box: every storage backend, quick search, the ESB (ActiveMQ Artemis and RabbitMQ), OIDC, and the Next dashboard. It runs in two profiles: `core` (no containers, `java -jar`) and `full` (`docker compose --profile full up`).
**Status:** under construction. qqq-all versions track QQQ and build on `4.1.0-SNAPSHOT` until QQQ 4.1 ships. See the [design](docs/design.md), the [plan](docs/plan.md), and the epic [#1](https://github.com/QRun-IO/qqq-all/issues/1). It is a local demo and reference build, not a production deployment.
## Modules
| Module | Purpose |
|---|---|
| `qqq-all-bom` | One tested version set for QQQ, the ESB, the Next dashboard, the included qBits, JDBC drivers, and broker clients |
| `qqq-all-app` | The reference application with every backend, qBit, and the ESB wired, plus seeded demo data |
## Build
Requires Java 21 and Maven.
```bash
mvn -B verify
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md), the [Code of Conduct](CODE_OF_CONDUCT.md), and the [security policy](SECURITY.md).
## License
Apache-2.0. See [LICENSE](LICENSE) and [NOTICE](NOTICE).
+53
View File
@@ -0,0 +1,53 @@
# Security Policy
## Supported Versions
qqq-all versions track QQQ versions.
| Version | Supported | Notes |
| ------- | --------- | ----- |
| 4.1.x | Yes | In development on `develop` (`4.1.0-SNAPSHOT`) until QQQ 4.1 ships |
## Scope
qqq-all is a local demo and reference build. It is not a production deployment: production still needs DNS, TLS, backups, monitoring, and highly available brokers. Any demo credentials in this repository are for local use only and must be overridden before exposing a stack to a network.
Vulnerabilities in the QQQ framework or a qBit should be reported to that project. If you are unsure where an issue belongs, report it here and it will be routed.
## Reporting a Vulnerability
**Security vulnerabilities should NEVER be reported publicly.**
### Private Reporting
Use GitHub's private vulnerability reporting:
**[Report a vulnerability](https://github.com/QRun-IO/qqq-all/security/advisories/new)**
Or email: **security@qrun.io**
### What to Include
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- qqq-all version and profile (`core` or `full`), Java version, OS, and Docker version if relevant
### Response Timeline
| Stage | Timeline |
|-------|----------|
| Initial response | 24 hours |
| Assessment | 3 business days |
| Resolution | Based on severity |
## For Contributors
- Dependencies must not introduce HIGH or CRITICAL vulnerabilities
- Secrets must never be committed
- Follow QQQ's secure coding practices ([CODE_STYLE.md](https://github.com/QRun-IO/qqq/blob/develop/CODE_STYLE.md))
## Contact
- **Security issues**: security@qrun.io
- **General contact**: contact@qrun.io
- **Organization**: [QRun-IO](https://github.com/QRun-IO)
+124
View File
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.kingsrook.qqq</groupId>
<artifactId>qqq-all-parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<name>QQQ All</name>
<description>QQQ with every feature configured and working out of the box: a tested stack BOM and a reference application.</description>
<url>https://github.com/QRun-IO/qqq-all</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:https://github.com/QRun-IO/qqq-all.git</connection>
<developerConnection>scm:git:ssh://git@github.com/QRun-IO/qqq-all.git</developerConnection>
<url>https://github.com/QRun-IO/qqq-all</url>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>kingsrook</id>
<name>Kingsrook, LLC</name>
<email>pub@qrun.io</email>
<organization>Kingsrook, LLC</organization>
<organizationUrl>https://qrun.io</organizationUrl>
</developer>
</developers>
<modules>
<module>qqq-all-bom</module>
<module>qqq-all-app</module>
</modules>
<properties>
<!-- qqq-all versions track QQQ versions. -->
<revision>4.1.0-SNAPSHOT</revision>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.release>21</maven.compiler.release>
</properties>
<repositories>
<!-- QQQ 4.1.0-SNAPSHOT and other QRun-IO snapshots are published here until 4.1 ships. -->
<repository>
<id>central-portal-snapshots</id>
<name>Sonatype Central Portal Snapshots</name>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<build>
<pluginManagement>
<!-- Pinned because CI's system Maven (3.6.3) defaults to plugins that predate maven.compiler.release and JUnit 5. -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.4.2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Resolve ${revision} in installed and deployed POMs (CI sets it per branch). -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.7.3</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.kingsrook.qqq</groupId>
<artifactId>qqq-all-parent</artifactId>
<version>${revision}</version>
</parent>
<artifactId>qqq-all-app</artifactId>
<packaging>jar</packaging>
<name>QQQ All - Reference Application</name>
<description>Reference QQQ application with every backend, qBit, and the ESB wired, plus seeded demo data.</description>
</project>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.kingsrook.qqq</groupId>
<artifactId>qqq-all-parent</artifactId>
<version>${revision}</version>
</parent>
<artifactId>qqq-all-bom</artifactId>
<packaging>pom</packaging>
<name>QQQ All - Stack BOM</name>
<description>One tested version set for QQQ, the ESB, the Next dashboard, the included qBits, JDBC drivers, and broker clients.</description>
</project>