This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/v4 by this push:
new 0110d715a53 CAUSEWAY-3892: app-starter POM fix (Maven 4)
0110d715a53 is described below
commit 0110d715a53d645bad4c295e4c17197fcd0a12f3
Author: Andi Huber <[email protected]>
AuthorDate: Wed May 28 14:39:26 2025 +0200
CAUSEWAY-3892: app-starter POM fix (Maven 4)
---
bom/pom.xml | 6 +-
pom.xml | 558 ++++++++++++++++++++++---------------------------------
starters/pom.xml | 38 +---
3 files changed, 234 insertions(+), 368 deletions(-)
diff --git a/bom/pom.xml b/bom/pom.xml
index d69dbcd0af5..d399750d3f1 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -120,7 +120,8 @@ identified
<graphql-java-extended-scalars.version>22.0</graphql-java-extended-scalars.version>
<guava.version>33.4.8-jre</guava.version>
- <hibernate-validator.version>9.0.0.Final</hibernate-validator.version>
<!-- Spring Boot 4 preview, remove later -->
+ <hibernate-validator.version>9.0.0.Final</hibernate-validator.version>
<!--
+ Spring Boot 4 preview, remove later -->
<htmlparser.version>2.1</htmlparser.version>
<javafaker.version>1.0.2</javafaker.version>
@@ -751,17 +752,14 @@ identified
<type>jar</type>
</dependency>
-
<!-- org.apache.causeway.mavendeps -->
<dependency>
<groupId>org.apache.causeway.mavendeps</groupId>
<artifactId>causeway-mavendeps-webapp</artifactId>
<version>${project.version}</version>
<type>pom</type>
- <scope>compile</scope>
</dependency>
-
<!-- org.apache.causeway.extensions (commandlog) -->
<dependency>
<groupId>org.apache.causeway.extensions</groupId>
diff --git a/pom.xml b/pom.xml
index 5830efe4c7a..60d655cfbde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,350 +18,240 @@
under the License.
-->
<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>
+ 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>org.apache.causeway</groupId>
- <artifactId>causeway-all</artifactId>
- <version>${revision}</version>
+ <groupId>org.apache.causeway</groupId>
+ <artifactId>causeway-all</artifactId>
+ <version>${revision}</version>
- <packaging>pom</packaging>
+ <packaging>pom</packaging>
- <name>Apache Causeway (Aggregator)</name>
- <description>
- Convenience aggregator POM that references all modules, some
explicitely,
+ <name>Apache Causeway (Aggregator)</name>
+ <description>
+ Convenience aggregator POM that references all modules, some
+ explicitely,
others via profiles, that are not activiated per default.
The parent POM of the core framework is bom/pom.xml.
</description>
<properties>
- <revision>4.0.0-SNAPSHOT</revision> <!-- can be overidden like mvn
-Drevision=2.7.8 -->
+ <revision>4.0.0-SNAPSHOT</revision> <!-- can be overidden like mvn
+ -Drevision=2.7.8 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.deploy.skip>true</maven.deploy.skip> <!-- don't deploy the
aggregator -->
-
- <maven-timeline.version>2.0.3</maven-timeline.version>
- </properties>
-
- <scm>
-
<connection>scm:git:https://github.com/apache/causeway.git</connection>
-
<developerConnection>scm:git:https://github.com/apache/causeway.git</developerConnection>
- <url>https://github.com/apache/causeway.git</url>
- <tag>HEAD</tag>
- </scm>
-
- <build>
- <extensions>
- <extension>
- <groupId>io.takari.maven</groupId>
- <artifactId>maven-timeline</artifactId>
- <version>${maven-timeline.version}</version>
- </extension>
- </extensions>
- </build>
-
- <profiles>
-
- <!-- ESSENTIAL MODULES -->
-
- <profile>
- <id>essential</id>
- <activation>
- <property>
- <name>!skip.essential</name>
- </property>
- </activation>
- <modules>
- <!--
- essential modules required to run web applications and tests;
- non-essential modules can be added to the build via profiles
- (as defined below);
-
- keep module declarations in alphabetical order!
-
- also keep profiles in sync with the site documentation
-
https://github.com/apache/causeway/blob/master/antora/components/conguide/modules/ROOT/pages/building-apache-causeway.adoc
- -->
+ <maven.deploy.skip>true</maven.deploy.skip> <!-- don't deploy the
+ aggregator -->
+
+ <maven-timeline.version>2.0.3</maven-timeline.version>
+ </properties>
+
+ <scm>
+ <connection>scm:git:https://github.com/apache/causeway.git</connection>
+
<developerConnection>scm:git:https://github.com/apache/causeway.git</developerConnection>
+ <url>https://github.com/apache/causeway.git</url>
+ <tag>HEAD</tag>
+ </scm>
+
+ <build>
+ <extensions>
+ <extension>
+ <groupId>io.takari.maven</groupId>
+ <artifactId>maven-timeline</artifactId>
+ <version>${maven-timeline.version}</version>
+ </extension>
+ </extensions>
+ </build>
+
+ <profiles>
+
+ <!-- RELEASED MODULES -->
+
+ <profile>
+ <id>released</id>
+ <activation>
+ <property>
+ <name>!skip.essential</name>
+ </property>
+ </activation>
+ <!--
+ essential modules required to run web applications and tests;
+ non-essential modules can be added to the build via profiles
+ (as defined below);
+
+ keep module declarations in alphabetical order!
+
+ also keep profiles in sync with the site documentation
+
https://github.com/apache/causeway/blob/master/antora/components/conguide/modules/ROOT/pages/building-apache-causeway.adoc
+ -->
+ <modules>
<module>bom</module>
- <module>core</module>
- <module>extensions</module>
- <module>mavendeps</module>
- <module>starters</module>
- <module>testing</module>
- <module>valuetypes</module>
- </modules>
-
- </profile>
-
- <!-- RELEASED MODULES -->
-
- <profile>
- <id>released</id>
- <activation>
- <property>
- <name>released</name>
- </property>
- </activation>
- <modules>
- <module>bom</module>
- <module>core</module>
- <module>extensions</module>
- <module>mavendeps</module>
- <module>starters</module>
- <module>testing</module>
- <module>valuetypes</module>
- </modules>
- </profile>
-
- <!-- ALL MODULES -->
-
- <profile>
- <id>module-all</id>
- <activation>
- <property>
- <name>module-all</name>
- </property>
- </activation>
- <modules>
- <module>antora</module>
-
- <!-- incubator, without kroviz -->
-
<module>incubator/extensions/core/commandreplay</module>
-
- <module>regressiontests</module>
- </modules>
- </profile>
-
- <!-- ALL MODULES - TROUBLE SHOOTING -->
-
- <profile>
- <id>module-all-except-incubator</id>
- <activation>
- <property>
- <name>module-all-except-incubator</name>
- </property>
- </activation>
- <modules>
- <module>antora</module>
- <module>regressiontests</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-all-except-kroviz</id>
- <activation>
- <property>
- <name>module-all-except-kroviz</name>
- </property>
- </activation>
- <modules>
- <module>antora</module>
-
- <!-- incubator, without kroviz -->
-
<module>incubator/extensions/core/commandreplay</module>
-
- <module>regressiontests</module>
- </modules>
- </profile>
-
- <!-- NON-ESSENTIAL MODULES -->
-
- <profile>
- <id>module-antora</id>
- <activation>
- <property>
- <name>module-antora</name>
- </property>
- </activation>
- <modules>
- <module>antora</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-extensions</id>
- <activation>
- <property>
- <name>module-extensions</name>
- </property>
- </activation>
- <modules>
- <module>extensions</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-ext-secman</id>
- <activation>
- <property>
- <name>module-secman</name>
- </property>
- </activation>
- <modules>
- <module>extensions/security/secman</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-incubator-all</id>
- <activation>
- <property>
- <name>module-incubator-all</name>
- </property>
- </activation>
- <modules>
- <module>incubator/clients/kroviz</module>
-
<module>incubator/extensions/core/commandreplay</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-incubator-commandreplay</id>
- <activation>
- <property>
-
<name>module-incubator-commandreplay</name>
- </property>
- </activation>
- <modules>
-
<module>incubator/extensions/core/commandreplay</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-incubator-kroviz</id>
- <activation>
- <property>
- <name>module-incubator-kroviz</name>
- </property>
- </activation>
- <modules>
- <module>incubator/clients/kroviz</module>
- </modules>
- </profile>
-
- <profile>
- <id>module-regressiontests</id>
- <activation>
- <property>
- <name>module-regressiontests</name>
- </property>
- </activation>
- <modules>
- <module>regressiontests</module>
- </modules>
- </profile>
-
- <profile>
- <id>apache-release</id>
- <activation>
- <property>
- <name>apache-release</name>
- </property>
- </activation>
- <properties>
- <skipTests>true</skipTests>
-
<altDeploymentRepository>apache.releases.https::default::https://repository.apache.org/service/local/staging/deploy/maven2</altDeploymentRepository>
- </properties>
- <build>
- <plugins>
- <!-- We want to sign the artifact, the
POM, and all attached artifacts -->
- <plugin>
-
<groupId>org.apache.maven.plugins</groupId>
-
<artifactId>maven-gpg-plugin</artifactId>
- <version>3.2.7</version>
- <executions>
- <execution>
-
<id>sign-release-artifacts</id>
- <goals>
-
<goal>sign</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <gpgArguments>
-
<arg>--digest-algo=SHA512</arg>
- </gpgArguments>
- </configuration>
- </plugin>
- <plugin>
-
<groupId>net.nicoulaj.maven.plugins</groupId>
-
<artifactId>checksum-maven-plugin</artifactId>
- <version>1.11</version>
- <executions>
- <execution>
-
<id>source-release-checksum</id>
- <goals>
-
<goal>files</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <algorithms>
-
<algorithm>SHA-512</algorithm>
- </algorithms>
-
<csvSummary>false</csvSummary>
- <fileSets>
- <fileSet>
-
<directory>${project.build.directory}</directory>
-
<includes>
-
<include>${project.artifactId}-${project.version}-source-release.zip</include>
-
<include>${project.artifactId}-${project.version}-source-release.tar*</include>
-
</includes>
- </fileSet>
- </fileSets>
-
<failIfNoFiles>false</failIfNoFiles><!-- usually, no file to do checksum:
+ <module>core</module>
+ <module>extensions</module>
+ <module>mavendeps</module>
+ <module>starters</module>
+ <module>testing</module>
+ <module>valuetypes</module>
+ </modules>
+ </profile>
+
+ <!-- ALL MODULES -->
+
+ <profile>
+ <id>module-all</id>
+ <activation>
+ <property>
+ <name>module-all</name>
+ </property>
+ </activation>
+ <modules>
+ <module>antora</module>
+ <module>regressiontests</module>
+ </modules>
+ </profile>
+
+ <!-- NON-ESSENTIAL MODULES -->
+
+ <profile>
+ <id>module-antora</id>
+ <activation>
+ <property>
+ <name>module-antora</name>
+ </property>
+ </activation>
+ <modules>
+ <module>antora</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>module-regressiontests</id>
+ <activation>
+ <property>
+ <name>module-regressiontests</name>
+ </property>
+ </activation>
+ <modules>
+ <module>regressiontests</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>apache-release</id>
+ <activation>
+ <property>
+ <name>apache-release</name>
+ </property>
+ </activation>
+ <properties>
+ <skipTests>true</skipTests>
+ <altDeploymentRepository>
+
apache.releases.https::default::https://repository.apache.org/service/local/staging/deploy/maven2</altDeploymentRepository>
+ </properties>
+ <build>
+ <plugins>
+ <!-- We want to sign the artifact, the POM, and all
attached
+ artifacts -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>3.2.7</version>
+ <executions>
+ <execution>
+ <id>sign-release-artifacts</id>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <gpgArguments>
+ <arg>--digest-algo=SHA512</arg>
+ </gpgArguments>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>net.nicoulaj.maven.plugins</groupId>
+ <artifactId>checksum-maven-plugin</artifactId>
+ <version>1.11</version>
+ <executions>
+ <execution>
+ <id>source-release-checksum</id>
+ <goals>
+ <goal>files</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <algorithms>
+ <algorithm>SHA-512</algorithm>
+ </algorithms>
+ <csvSummary>false</csvSummary>
+ <fileSets>
+ <fileSet>
+
<directory>${project.build.directory}</directory>
+ <includes>
+ <include>
+
${project.artifactId}-${project.version}-source-release.zip</include>
+ <include>
+
${project.artifactId}-${project.version}-source-release.tar*</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ <failIfNoFiles>false</failIfNoFiles><!-- usually,
no
+ file to do checksum:
don't consider
error -->
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>github</id>
- <activation>
- <property>
- <name>github</name>
- </property>
- </activation>
- <distributionManagement>
- <repository>
- <id>github</id>
- <name>Github Releases</name>
-
<url>https://maven.pkg.github.com/apache/causeway</url>
- </repository>
- </distributionManagement>
- </profile>
-
- <profile>
- <id>nightly-localfs-repo</id>
- <activation>
- <property>
- <name>nightly-localfs-repo</name>
- </property>
- </activation>
- <distributionManagement>
- <repository>
- <id>nightly-localfs-repo</id>
- <name>Temporary Local Filesystem
Staging Repository</name>
- <url>file://${MVN_SNAPSHOTS_PATH}</url>
- </repository>
- </distributionManagement>
- <build>
- <plugins>
- <plugin>
-
<artifactId>maven-deploy-plugin</artifactId>
- <version>3.1.4</version>
- <configuration>
-
<altDeploymentRepository>
-
nightly-localfs-repo::file://${MVN_SNAPSHOTS_PATH}
-
</altDeploymentRepository>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- </profiles>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>github</id>
+ <activation>
+ <property>
+ <name>github</name>
+ </property>
+ </activation>
+ <distributionManagement>
+ <repository>
+ <id>github</id>
+ <name>Github Releases</name>
+ <url>https://maven.pkg.github.com/apache/causeway</url>
+ </repository>
+ </distributionManagement>
+ </profile>
+
+ <profile>
+ <id>nightly-localfs-repo</id>
+ <activation>
+ <property>
+ <name>nightly-localfs-repo</name>
+ </property>
+ </activation>
+ <distributionManagement>
+ <repository>
+ <id>nightly-localfs-repo</id>
+ <name>Temporary Local Filesystem Staging Repository</name>
+ <url>file://${MVN_SNAPSHOTS_PATH}</url>
+ </repository>
+ </distributionManagement>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.4</version>
+ <configuration>
+ <altDeploymentRepository>
+
nightly-localfs-repo::file://${MVN_SNAPSHOTS_PATH}
+ </altDeploymentRepository>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ </profiles>
</project>
diff --git a/starters/pom.xml b/starters/pom.xml
index 609ce850f41..1d319b00177 100644
--- a/starters/pom.xml
+++ b/starters/pom.xml
@@ -23,20 +23,17 @@
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>
- <!-- this must come before <parent> because the version is manually
updated
- in build-artifacts.sh -->
+ <parent>
+ <groupId>org.apache.causeway</groupId>
+ <artifactId>causeway-bom</artifactId>
+ <version>${revision}</version>
+ <relativePath>../bom/pom.xml</relativePath>
+ </parent>
+
<groupId>org.apache.causeway.app</groupId>
<artifactId>causeway-app-starter-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>3.5.0</version>
- <relativePath />
- </parent>
-
<name>Apache Causeway Starter Parent</name>
<description>
Parent pom providing dependency and plugin management for
Apache Causeway applications
@@ -44,18 +41,6 @@
</description>
<url>https://causeway.apache.org</url>
- <properties>
-
- <maven.compiler.release>17</maven.compiler.release>
-
- <spring-boot.version>3.5.0</spring-boot.version>
- <approvaltests.version>24.22.0</approvaltests.version>
-
- <!-- IMPORTANT: keep in sync with property defined in
resteasy-spring-boot-starter -->
- <resteasy.version>6.0.0.Alpha2</resteasy.version>
-
- </properties>
-
<build>
<pluginManagement>
<plugins>
@@ -100,17 +85,10 @@
</plugins>
</pluginManagement>
</build>
+
<dependencyManagement>
<dependencies>
- <dependency>
- <groupId>org.apache.causeway</groupId>
- <artifactId>causeway-bom</artifactId>
- <version>${project.version}</version>
- <scope>import</scope>
- <type>pom</type>
- </dependency>
-
<dependency>
<groupId>com.approvaltests</groupId>
<artifactId>approvaltests</artifactId>