| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| 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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.apache.causeway</groupId> |
| <artifactId>causeway-bom</artifactId> |
| <version>4.0.0-SNAPSHOT</version> |
| <relativePath>../bom/pom.xml</relativePath> |
| </parent> |
| |
| <artifactId>causeway-parent</artifactId> |
| |
| <packaging>pom</packaging> |
| <name>Apache Causeway Parent</name> |
| <url>https://causeway.apache.org</url> |
| <description> |
| Gathers all the framework build configuration, such that the BOM can be |
| free of that. |
| </description> |
| |
| |
| <properties> |
| <!-- BUILD SPECIFICA --> |
| |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| <sourceReleaseAssemblyDescriptor>source-release</sourceReleaseAssemblyDescriptor> |
| <gpg.useagent>true</gpg.useagent> |
| <minimalMavenBuildVersion>3.9.12</minimalMavenBuildVersion> <!-- latest |
| from github actions/setup-java@v3 --> |
| <minimalJavaBuildVersion>17</minimalJavaBuildVersion> |
| <maven.compiler.release>17</maven.compiler.release> |
| |
| <!-- for m-plugin-p and maven-plugin-annotations --> |
| <assembly.tarLongFileMode>posix</assembly.tarLongFileMode> |
| <causeway.skipTests>false</causeway.skipTests> |
| <maven.test.skip>${causeway.skipTests}</maven.test.skip> |
| |
| <project.build.outputTimestamp>2025-10-08T16:48:14Z</project.build.outputTimestamp> |
| |
| <delombok.output>${project.build.directory}/delombok</delombok.output> |
| |
| <!-- PLUGINS --> |
| |
| <maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version> |
| <ethlo-eclipselink-maven-plugin.version>3.0.2</ethlo-eclipselink-maven-plugin.version> |
| <maven-release-plugin.version>3.3.1</maven-release-plugin.version> |
| <maven-source-plugin.version>3.4.0</maven-source-plugin.version> |
| <maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version> |
| <maven-surefire-report-plugin.version>3.5.5</maven-surefire-report-plugin.version> |
| <!-- for surefire, failsafe and surefire-report --> |
| <maven.plugin.tools.version>3.15.2</maven.plugin.tools.version> |
| |
| <maven.jar.phase>package</maven.jar.phase> <!-- override with 'none' for |
| artifacts that need to skip the maven-jar-plugin--> |
| |
| <!-- config migrated here from core POM --> |
| <git-plugin.gitDir>${project.basedir}/.git</git-plugin.gitDir> |
| <dependency.locations.enabled>false</dependency.locations.enabled> |
| <testsToExclude>**/*IntegrationTest.java</testsToExclude> |
| <checkstyle.configLocation> |
| ${project.basedir}/core/codequality/checkstyle.xml</checkstyle.configLocation> |
| <pmd.ruleset>${project.basedir}/core/codequality/pmd.xml</pmd.ruleset> |
| |
| </properties> |
| |
| <build> |
| |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>false</filtering> |
| <includes> |
| <include>**</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>src/main/java</directory> |
| <filtering>false</filtering> |
| <includes> |
| <include>**</include> |
| </includes> |
| <excludes> |
| <exclude>**/*.java</exclude> |
| </excludes> |
| </resource> |
| </resources> |
| <testResources> |
| <testResource> |
| <directory>src/test/resources</directory> |
| <filtering>false</filtering> |
| </testResource> |
| <testResource> |
| <directory>src/test/java</directory> |
| <filtering>false</filtering> |
| <includes> |
| <include>**</include> |
| </includes> |
| <excludes> |
| <exclude>**/*.java</exclude> |
| </excludes> |
| </testResource> |
| </testResources> |
| |
| <pluginManagement> |
| <plugins> |
| <!-- set versions of common plugins for reproducibility, ordered |
| alphabetically --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>3.2.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>3.8.0</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.5.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <parameters>true</parameters> |
| <!-- Java compliance level, to be overridden with option |
| maven.compiler.release --> |
| </configuration> |
| <!-- goal:compile binds to phase:compile --> |
| <!-- goal:testCompile binds to phase:test-compile --> |
| <dependencies> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>9.9.1</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>com.ethlo.persistence.tools</groupId> |
| <artifactId>eclipselink-maven-plugin</artifactId> |
| <version>${ethlo-eclipselink-maven-plugin.version}</version> |
| <executions> |
| <execution> |
| <phase>process-classes</phase> |
| <goals> |
| <goal>weave</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jvnet.jaxb2.maven2</groupId> |
| <artifactId>maven-jaxb2-plugin</artifactId> |
| <version>0.15.3</version> |
| <configuration> |
| <removeOldOutput>true</removeOldOutput> |
| <episode>true</episode> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.10.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>3.1.4</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-ear-plugin</artifactId> |
| <version>3.4.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <version>3.6.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.2.8</version> |
| <configuration> |
| <gpgArguments> |
| <arg>--digest-algo=SHA512</arg> |
| </gpgArguments> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-help-plugin</artifactId> |
| <version>3.5.1</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>3.1.4</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-invoker-plugin</artifactId> |
| <version>3.9.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.5.0</version> |
| <executions> |
| <execution> |
| <id>default-jar</id> |
| <phase>${maven.jar.phase}</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <skipIfEmpty>true</skipIfEmpty> |
| <archive> |
| <manifest> |
| <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| </manifest> |
| <manifestEntries> |
| <Automatic-Module-Name> |
| ${jar-plugin.automaticModuleName}</Automatic-Module-Name> |
| <Implementation-Vendor-Id>org.apache.causeway</Implementation-Vendor-Id> |
| <Implementation-Vendor>Apache Causewayâ„¢ Project</Implementation-Vendor> |
| <Bundle-SymbolicName> |
| ${jar-plugin.automaticModuleName}</Bundle-SymbolicName> |
| <SCM-Revision>${git.commit.id.abbrev}</SCM-Revision> |
| <!-- required for DN plugin.xml loading --> |
| <Bundle-SymbolicName> |
| ${jar-plugin.automaticModuleName}</Bundle-SymbolicName> |
| <!-- no requirement as of yet. |
| <Bundle-ManifestVersion>2</Bundle-ManifestVersion> |
| <Bundle-Name>${jar-plugin.automaticModuleName}</Bundle-Name> |
| <Bundle-Version>3.4.0-SNAPSHOT</Bundle-Version> |
| <Bundle-Vendor>Apache Causewayâ„¢ Project</Bundle-Vendor> --> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.12.0</version> |
| <configuration> |
| <notimestamp>true</notimestamp> |
| <!-- avoid noise for svn/gitpubsub --> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugin-tools</groupId> |
| <artifactId>maven-plugin-annotations</artifactId> |
| <version>${maven.plugin.tools.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-plugin-plugin</artifactId> |
| <version>${maven.plugin.tools.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>3.9.0</version> <!--bumped--> |
| <configuration> |
| <pluginManagementExcludes> |
| <exclude>org.eclipse.m2e:lifecycle-mapping</exclude> |
| </pluginManagementExcludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <version>${maven-release-plugin.version}</version> |
| <configuration> |
| <useReleaseProfile>false</useReleaseProfile> |
| <goals>deploy</goals> |
| <releaseProfiles>apache-release</releaseProfiles> |
| <!-- overrides the default ('clean verify') --> |
| <preparationGoals>clean install</preparationGoals> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <localCheckout>true</localCheckout> |
| <pushChanges>false</pushChanges> |
| <waitBeforeTagging>1</waitBeforeTagging> |
| <!-- goal:clean (for aggregator modules) has no |
| bindings; cleans up |
| release.properties and any backup POM files --> |
| <!-- goal:prepare (for aggregator modules) has no |
| bindings; prepares |
| for release in SCM (modifying x.x-SNAPSHOT to x.x) --> |
| <!-- goal:update-versions (for aggregator modules) has |
| no bindings; |
| updates versions eg to SNAPSHOT --> |
| <!-- etc; none of the goals has a binding. --> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <version>3.3.0</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.5.0</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-plugin</artifactId> |
| <version>2.2.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-scm-publish-plugin</artifactId> |
| <version>3.3.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.21.0</version> <!--bumped--> |
| </plugin> |
| <plugin> |
| <!-- Packaging: source jars of main and test code --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>${maven-source-plugin.version}</version> |
| <configuration> |
| <includePom>true</includePom> |
| </configuration> |
| <!-- goal:aggregate (for aggregator modules) binds to |
| phase:package --> |
| <!-- goal:jar and goal:test-jar are meant to bind to |
| phase:package, |
| but doesn't seem to so bound explicitly --> |
| <!-- failing since maven-source-plugin 3.3.0 (as duplicated |
| runs |
| are no longer alloed; there is a clash with built-in goal 'jar-no-fork') |
| <executions> |
| <execution> |
| <id>package-jars</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| --> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven-surefire-plugin.version}</version> |
| <configuration> |
| <!-- override defaults and include everything unless |
| explicitly excluded --> |
| <includes> |
| <include>**/*.java</include> |
| </includes> |
| <excludes> |
| <exclude>${testsToExclude}</exclude> |
| </excludes> |
| <printSummary>false</printSummary> |
| <argLine>${surefire-plugin.argLine}</argLine> |
| <forkCount>1C</forkCount> |
| <reuseForks>true</reuseForks> |
| <systemPropertyVariables> |
| <!-- allows tests to reduce verbosity, or |
| conditionally disable |
| when run with surefire; e.g.: |
| @DisabledIfSystemProperty(named = "isRunningWithSurefire", matches = "true") |
| --> |
| <isRunningWithSurefire>true</isRunningWithSurefire> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Test Reporting --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| <version>${maven-surefire-report-plugin.version}</version> |
| <!-- goal:report is a report so is configured in the |
| reporting section; |
| invokes phase:test before running itself --> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.6.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.18</version> |
| <configuration> |
| <reportFile>target/rat.xml</reportFile> |
| <consoleOutput>true</consoleOutput> |
| <reportStyle>xml</reportStyle> |
| <addDefaultLicenseMatchers>true</addDefaultLicenseMatchers> |
| <excludeSubProjects>true</excludeSubProjects> |
| <excludes> |
| <exclude>**/target/**</exclude> |
| <exclude>**/target-ide/**</exclude> |
| |
| <exclude>**/node_modules/**</exclude> |
| <exclude>**/node/npm</exclude> |
| <exclude>**/node/npm.cmd</exclude> |
| |
| <exclude>**/*.project</exclude> |
| <exclude>**/.classpath</exclude> |
| <exclude>**/.settings/**</exclude> |
| <exclude>**/*.launch</exclude> |
| <exclude>**/schema.gql</exclude> |
| <exclude>**/*._.gql</exclude> |
| <exclude>**/.gitkeep</exclude> |
| |
| <exclude>**/*.iml</exclude> |
| <exclude>**/intellij/launch/*.xml</exclude> |
| |
| <exclude>**/gradle/wrapper/gradle-wrapper.properties</exclude> |
| <exclude>**/gradlew</exclude> |
| <exclude>**/gradlew.bat</exclude> |
| <exclude>**/rebel.xml</exclude> |
| <exclude>**/translations**.po</exclude> |
| <exclude>**/translations.pot</exclude> |
| |
| <exclude>**/META-INF/spring.factories</exclude> |
| <exclude>**/MANIFEST.MF</exclude> |
| <exclude>**/META-INF/services/**</exclude> |
| |
| <exclude> |
| **/src/main/resources/supplemental-models.xml</exclude> |
| |
| <exclude>**/webpack.config.js</exclude> |
| <exclude>**/webpack.generated.js</exclude> |
| <exclude>**/pnpm-lock.yaml</exclude> |
| <exclude>**/pnpmfile.js</exclude> |
| <exclude>**/*.min.js</exclude> |
| |
| <exclude>**/*.pdn</exclude> |
| <exclude>**/*.svg</exclude> |
| <exclude>**/*.rtf</exclude> |
| <exclude>**/*.drawio.svg</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/.gitkeep</exclude> |
| <exclude>**/*.min.js</exclude> |
| <exclude>**/fakedata/applib/services/clobs/*.dtd</exclude> |
| <exclude>**/fakedata/applib/services/clobs/*.dcl</exclude> |
| <exclude>**/fakedata/applib/services/clobs/*.soc</exclude> |
| <exclude>**/fakedata/applib/services/clobs/vs</exclude> |
| <exclude>**/fakedata/applib/services/clobs/vx</exclude> |
| <exclude>**/*.columnOrder.txt</exclude> |
| <exclude>**/*.drawio.svg</exclude> |
| <exclude>**/META-INF/spring.factories</exclude> |
| |
| <exclude> |
| **/incubator/clients/kroviz/package.json.d/project.info</exclude> |
| <exclude>**/supplemental-ui/**</exclude> |
| <exclude>**/_nav.adoc</exclude> |
| <exclude>**/module-nav.adoc</exclude> |
| <exclude>**/component-nav.adoc</exclude> |
| <exclude>**/partials/extensions.adoc</exclude> |
| |
| <exclude> |
| **/causeway/valuetypes/asciidoc/builder/src/test/resources/**</exclude> |
| |
| <exclude>**/MANIFEST.MF</exclude> |
| <exclude>**/*.ucd</exclude> |
| <exclude>**/*.ucls</exclude> |
| <exclude>**/*.puml</exclude> |
| <exclude>**/antora/supplemental-ui/**</exclude> |
| |
| <exclude>**/xml/objects/**</exclude> |
| <exclude>**/test.data</exclude> |
| <exclude>**/fixture-data/**</exclude> |
| <exclude>**/partials/module-nav.adoc</exclude> |
| <exclude>**/partials/extensions.adoc</exclude> |
| <exclude>**/partials/component-nav.adoc</exclude> |
| <exclude>**/_nav.adoc</exclude> |
| <exclude>**/_overview/nav.adoc</exclude> |
| |
| <exclude>**/application.js</exclude> |
| <exclude>**/bootstrap-datetimepicker.min.css</exclude> |
| <exclude>**/bootstrap-datetimepicker.css</exclude> |
| |
| <exclude>**/jquery.zclip.js</exclude> |
| <exclude>**/simple-sidebar.css</exclude> |
| <exclude>**/causeway-bootstrap-growl.js</exclude> |
| <exclude>**/moment.js</exclude> |
| <exclude>**/prism*.js</exclude> |
| <exclude>**/prism*.css</exclude> |
| <exclude>**/kroviz/webpack.config.d/**</exclude> |
| |
| <exclude>**/viewer/wicket/ui/components/**/*.css</exclude> |
| <exclude>**/viewer/wicket/ui/components/**/*.js</exclude> |
| <exclude>**/bootstrap-datetimepicker.min.css</exclude> |
| <exclude>**/bootstrap-datetimepicker.css</exclude> |
| <exclude>**/select2-bootstrap.css</exclude> |
| |
| <exclude>**/wicket-xhtml1.4-strict.dtd</exclude> |
| |
| <exclude> |
| **/src/main/resources/supplemental-models.xml</exclude> |
| <exclude>**/gradle/wrapper/gradle-wrapper.properties</exclude> |
| <exclude>**/gradlew</exclude> |
| <exclude>**/gradlew.bat</exclude> |
| <exclude>**/rebel.xml</exclude> |
| <exclude>**/translations**.po</exclude> |
| <exclude>**/translations.pot</exclude> |
| <exclude>**/vega*.js</exclude> |
| |
| <exclude>**/css/home/scss-files.txt</exclude> |
| <exclude>**/css/home/styles.css</exclude> |
| <exclude>**/css/site-custom.css</exclude> |
| |
| <exclude>**/swagger-ui/**</exclude> |
| |
| <exclude>**/META-INF/services/**</exclude> |
| <exclude>**/select2-bootstrap.css</exclude> |
| |
| <exclude>**/wicket-xhtml1.4-strict.dtd</exclude> |
| |
| <exclude>**/application.js</exclude> |
| |
| <exclude>**/xml/objects/**</exclude> |
| <exclude>**/test.data</exclude> |
| <exclude>**/fixture-data/**</exclude> |
| <exclude>**/*.approved.*</exclude> |
| <exclude>**/*.approved.xml</exclude> |
| <exclude>**/*.approved.txt</exclude> |
| <exclude>**/approved/*.adoc</exclude> |
| <exclude>**/secman-permissions.yml</exclude> |
| |
| <exclude>**/fakedata/applib/services/clobs/*.dtd</exclude> |
| <exclude>**/fakedata/applib/services/clobs/*.dcl</exclude> |
| <exclude>**/fakedata/applib/services/clobs/*.soc</exclude> |
| <exclude>**/fakedata/applib/services/clobs/vs</exclude> |
| <exclude>**/fakedata/applib/services/clobs/vx</exclude> |
| |
| <exclude>**/viewer/wicket/ui/components/**/*.css</exclude> |
| <exclude>**/viewer/wicket/ui/components/**/*.js</exclude> |
| |
| <exclude> |
| **/causeway/valuetypes/asciidoc/builder/src/test/resources/**</exclude> |
| |
| <exclude> |
| **/incubator/clients/kroviz/package.json.d/project.info</exclude> |
| <exclude>**/kroviz/webpack.config.d/**</exclude> |
| </excludes> |
| <licenses> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>AL2 </licenseFamilyCategory> |
| <licenseFamilyName>Apache License 2.0</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Licensed to the Apache Software |
| Foundation (ASF) under |
| one</pattern> |
| </patterns> |
| </license> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>BSD3</licenseFamilyCategory> |
| <licenseFamilyName>BSD 3-Clause</licenseFamilyName> |
| <patterns> |
| <pattern>BSD-3-Clause license</pattern> |
| </patterns> |
| </license> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>MIT</licenseFamilyCategory> |
| <licenseFamilyName>MIT Licensed</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>The MIT License (MIT)</pattern> |
| <pattern>Dual licensed under the MIT</pattern> |
| <pattern>http://prismjs.com/download.html</pattern> |
| </patterns> |
| </license> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>CC3</licenseFamilyCategory> |
| <licenseFamilyName>Creative Commons 3.0</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>ASCII text placed in the public |
| domain by Moby Lexical Tools, 1992.</pattern> |
| </patterns> |
| </license> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>JMOCK</licenseFamilyCategory> |
| <licenseFamilyName>JMock</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Copyright (c) 2000-2007, jMock.org</pattern> |
| </patterns> |
| </license> |
| <license |
| implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense"> |
| <licenseFamilyCategory>JMOCK</licenseFamilyCategory> |
| <licenseFamilyName>JMock</licenseFamilyName> |
| <notes /> |
| <patterns> |
| <pattern>Copyright (c) 2000-2007, jMock.org</pattern> |
| </patterns> |
| </license> |
| </licenses> |
| <licenseFamilies> |
| <licenseFamily |
| implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>Apache License 2.0</familyName> |
| </licenseFamily> |
| <licenseFamily |
| implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>BSD 3-Clause</familyName> |
| </licenseFamily> |
| <licenseFamily |
| implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>MIT</familyName> |
| </licenseFamily> |
| <licenseFamily |
| implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>JMock</familyName> |
| </licenseFamily> |
| <licenseFamily |
| implementation="org.apache.rat.license.SimpleLicenseFamily"> |
| <familyName>XHTML</familyName> |
| </licenseFamily> |
| </licenseFamilies> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>yuicompressor-maven-plugin</artifactId> |
| <version>1.5.1</version> |
| <configuration> |
| <statistics>true</statistics> |
| <jswarn>false</jswarn> |
| <suffix>.min</suffix> |
| <excludes> |
| <!-- --> |
| <exclude>**/*.nocompress.js</exclude> |
| <!-- select 2 --> |
| <exclude>**/i18n/*.js</exclude> |
| <exclude>**/select2*.js</exclude> |
| <!-- datetime picker --> |
| <exclude>**/moment-with-locales.js</exclude> |
| <exclude>**/moment-with-locales.min.js</exclude> |
| <exclude>**/tempusdominus-bootstrap-4.js</exclude> |
| <exclude>**/tempusdominus-bootstrap-4.min.js</exclude> |
| <!-- boostrap growl --> |
| <exclude>**/bootstrap-growl.js</exclude> |
| <exclude>**/bootstrap-growl.min.js</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compress</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-docck-plugin</artifactId> |
| <version>1.2</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>clirr-maven-plugin</artifactId> |
| <version>2.8</version> |
| </plugin> |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>${git-commit-id-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>get-the-git-infos</id> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| <phase>validate</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <verbose>false</verbose> |
| <useNativeGit>true</useNativeGit> |
| <dotGitDirectory>${git-plugin.gitDir}</dotGitDirectory> |
| |
| <dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat> |
| <dateFormatTimeZone>${user.timezone}</dateFormatTimeZone> |
| |
| <failOnNoGitDirectory>true</failOnNoGitDirectory> |
| <injectAllReactorProjects>true</injectAllReactorProjects> |
| |
| <generateGitPropertiesFile>true</generateGitPropertiesFile> |
| <generateGitPropertiesFilename> |
| ${project.build.outputDirectory}/${git-plugin.propertiesDir}/git.properties</generateGitPropertiesFilename> |
| |
| <abbrevLength>7</abbrevLength> |
| </configuration> |
| |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <outputDirectory>${project.build.directory}/classes</outputDirectory> |
| <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> |
| |
| <plugins> |
| <!-- build plugins; apply to all inheriting modules. Note that some |
| plugins |
| also come from the "super-POM" for the default bindings. For example, in |
| the 'default' lifecycle, the resources, compiler, surefire, jar, install |
| and deploy plugins are automatically included because they provide the default |
| bindings. For the 'site' lifecycle, the site plugin is automatically included. --> |
| <!-- run using: mvn org.apache.rat:apache-rat-plugin:check --> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <inherited>true</inherited> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <inherited>true</inherited> |
| </plugin> |
| |
| <!-- We want to package up license resources in the JARs produced --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>process-resource-bundles</id> |
| <goals> |
| <goal>process</goal> |
| </goals> |
| <configuration> |
| <resourceBundles> |
| <resourceBundle> |
| org.apache:apache-jar-resource-bundle:1.4</resourceBundle> |
| </resourceBundles> |
| |
| <!-- Reference the supplemental-model artifact from |
| module supplemental-model --> |
| <supplementalModelArtifacts> |
| <supplementalModelArtifact> |
| org.apache.causeway:supplemental-model:1.0</supplementalModelArtifact> |
| </supplementalModelArtifacts> |
| |
| <!-- Specify the path, relative to the JAR root, |
| where the supplemental model file is located --> |
| <supplementalModels> |
| <supplementalModel>supplemental-models.xml</supplementalModel> |
| </supplementalModels> |
| <properties> |
| <projectTimespan>2010~2022</projectTimespan> |
| <postDepListText> |
| The above (auto-generated) list aggregates |
| the dependencies (either directly or |
| transitively) of all the modules that make |
| up ${project.name}. You can use |
| mvn dependency:list or mvn dependency:tree |
| to view dependencies by submodule. |
| ${license.additional-notes} |
| </postDepListText> |
| </properties> |
| <!-- APACHE CAUSEWAY customisation 12/21: end --> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>[3.9.9,)</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>[17,)</version> |
| </requireJavaVersion> |
| <!-- seemingly not compatible with use of 3.4.0-SNAPSHOT |
| placeholders |
| <requirePluginVersions> <message>All plugin versions must be defined!</message> |
| <banLatest>true</banLatest> <banRelease>true</banRelease> |
| </requirePluginVersions> --> |
| <DependencyConvergence /> |
| </rules> |
| </configuration> |
| <executions> |
| <!-- goal:enforce supposedly binds to phase:validate, but |
| explicit binding seems to be required --> |
| <execution> |
| <id>validate-enforce</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>enforce-maven-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>${minimalMavenBuildVersion}</version> |
| </requireMavenVersion> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-java-version</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireJavaVersion> |
| <version>${minimalJavaBuildVersion}</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-descriptor</id> |
| <goals> |
| <goal>attach-descriptor</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| <extensions> |
| <!-- scp and sftp support for deployments. --> |
| <extension> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-ssh</artifactId> |
| <version>3.5.3</version> |
| </extension> |
| <!-- ftp support for deployments. --> |
| <extension> |
| <groupId>org.apache.maven.wagon</groupId> |
| <artifactId>wagon-ftp</artifactId> |
| <version>3.5.3</version> |
| </extension> |
| </extensions> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <profiles> |
| <!-- START SNIPPET: release-profile --> |
| <profile> |
| <id>apache-release</id> |
| <activation> |
| <property> |
| <name>apache-release</name> |
| </property> |
| </activation> |
| <properties> |
| <skipTests>true</skipTests> |
| </properties> |
| <distributionManagement> |
| <repository> |
| <id>apache.releases.https</id> |
| <name>Apache Release Distribution Repository</name> |
| <url> |
| https://repository.apache.org/service/local/staging/deploy/maven2</url> |
| </repository> |
| <snapshotRepository> |
| <id>apache.snapshots.https</id> |
| <name>${distMgmtSnapshotsName}</name> |
| <url>${distMgmtSnapshotsUrl}</url> |
| </snapshotRepository> |
| </distributionManagement> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>dev.pcms</groupId> |
| <artifactId>lombok-maven-plugin</artifactId> |
| <version>1.18.42.1</version> |
| <configuration> |
| <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> |
| <outputDirectory>${delombok.output}</outputDirectory> |
| <addOutputDirectory>false</addOutputDirectory> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>delombok</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-toolchains-plugin</artifactId> |
| <version>3.2.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>toolchain</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <toolchains> |
| <jdk> |
| <version>17</version> |
| <vendor>openjdk</vendor> |
| </jdk> |
| </toolchains> |
| </configuration> |
| </plugin> |
| |
| <!-- We want to deploy the artifact to a staging location |
| for perusal --> |
| <plugin> |
| <inherited>true</inherited> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <configuration> |
| <!-- invalid config |
| <updateReleaseInfo>true</updateReleaseInfo> --> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <notimestamp>true</notimestamp> |
| <sourcepath>${delombok.output}</sourcepath> |
| <doclint>none</doclint> |
| <failOnError>false</failOnError> |
| |
| <debug>true</debug> |
| <minmemory>128m</minmemory> |
| <maxmemory>1024m</maxmemory> |
| <quiet>true</quiet> |
| <doctitle>${project.name} ${project.version}</doctitle> |
| <windowtitle>${project.name} |
| ${project.version}</windowtitle> |
| <splitindex>true</splitindex> |
| <encoding>${project.build.sourceEncoding}</encoding> |
| <links> |
| <link> |
| https://docs.oracle.com/en/java/javase/17/docs/api/</link> |
| </links> |
| <linksource>true</linksource> |
| <detectOfflineLinks>false</detectOfflineLinks> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- calculate checksums of source release for Apache dist |
| area --> |
| <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>artifacts</goal> |
| </goals> |
| <!-- execute prior to maven-gpg-plugin:sign due |
| to |
| https://github.com/nicoulaj/checksum-maven-plugin/issues/112 --> |
| <phase>post-integration-test</phase> |
| <configuration> |
| <algorithms> |
| <algorithm>SHA-512</algorithm> |
| </algorithms> |
| <!-- |
| https://maven.apache.org/apache-resource-bundles/#source-release-assembly-descriptor --> |
| <includeClassifiers>source-release</includeClassifiers> |
| <excludeMainArtifact>true</excludeMainArtifact> |
| <csvSummary>false</csvSummary> |
| <!-- attach SHA-512 checksum as well to |
| upload to Maven Staging Repo, |
| as this eases uploading from stage to dist and doesn't do harm in Maven Central --> |
| <attachChecksums>true</attachChecksums> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- We want to sign the artifact, the POM, and all attached |
| artifacts (except for SHA-512 checksum) --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>sign-release-artifacts</id> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| </profile> |
| <!-- END SNIPPET: release-profile --> |
| |
| <profile> |
| <id>jpa-weave</id> |
| <activation> |
| <!-- all conditions need to be met--> |
| <file><exists>${basedir}/.build-jpa-enhance</exists></file> |
| <property><name>enhanceEclipselink</name></property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.ethlo.persistence.tools</groupId> |
| <artifactId>eclipselink-maven-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>src</id> |
| <activation> |
| <property> |
| <name>!skip.src</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>owasp</id> |
| <activation> |
| <property> |
| <name>owasp</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>12.2.1</version> |
| <executions> |
| <execution> |
| <id>owasp-aggregate</id> |
| <goals> |
| <goal>aggregate</goal> |
| </goals> |
| <configuration> |
| <skipProvidedScope>true</skipProvidedScope> |
| <skipRuntimeScope>true</skipRuntimeScope> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>jdeps</id> |
| <activation> |
| <property> |
| <name>jdeps</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jdeps-plugin</artifactId> |
| <version>3.2.0</version> |
| <executions> |
| <execution> |
| <id>jdeps-jdkinternals</id> |
| <goals> |
| <goal>jdkinternals</goal> |
| <goal>test-jdkinternals</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>git</id> |
| <activation> |
| <property> |
| <name>git</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>causeway-lombok-workaround</id> |
| <activation> |
| <file> |
| <missing>${basedir}/logging-dn-enhance.properties</missing> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <parameters>true</parameters> |
| <annotationProcessorPaths> |
| <!-- this is a workaround |
| |
| Details: The maven compiler plugin ought to pick up all available processors on |
| the classpath. |
| In effect Lombok's annotation processor should be picked up implicitly, but yet |
| is not |
| |
| Presence of file 'logging-dn-enhance.properties' decativates this profile and |
| the maven-compiler-plugin runs all annotation processors as picked up from the |
| class-path. |
| --> |
| <annotationProcessorPath> |
| <groupId>org.projectlombok</groupId> |
| <artifactId>lombok</artifactId> |
| <version>${lombok.version}</version> |
| </annotationProcessorPath> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>enforce-output-timestamp-property</id> |
| <activation> |
| <!-- multiple profile activation conditions have AND logic ... --> |
| <property> |
| <name>apache-release</name> |
| </property> |
| <file> |
| <missing>${basedir}/.maven-apache-parent.marker</missing> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-output-timestamp-property</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireProperty> |
| <property> |
| project.build.outputTimestamp</property> |
| <message> |
| The property |
| "project.build.outputTimestamp" |
| must be set on the reactor's |
| root pom.xml to make the build |
| reproducible. Further |
| information at |
| "https://maven.apache.org/guides/mini/guide-reproducible-builds.html".</message> |
| </requireProperty> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>sources</id> |
| <activation> |
| <property> |
| <name>sources</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>jacoco-report-xml</id> |
| <activation> |
| <property> |
| <name>jacoco-report-xml</name> |
| </property> |
| </activation> |
| <properties> |
| <surefire-plugin.argLine> |
| @{argLine} |
| -Xmx384m |
| </surefire-plugin.argLine> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.14</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| <configuration> |
| <formats>XML</formats> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>telemetry</id> |
| <activation> |
| <property> |
| <name>telemetry</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>io.opentelemetry.contrib</groupId> |
| <artifactId>opentelemetry-maven-extension</artifactId> |
| <version>1.55.0-alpha</version> |
| <extensions>true</extensions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |
| |
| |