build: replace qqq.version override with opt-in qqq-snapshot profile
Plan B1 step 3 asks for a qqq-snapshot profile. It imports
qqq-bom-pom:${qqq.snapshot.version} (default 4.1.0-SNAPSHOT) ahead of the
parent's BOM and adds the Central snapshots repository. The old
qqq-version-override profile turned on only when -Dqqq.version was set, so
-Pqqq-snapshot did nothing and the build quietly stayed on qqq 4.0.0.
README.md and CLAUDE.md now describe the new profile.
Part of QRun-IO/qqq-all#1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cf3bbcb8cf
commit
4e1fe03349
3 files changed
+27
-16
No files matched your search
@@ -14,7 +14,7 @@ mvn test # Run unit tests
|
||||
mvn test -Dtest=ClassName # Run single test class
|
||||
mvn package # Build JAR
|
||||
mvn verify # Full verify, including integration tests
|
||||
mvn verify -Dqqq.version=4.1.0-SNAPSHOT # Verify against another qqq version
|
||||
mvn verify -Pqqq-snapshot # Verify against 4.1.0-SNAPSHOT (override with -Dqqq.snapshot.version)
|
||||
```
|
||||
|
||||
Integration tests (require Docker) run via `mvn verify` using maven-failsafe-plugin.
|
||||
@@ -71,7 +71,7 @@ Integration tests use `@ExtendWith(RequiresDockerCondition.class)`: skipped with
|
||||
## Dependencies
|
||||
|
||||
- Java 21
|
||||
- Parent `com.kingsrook:qbit-build-parent:2.0.0`, the only source of the qqq version (QQQ 4.0.0); do not re-import `qqq-bom-pom` here (ADR-0007), except in the opt-in `qqq-version-override` profile that `-Dqqq.version` activates
|
||||
- Parent `com.kingsrook:qbit-build-parent:2.0.0`, the only source of the qqq version (QQQ 4.0.0); do not re-import `qqq-bom-pom` here (ADR-0007), except in the opt-in `qqq-snapshot` profile (`-Pqqq-snapshot`), which imports `qqq-bom-pom:${qqq.snapshot.version}` (default 4.1.0-SNAPSHOT) and adds the Central snapshots repository
|
||||
- OpenSearch Java Client 2.10.0
|
||||
- Apache HttpClient5 and jackson-datatype-jsr310, versions managed by the qqq BOM (keep them unpinned so they match its httpcore5 and jackson)
|
||||
- JUnit 5 + AssertJ + Mockito for testing
|
||||
|
||||
@@ -346,12 +346,13 @@ Index `wmsItem` and `wmsLocation` for warehouse item and location search.
|
||||
mvn test # Run unit tests
|
||||
mvn verify # Run unit tests + integration tests (requires Docker)
|
||||
mvn test -Dtest=ClassName # Run single test class
|
||||
mvn verify -Dqqq.version=4.1.0-SNAPSHOT # Verify against another qqq version
|
||||
mvn verify -Pqqq-snapshot # Verify against the next qqq line (4.1.0-SNAPSHOT)
|
||||
```
|
||||
|
||||
The qqq version comes from `qbit-build-parent`. Setting `qqq.version` activates
|
||||
the `qqq-version-override` profile, which imports that version of `qqq-bom-pom`
|
||||
instead.
|
||||
The qqq version comes from `qbit-build-parent`. The opt-in `qqq-snapshot`
|
||||
profile imports `qqq-bom-pom` at `${qqq.snapshot.version}` (default
|
||||
`4.1.0-SNAPSHOT`) ahead of the parent's BOM and adds the Central snapshots
|
||||
repository. Pick another version with `-Dqqq.snapshot.version=...`.
|
||||
|
||||
Without Docker, integration tests are skipped locally. With `CI=true`, they fail
|
||||
instead, so a CI build cannot pass with its integration tests silently skipped.
|
||||
|
||||
@@ -219,27 +219,37 @@
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<!-- The qqq version comes only from qbit-build-parent (ADR-0007). This -->
|
||||
<!-- profile exists solely to verify against another qqq line, and is only -->
|
||||
<!-- active when invoked with e.g. -Dqqq.version=4.1.0-SNAPSHOT. -->
|
||||
<!-- Opt-in check against the next qqq line: mvn -B verify -Pqqq-snapshot -->
|
||||
<!-- (override the version with -Dqqq.snapshot.version=...). Default builds -->
|
||||
<!-- take the qqq version only from qbit-build-parent (ADR-0007). -->
|
||||
<profile>
|
||||
<id>qqq-version-override</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>qqq.version</name>
|
||||
</property>
|
||||
</activation>
|
||||
<id>qqq-snapshot</id>
|
||||
<properties>
|
||||
<qqq.snapshot.version>4.1.0-SNAPSHOT</qqq.snapshot.version>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.kingsrook.qqq</groupId>
|
||||
<artifactId>qqq-bom-pom</artifactId>
|
||||
<version>${qqq.version}</version>
|
||||
<version>${qqq.snapshot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>sonatype-snapshots</id>
|
||||
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
Reference in new issue
Block a user