blob: 680e57797285dafef67a8592a395fd36bceba329 [file] [log] [blame]
<?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 https://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<groupId>org.apache.struts</groupId>
<artifactId>struts-master</artifactId>
<version>15</version>
<relativePath />
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>struts2-project</artifactId>
<version>7.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Struts 2</name>
<url>https://struts.apache.org/</url>
<description>Apache Struts 2</description>
<inceptionYear>2000</inceptionYear>
<!--
<description>
Apache Struts 2 is an elegant, extensible framework,
well suited for creating moderate to large-scale Java web
applications. The framework is designed to streamline the
full development cycle, from building, to deploying,
to maintaining applications over time.
</description>
-->
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/struts.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/struts.git</developerConnection>
<url>https://github.com/apache/struts/</url>
<tag>HEAD</tag>
</scm>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/projects/WW</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>https://builds.apache.org/job/Struts/</url>
<notifiers>
<notifier>
<type>mail</type>
<configuration>
<address>dev@struts.apache.org</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
<distributionManagement>
<site>
<id>struts-site</id>
<name>Apache Struts</name>
<url>https://struts.apache.org/maven/</url>
</site>
</distributionManagement>
<modules>
<module>bom</module>
<module>parent</module>
<module>jakarta</module>
<module>core</module>
<module>plugins</module>
<module>apps</module>
</modules>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments />
</license>
</licenses>
<organization>
<name>Apache Software Foundation</name>
<url>https://www.apache.org</url>
</organization>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.outputTimestamp>2026-02-01T12:20:24Z</project.build.outputTimestamp>
<maven.compiler.release>17</maven.compiler.release>
<!-- Maven plugin -->
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
<maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
<!-- dependency versions in alphanumeric order -->
<asm.version>9.9.1</asm.version>
<byte-buddy.version>1.18.4</byte-buddy.version>
<freemarker.version>2.3.34</freemarker.version>
<hibernate-validator.version>8.0.2.Final</hibernate-validator.version>
<jackson.version>2.21.0</jackson.version>
<jakarta-ee.version>10.0.0</jakarta-ee.version>
<jaxb-impl.version>4.0.6</jaxb-impl.version>
<log4j2.version>2.25.3</log4j2.version>
<mockito.version>5.21.0</mockito.version>
<ognl.version>3.4.8</ognl.version>
<slf4j.version>2.0.17</slf4j.version>
<spring.version>6.2.12</spring.version>
<struts-annotations.version>2.0</struts-annotations.version>
<velocity-tools.version>3.1</velocity-tools.version>
<weld.version>6.0.4.Final</weld.version>
<!-- Site generation -->
<fluido-skin.version>2.1.0</fluido-skin.version>
<!-- Sonar -->
<sonar.organization>apache</sonar.organization>
<sonar.projectKey>apache_struts</sonar.projectKey>
<sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<argLine>-Duser.language=en -Duser.country=US -Duser.region=US</argLine>
</properties>
<profiles>
<profile>
<id>includeAssembly</id>
<activation>
<property>
<name>!skipAssembly</name>
</property>
</activation>
<modules>
<module>assembly</module>
</modules>
</profile>
<profile>
<id>jakartaee11</id>
<properties>
<jakarta-ee.version>11.0.0-M5</jakarta-ee.version>
<spring.version>7.0.3</spring.version>
</properties>
</profile>
<profile>
<id>dependency-check</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>coverage</id>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.14</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
<goal>prepare-agent-integration</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
<goal>report-integration</goal>
</goals>
<configuration>
<formats>
<format>XML</format>
</formats>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.9.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>${maven-surefire-plugin.version}</version>
</dependency>
</dependencies>
<configuration>
<argLine>
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
@{argLine}
</argLine>
<includes>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/TestBean.java</exclude>
</excludes>
<properties>
<property>
<name>junit</name>
<value>false</value>
</property>
</properties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>6.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.9.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.4.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<doclint>none</doclint>
<failOnError>false</failOnError>
<excludePackageNames>
org.apache.struts2.views.jasperreports:org.apache.tiles.request.velocity.*:org.demo.rest.example:org.apache.struts.beanvalidation.*
</excludePackageNames>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.17</version>
<configuration>
<inputExcludeStds>ALL</inputExcludeStds>
<inputExcludes>
<exclude>CLAUDE.md</exclude>
<exclude>CODEOWNERS</exclude>
<exclude>SECURITY.md</exclude>
<exclude>**/README.md</exclude>
<exclude>src/main/resources/*-LICENSE.txt</exclude>
<exclude>src/site/resources/tags/**/*.html</exclude>
<exclude>src/test/resources/**/*.txt</exclude>
<exclude>src/main/resources/org/apache/struts2/static/domTT.js</exclude>
<exclude>src/main/webapp/**/*.css</exclude>
<exclude>src/main/webapp/**/*.map</exclude>
<exclude>src/main/webapp/**/*.js</exclude>
<exclude>src/main/webapp/**/*.svg</exclude>
<exclude>src/main/webapp/**/*.txt</exclude>
<exclude>**/src/main/resources/**/docs-urls.txt</exclude>
<exclude>src/etc/header.txt</exclude>
<exclude>src/main/resources/static/css/**/*.css</exclude>
<exclude>src/main/resources/static/js/**/*.js</exclude>
<exclude>**/src/main/resources/docs.cfg</exclude>
<exclude>src/main/webapp/fonts/**/*</exclude>
<exclude>thoughts/**/*.md</exclude>
<exclude>test-output/**</exclude>
</inputExcludes>
</configuration>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>12.2.0</version>
<configuration>
<suppressionFiles>
<suppressionFile>src/etc/project-suppression.xml</suppressionFile>
</suppressionFiles>
<failBuildOnCVSS>7</failBuildOnCVSS>
<skipProvidedScope>true</skipProvidedScope>
<skipRuntimeScope>true</skipRuntimeScope>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<skipAssembly>true</skipAssembly>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.2</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<dependencyConvergence />
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-wrapper-plugin</artifactId>
<version>3.3.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.21.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<relativizeSiteLinks>false</relativizeSiteLinks>
<pomPackagingOnly>false</pomPackagingOnly>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>site-inheritance</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
<execution>
<id>stage-for-scm-publish</id>
<phase>post-site</phase>
<goals>
<goal>stage</goal>
</goals>
<configuration>
<skipDeploy>false</skipDeploy>
</configuration>
<inherited>false</inherited>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<defaultGoal>install</defaultGoal>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<configuration>
<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
<reportSet>
<id>default</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<configuration>
<name>Dependency Check</name>
<failBuildOnCVSS>11</failBuildOnCVSS>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.21.0</version>
<reportSets>
<reportSet>
<reports>
<report>dependency-updates-report</report>
<report>plugin-updates-report</report>
<report>property-updates-report</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>