Files
qbit-scripting/github/pom.xml
T
james.maesandClaude Sonnet 5.5 034d77b5ac build: make the reactor root the single version source of every module
The release pipeline rewrites <revision> only in the ROOT pom.xml (the pinned legacy calculate_version.sh) and nothing passes -Drevision
(java-verify runs plain `mvn verify` with MAVEN_ARGS only from caller inputs), but every module declared its own <revision>0.1.0-SNAPSHOT</revision>
and did not inherit the root. After an RC rewrite the root would say the RC while the modules still built as the SNAPSHOT, so capture
(target/<artifact>-<root version>.jar) would find no JAR and the publisher (one version per reactor) would reject the reactor.

Standard Maven CI-friendly inheritance: the root takes the modules' own former parent (qbit-build-parent 2.0.0, identical for all four
modules), every module's parent becomes the root (version ${revision}, relativePath ../pom.xml) and the per-module <revision> properties are
removed. Each module's inherited build configuration is unchanged (child -> root -> the same qbit-build-parent); modules still build on their
own through the relative parent. Metadata audit: the root declares Apache-2.0 and base declares it too (unchanged); rdbms, middleware and
github declared no license and inherited qbit-build-parent's AGPL-3.0, so they now state that same license explicitly to keep their published
metadata exactly as before (the repository LICENSE is Apache: whether those three should be Apache is an owner decision, not changed here).
All GAVs, module boundaries, flatten plugin, dependencies, tests and sources are unchanged.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 17:23:52 -06:00

51 lines
4.5 KiB
XML

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent><groupId>com.kingsrook.qbits</groupId><artifactId>qbit-scripting-reactor</artifactId><version>${revision}</version><relativePath>../pom.xml</relativePath></parent>
<groupId>com.kingsrook.qbits</groupId><artifactId>qbit-scripting-github</artifactId><version>${revision}</version>
<licenses><license><name>GNU Affero General Public License v3.0</name><url>https://www.gnu.org/licenses/agpl-3.0-standalone.html</url><distribution>repo</distribution></license></licenses>
<properties><maven.compiler.release>21</maven.compiler.release><maven.compiler.proc>none</maven.compiler.proc><qqq.version>4.1.0-RC.21</qqq.version><qqq.core.version>4.1.0-RC.21</qqq.core.version></properties>
<dependencyManagement><dependencies>
<dependency><groupId>com.kingsrook.qqq</groupId><artifactId>qqq-backend-core</artifactId><version>${qqq.core.version}</version></dependency>
<dependency><groupId>com.kingsrook.qqq</groupId><artifactId>qqq-backend-module-rdbms</artifactId><version>${qqq.core.version}</version></dependency>
<dependency><groupId>com.kingsrook.qqq</groupId><artifactId>qqq-bom-pom</artifactId><version>${qqq.version}</version><type>pom</type><scope>import</scope></dependency>
<dependency><groupId>org.junit</groupId><artifactId>junit-bom</artifactId><version>6.0.1</version><type>pom</type><scope>import</scope></dependency>
</dependencies></dependencyManagement>
<dependencies>
<dependency><groupId>com.kingsrook.qbits</groupId><artifactId>qbit-scripting</artifactId><version>${revision}</version></dependency>
<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>6.0.1</version><scope>test</scope></dependency>
</dependencies>
<build>
<resources>
<resource><directory>src/main/resources</directory><filtering>false</filtering></resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.3.1</version>
<executions><execution><id>package-license-notices</id><phase>process-resources</phase><goals><goal>copy-resources</goal></goals>
<configuration><outputDirectory>${project.build.outputDirectory}/META-INF</outputDirectory><resources><resource>
<directory>${project.basedir}</directory><filtering>false</filtering><includes><include>LICENSE</include><include>NOTICE</include></includes>
</resource></resources></configuration>
</execution></executions>
</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-checkstyle-plugin</artifactId><version>3.3.1</version>
<dependencies><dependency><groupId>com.puppycrawl.tools</groupId><artifactId>checkstyle</artifactId><version>10.12.6</version></dependency></dependencies>
<configuration><configLocation>${project.basedir}/../checkstyle/config.xml</configLocation><propertyExpansion>checkstyle.reactor.root=${maven.multiModuleProjectDirectory}</propertyExpansion><includeTestSourceDirectory>true</includeTestSourceDirectory><consoleOutput>true</consoleOutput><violationSeverity>warning</violationSeverity><failOnViolation>true</failOnViolation></configuration>
<executions><execution><phase>validate</phase><goals><goal>check</goal></goals></execution></executions>
</plugin>
<plugin>
<!-- Publish a self-contained POM: ${revision}/property versions are resolved at build time, so a consumer needs no -Drevision -->
<groupId>org.codehaus.mojo</groupId><artifactId>flatten-maven-plugin</artifactId><version>1.7.3</version>
<configuration><updatePomFile>true</updatePomFile><flattenMode>ossrh</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>