| <?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"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <!-- pick up Apache distributionManagement for releasing (snapshots, releases, etc.): --> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>39</version> |
| </parent> |
| |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-root</artifactId> |
| <packaging>pom</packaging> |
| <version>999-SNAPSHOT</version> |
| |
| <name>Apache Shiro</name> |
| <url>https://shiro.apache.org/</url> |
| <description> |
| Apache Shiro is a powerful and flexible open-source security framework that cleanly handles |
| authentication, authorization, enterprise session management, single sign-on and cryptography services. |
| </description> |
| <inceptionYear>2004</inceptionYear> |
| |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/shiro.git</connection> |
| <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/shiro.git</developerConnection> |
| <url>https://github.com/apache/shiro/tree/${project.scm.tag}</url> |
| <tag>main</tag> |
| </scm> |
| <issueManagement> |
| <system>Jira</system> |
| <url>https://issues.apache.org/jira/browse/SHIRO</url> |
| </issueManagement> |
| <ciManagement> |
| <system>Jenkins</system> |
| <url>https://builds.apache.org/job/Shiro/</url> |
| </ciManagement> |
| |
| <distributionManagement> |
| <site> |
| <id>shiro.website</id> |
| <name>Apache Shiro Site</name> |
| <url>scp://people.apache.org/www/shiro.apache.org/static/latest</url> |
| </site> |
| <downloadUrl>https://shiro.apache.org/download.html</downloadUrl> |
| </distributionManagement> |
| |
| <properties> |
| <!-- *** Remove the line below when 3.0.0 is released --> |
| <shiro.previousVersion>3.0.0</shiro.previousVersion> |
| <!-- Replaced by the build number plugin at build time: --> |
| <buildNumber>${user.name}-${maven.build.timestamp}</buildNumber> |
| <project.build.outputTimestamp>2026-02-07T22:56:07Z</project.build.outputTimestamp> |
| <root.dir>${maven.multiModuleProjectDirectory}</root.dir> |
| <jacoco.skip>true</jacoco.skip> |
| <japicmp-skip>false</japicmp-skip> |
| <japicmp.skip>${japicmp-skip}</japicmp.skip> |
| <!-- workaround for gmavenplus plugin until maven 4 is being used --> |
| <maven.project.sourceRoots.warningsDisabled>true</maven.project.sourceRoots.warningsDisabled> |
| <!--suppress CheckTagEmptyBody --> |
| <surefire.argLine/> |
| <!--suppress CheckTagEmptyBody --> |
| <failsafe.argLine/> |
| <argLine/> |
| <junit5.parallel.tests.enabled>true</junit5.parallel.tests.enabled> |
| <junit5.parallel.tests.mode>concurrent</junit5.parallel.tests.mode> |
| <nexus.deploy.skip>false</nexus.deploy.skip> |
| <nexus-staging-profile>nexus-staging</nexus-staging-profile> |
| <jacocoAgent/> |
| <!-- non-dependency-based properties: --> |
| <shiro.osgi.importRange>[3.0.0,999.999.999]</shiro.osgi.importRange> |
| <jcache.osgi.importRange>[1.1,2)</jcache.osgi.importRange> |
| |
| <!-- Compile 3rd party dependencies: --> |
| <!-- Don't change this version without also changing the shiro-aspect and shiro-features |
| modules' OSGi metadata: --> |
| <aspectj.version>1.9.25.1</aspectj.version> |
| <commons.beanutils.version>1.11.0</commons.beanutils.version> |
| <commons.cli.version>1.11.0</commons.cli.version> |
| <commons.collection.version>3.2.2</commons.collection.version> |
| <commons.configuration2.version>2.15.1</commons.configuration2.version> |
| <commons.lang3.version>3.20.0</commons.lang3.version> |
| <commons.logging.version>1.4.0</commons.logging.version> |
| <commons.text.version>1.8</commons.text.version> |
| <hsqldb.version>2.7.4</hsqldb.version> |
| <jcache.api.version>1.1.1</jcache.api.version> |
| <jdk.version>17</jdk.version> |
| <tomcat.version>11.0.24</tomcat.version> |
| <jakarta.ee.version>11.0.0</jakarta.ee.version> |
| <jetty.version>12.1.11</jetty.version> |
| <owasp.java.encoder.version>1.4.0</owasp.java.encoder.version> |
| <!-- Don't change this version without also changing the shiro-quartz and shiro-features |
| modules' OSGi metadata: --> |
| <quartz.version>2.5.2</quartz.version> |
| <quartz.docs.version>2.3.0</quartz.docs.version> |
| <slf4j.version>2.0.18</slf4j.version> |
| <log4j.version>2.26.1</log4j.version> |
| <spring.version>7.0.8</spring.version> |
| <spring-boot.version>4.1.0</spring-boot.version> |
| <guice.version>7.0.0</guice.version> |
| <jaxrs.api.version>4.0.0</jaxrs.api.version> |
| <htmlunit.version>5.3.0</htmlunit.version> |
| <bouncycastle.version>1.85</bouncycastle.version> |
| |
| <!-- Test 3rd-party dependencies: --> |
| <easymock.version>5.6.0</easymock.version> |
| <mockito.version>5.23.0</mockito.version> |
| <bytebuddy.version>1.18.11</bytebuddy.version> |
| <gmaven.version>5.1.0</gmaven.version> |
| <groovy.version>5.0.7</groovy.version> |
| <junit.version>6.1.2</junit.version> |
| <junit.server.jetty.version>3.5.0</junit.server.jetty.version> |
| <hibernate.version>7.4.5.Final</hibernate.version> |
| <taglibs.standard.version>1.2.5</taglibs.standard.version> |
| <lombok.version>1.18.46</lombok.version> |
| |
| <maven.compiler.release>${jdk.version}</maven.compiler.release> |
| |
| <!-- checkstyle --> |
| <checkstyle.configLocation>${root.dir}/src/checkstyle.xml</checkstyle.configLocation> |
| <checkstyle.suppressionsLocation>${root.dir}/src/suppressions.xml</checkstyle.suppressionsLocation> |
| <fluido-skin.version>2.1.0</fluido-skin.version> |
| </properties> |
| |
| <modules> |
| <module>lang</module> |
| <module>crypto</module> |
| <module>event</module> |
| <module>cache</module> |
| <module>config</module> |
| <module>core</module> |
| <module>web</module> |
| <module>support</module> |
| <module>tools</module> |
| <module>integration-tests</module> |
| <module>samples</module> |
| <!-- <module>test-coverage</module> --> |
| </modules> |
| |
| <mailingLists> |
| <mailingList> |
| <name>Apache Shiro Users Mailing List</name> |
| <subscribe>user-subscribe@shiro.apache.org</subscribe> |
| <unsubscribe>user-unsubscribe@shiro.apache.org</unsubscribe> |
| <post>user@shiro.apache.org</post> |
| <!--archive/--> |
| <!--otherArchives--> |
| </mailingList> |
| <mailingList> |
| <name>Apache Shiro Developers Mailing List</name> |
| <subscribe>dev-subscribe@shiro.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@shiro.apache.org</unsubscribe> |
| <post>dev@shiro.apache.org</post> |
| <!--archive/--> |
| <!--otherArchives--> |
| </mailingList> |
| </mailingLists> |
| |
| |
| <developers> |
| <developer> |
| <id>aditzel</id> |
| <name>Allan Ditzel</name> |
| <email>aditzel@apache.org</email> |
| <url>http://www.allanditzel.com</url> |
| <organization>Apache Software Foundation</organization> |
| <timezone>-5</timezone> |
| </developer> |
| <developer> |
| <id>jhaile</id> |
| <name>Jeremy Haile</name> |
| <email>jhaile@apache.org</email> |
| <url>http://www.jeremyhaile.com</url> |
| <organization>Mobilization Labs</organization> |
| <organizationUrl>http://www.mobilizationlabs.com</organizationUrl> |
| <timezone>-5</timezone> |
| </developer> |
| <developer> |
| <id>lhazlewood</id> |
| <name>Les Hazlewood</name> |
| <email>lhazlewood@apache.org</email> |
| <url>http://www.leshazlewood.com</url> |
| <organization>Stormpath</organization> |
| <organizationUrl>https://www.stormpath.com</organizationUrl> |
| <timezone>-8</timezone> |
| </developer> |
| <developer> |
| <id>kaosko</id> |
| <name>Kalle Korhonen</name> |
| <email>kaosko@apache.org</email> |
| <url>https://www.tynamo.org</url> |
| <organization>Apache Software Foundation</organization> |
| <timezone>-8</timezone> |
| </developer> |
| <developer> |
| <id>pledbrook</id> |
| <name>Peter Ledbrook</name> |
| <email>p.ledbrook@cacoethes.co.uk</email> |
| <url>https://www.cacoethes.co.uk/</url> |
| <organization>SpringSource</organization> |
| <organizationUrl>https://spring.io/</organizationUrl> |
| <timezone>0</timezone> |
| </developer> |
| <developer> |
| <id>tveil</id> |
| <name>Tim Veil</name> |
| <email>tveil@apache.org</email> |
| </developer> |
| <developer> |
| <id>bdemers</id> |
| <name>Brian Demers</name> |
| <email>bdemers@apache.org</email> |
| <url>https://stormpath.com/blog/author/bdemers</url> |
| <organization>Stormpath</organization> |
| <organizationUrl>https://stormpath.com/</organizationUrl> |
| <timezone>-5</timezone> |
| <roles> |
| <role>PMC Chair</role> |
| </roles> |
| </developer> |
| <developer> |
| <id>jbunting</id> |
| <name>Jared Bunting</name> |
| <email>jbunting@apache.org</email> |
| <organization>Apache Software Foundation</organization> |
| <timezone>-6</timezone> |
| </developer> |
| <developer> |
| <id>fpapon</id> |
| <name>Francois Papon</name> |
| <email>fpapon@apache.org</email> |
| <organization>Yupiik</organization> |
| <organizationUrl>https://www.yupiik.com/</organizationUrl> |
| <timezone>+4</timezone> |
| </developer> |
| <developer> |
| <id>bmarwell</id> |
| <name>Benjamin Marwell</name> |
| <email>bmarwell@apache.org</email> |
| <timezone>Europe/Berlin</timezone> |
| </developer> |
| <developer> |
| <id>lprimak</id> |
| <name>Lenny Primak</name> |
| <email>lprimak@apache.org</email> |
| <timezone>US/Central</timezone> |
| <url>https://hope.nyc.ny.us</url> |
| <organization>Flow Logix</organization> |
| <organizationUrl>https://www.flowlogix.com/</organizationUrl> |
| </developer> |
| </developers> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <argLine>@{argLine} -XX:+IgnoreUnrecognizedVMOptions @{jacocoAgent} @{surefire.argLine} -Xshare:off</argLine> |
| <shutdown>kill</shutdown> |
| <enableProcessChecker>native</enableProcessChecker> |
| <trimStackTrace>false</trimStackTrace> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| <properties> |
| <configurationParameters> |
| junit.jupiter.execution.parallel.enabled = ${junit5.parallel.tests.enabled} |
| junit.jupiter.execution.parallel.mode.default = ${junit5.parallel.tests.mode} |
| </configurationParameters> |
| </properties> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <argLine>@{argLine} -XX:+IgnoreUnrecognizedVMOptions @{jacocoAgent} @{failsafe.argLine}</argLine> |
| <trimStackTrace>false</trimStackTrace> |
| <redirectTestOutputToFile>true</redirectTestOutputToFile> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <excludePackageNames>org.apache.shiro.samples.*</excludePackageNames> |
| <linksource>true</linksource> |
| <links> |
| <link>https://docs.oracle.com/en/java/javase/${jdk.version}/docs/api/</link> |
| <link>https://docs.spring.io/spring-framework/docs/${spring.version}/javadoc-api/</link> |
| <link>https://docs.spring.io/spring-boot/${spring-boot.version}/api/java/</link> |
| <link>https://junit.org/junit5/docs/${junit.version}/api/</link> |
| <link>https://www.quartz-scheduler.org/api/${quartz.docs.version}/</link> |
| </links> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>6.0.2</version> |
| <dependencies> |
| <!-- Required to upgrade bnd in the maven-bundle-plugin to be able to handle Multi-Release jars --> |
| <dependency> |
| <groupId>biz.aQute.bnd</groupId> |
| <artifactId>biz.aQute.bndlib</artifactId> |
| <version>7.3.0</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>4.0.0-M16</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <!-- note that this configuration needs to be maintained both in pluginManagement and reporting sections --> |
| <excludes> |
| <exclude>**/.externalToolBuilders/*</exclude> |
| <exclude>**/infinitest.filters</exclude> |
| <!-- Apparently some test in samples/spring-client generates velocity log - would better to reconfigure to output to target/ --> |
| <exclude>velocity.log</exclude> |
| <exclude>CONTRIBUTING.md</exclude> |
| <exclude>AGENTS.md</exclude> |
| <exclude>SECURITY.md</exclude> |
| <exclude>**/README.md</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/spring.factories</exclude> |
| <exclude>**/org.springframework.boot.autoconfigure.AutoConfiguration.imports</exclude> |
| <exclude>**/spring.provides</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/*.idea/**</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/nb-configuration.xml</exclude> |
| <exclude>**/faces-config.NavData</exclude> |
| <exclude>**/org.mockito.plugins.MockMaker</exclude> |
| <exclude>**/.project</exclude> |
| <exclude>**/.classpath</exclude> |
| <exclude>**/.settings/*</exclude> |
| <exclude>.github/linters/codespell.txt</exclude> |
| <exclude>.mvn/*</exclude> |
| <exclude>.jenkins_maven_args</exclude> |
| </excludes> |
| </configuration> |
| <!-- This can be removed when RAT plugin is updated to use commons-lang3 3.20.0 or above --> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons.lang3.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>2.21.0</version> |
| </plugin> |
| <!-- Allow writing tests in Groovy: --> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <version>${gmaven.version}</version> |
| <configuration> |
| <targetBytecode>${jdk.version}</targetBytecode> |
| </configuration> |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy-all</artifactId> |
| <version>${groovy.version}</version> |
| <scope>runtime</scope> |
| <type>pom</type> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.6.1</version> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.8.15</version> |
| </plugin> |
| <plugin> |
| <groupId>com.mycila</groupId> |
| <artifactId>license-maven-plugin</artifactId> |
| <version>5.1.1</version> |
| <configuration> |
| <aggregate>true</aggregate> |
| <header>${root.dir}/src/license/header.txt</header> |
| <headerDefinitions> |
| <headerDefinition>${root.dir}/src/license/header_format.xml</headerDefinition> |
| </headerDefinitions> |
| <excludes> |
| <exclude>**/*.txt</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.eclipse.jetty.ee11</groupId> |
| <artifactId>jetty-ee11-maven-plugin</artifactId> |
| <version>${jetty.version}</version> |
| <configuration> |
| <httpConnector> |
| <port>9080</port> |
| <idleTimeout>60000</idleTimeout> |
| </httpConnector> |
| <webApp> |
| <contextPath>/</contextPath> |
| </webApp> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <version>12.2.2</version> |
| </plugin> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <version>0.26.1</version> |
| <configuration> |
| <oldVersion> |
| <dependency> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>${project.artifactId}</artifactId> |
| <version>${shiro.previousVersion}</version> |
| <type>jar</type> |
| </dependency> |
| </oldVersion> |
| <parameter> |
| <onlyModified>true</onlyModified> |
| <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications> |
| <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications> |
| <breakBuildBasedOnSemanticVersioning>false</breakBuildBasedOnSemanticVersioning> |
| <ignoreMissingClassesByRegularExpressions> |
| <ignoreMissingClassesByRegularExpression>javax.annotation.Nullable</ignoreMissingClassesByRegularExpression> |
| </ignoreMissingClassesByRegularExpressions> |
| <excludes> |
| <exclude>org.apache.shiro.subject.SimplePrincipalMap</exclude> |
| </excludes> |
| </parameter> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>dev.aspectj</groupId> |
| <artifactId>aspectj-maven-plugin</artifactId> |
| <version>1.14.1</version> |
| <configuration> |
| <source>${maven.compiler.release}</source> |
| <target>${maven.compiler.release}</target> |
| <complianceLevel>${maven.compiler.release}</complianceLevel> |
| <showWeaveInfo>true</showWeaveInfo> |
| <!-- Fix for https://github.com/apache/shiro/issues/1100 --> |
| <forceAjcCompile>true</forceAjcCompile> |
| </configuration> |
| <executions> |
| <execution> |
| <id>aspectj-compile</id> |
| <goals> |
| <goal>compile</goal> |
| <goal>test-compile</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjtools</artifactId> |
| <version>${aspectj.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <configuration> |
| <configLocation>${checkstyle.configLocation}</configLocation> |
| <suppressionsLocation>${checkstyle.suppressionsLocation}</suppressionsLocation> |
| <linkXRef>true</linkXRef> |
| <consoleOutput>true</consoleOutput> |
| <failsOnError>true</failsOnError> |
| <failOnViolation>true</failOnViolation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| <enableRulesSummary>true</enableRulesSummary> |
| <resourceExcludes>test-keystore.jks,test-keystore.pem</resourceExcludes> |
| <propertyExpansion>root.dir=${root.dir}</propertyExpansion> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>checkstyle</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>com.puppycrawl.tools</groupId> |
| <artifactId>checkstyle</artifactId> |
| <version>13.9.0</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>rat-check</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <showWarnings>true</showWarnings> |
| <parameters>true</parameters> |
| <compilerArgs> |
| <arg>-Xlint:deprecation</arg> |
| <arg>-Xlint:unchecked</arg> |
| <arg>-Xlint:rawtypes</arg> |
| </compilerArgs> |
| <annotationProcessorPaths> |
| <annotationProcessorPath> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjweaver</artifactId> |
| <version>${aspectj.version}</version> |
| </annotationProcessorPath> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <configuration> |
| <includes> |
| <include>org/apache/shiro/**</include> |
| </includes> |
| <excludes> |
| <exclude>**/*$$SpringCGLIB$$*</exclude> |
| <exclude>**/*$$FastClassBy*$$*</exclude> |
| <exclude>**/*$$EnhancerBy*CGLIB$$*</exclude> |
| <exclude>**/*$MockitoMock$*</exclude> |
| <exclude>**/*$HibernateProxy$*</exclude> |
| <exclude>**/*$Proxy$*WeldClientProxy</exclude> |
| <exclude>**/*$Proxy$*WeldSubclass</exclude> |
| <exclude>org/apache/shiro/samples/guice/SampleShiroGuiceBootstrap</exclude> |
| <exclude>org/apache/shiro/samples/guice/SampleShiroServletModule</exclude> |
| <exclude>org/apache/shiro/**/*Test</exclude> |
| <exclude>org/apache/shiro/**/*Test$*</exclude> |
| <exclude>org/apache/shiro/**/*IT</exclude> |
| <exclude>org/apache/shiro/**/*IT$*</exclude> |
| <exclude>org/apache/shiro/testing/jakarta/ee/PropertyPrincipal</exclude> |
| <exclude>org/apache/shiro/testing/cdi/ComponentInjectionBean</exclude> |
| <exclude>org/apache/shiro/**/__EJB31_Generated*</exclude> |
| <exclude>org/apache/shiro/util/DefaultScopedValues</exclude> |
| <!-- cause too many coverage misses --> |
| <exclude>org/apache/shiro/**/Deployments</exclude> |
| </excludes> |
| <propertyName>jacocoAgent</propertyName> |
| <classDumpDir>${root.dir}/target/classes</classDumpDir> |
| <fileSets> |
| <fileSet> |
| <directory>${project.basedir}</directory> |
| <includes> |
| <include>**/*.exec</include> |
| </includes> |
| </fileSet> |
| </fileSets> |
| </configuration> |
| <executions> |
| <execution> |
| <id>prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>prepare-agent-integration</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>prepare-agent-integration</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Allow Groovy tests to run: --> |
| <plugin> |
| <groupId>org.codehaus.gmavenplus</groupId> |
| <artifactId>gmavenplus-plugin</artifactId> |
| <executions> |
| <execution> |
| <goals> |
| <goal>addTestSources</goal> |
| <goal>compileTests</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- Add Git sha1 To A JAR Manifest |
| - https://maven.apache.org/plugin-developers/cookbook/add-svn-revision-to-manifest.html |
| --> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>buildnumber-maven-plugin</artifactId> |
| <version>3.3.0</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <goals> |
| <goal>create</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <doCheck>false</doCheck> |
| <doUpdate>false</doUpdate> |
| <revisionOnScmFailure>${project.version}</revisionOnScmFailure> |
| <getRevisionOnlyOnce>true</getRevisionOnlyOnce> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifest> |
| <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> |
| <addDefaultImplementationEntries>true</addDefaultImplementationEntries> |
| </manifest> |
| <manifestEntries> |
| <Automatic-Module-Name>org.apache.shiro.${module.name}</Automatic-Module-Name> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-doap-plugin</artifactId> |
| <version>1.2</version> |
| <inherited>false</inherited> |
| <configuration> |
| <artifact> |
| |
| </artifact> |
| <doapOptions> |
| <!-- See http://projects.apache.org/languages.html --> |
| <programmingLanguage>Java</programmingLanguage> |
| <!-- http://projects.apache.org/categories.html --> |
| <category>library, web-framework</category> |
| <!--<category>library, web-framework, security</category>--> |
| <bugDatabase>${project.issueManagement.url}</bugDatabase> |
| <created>${project.inceptionYear}-01-01</created> |
| <description>${project.description}</description> |
| <downloadPage>${project.distributionManagement.downloadUrl}</downloadPage> |
| <homepage>${project.url}</homepage> |
| <mailingList>${project.url}/mailing-lists.html</mailingList> |
| <name>${project.name}</name> |
| <shortdesc>A simple to use Java Security Framework.</shortdesc> |
| <vendor>${project.organization.name}</vendor> |
| </doapOptions> |
| |
| <asfExtOptions> |
| <charter>The mission of the Apache Shiro project is to create and maintain an easy to use authentication and authorization framework.</charter> |
| |
| <!-- Default values --> |
| <pmc>${project.url}</pmc> |
| <name>${project.name}</name> |
| </asfExtOptions> |
| |
| </configuration> |
| <executions> |
| <execution> |
| <id>site</id> |
| <phase>pre-site</phase> |
| <goals> |
| <goal>generate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-release-plugin</artifactId> |
| <configuration> |
| <!-- do not update upstream, with a pending release. --> |
| <pushChanges>false</pushChanges> |
| <localCheckout>true</localCheckout> |
| <autoVersionSubmodules>true</autoVersionSubmodules> |
| <preparationGoals>validate</preparationGoals> |
| <preparationProfiles>skip-checkstyle</preparationProfiles> |
| <goals>deploy</goals> |
| <releaseProfiles>docs,apache-release,${nexus-staging-profile}</releaseProfiles> |
| <mavenExecutorId>forked-path</mavenExecutorId> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <configuration> |
| <deployAtEnd>true</deployAtEnd> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-enforcer-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>enforce-maven</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <requireMavenVersion> |
| <version>[3.5.0,4)</version> |
| </requireMavenVersion> |
| <requireJavaVersion> |
| <version>[11,)</version> |
| </requireJavaVersion> |
| </rules> |
| </configuration> |
| </execution> |
| <execution> |
| <id>enforce-forbidden-dependencies</id> |
| <goals> |
| <goal>enforce</goal> |
| </goals> |
| <configuration> |
| <fail>true</fail> |
| <rules> |
| <bannedDependencies> |
| <excludes> |
| <exclude>*:powermock-api-easymock</exclude> |
| <exclude>*:powermock-module-junit4</exclude> |
| </excludes> |
| </bannedDependencies> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.github.siom79.japicmp</groupId> |
| <artifactId>japicmp-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>japicmp</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>cmp</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <!-- Automatically inherited dependencies. The only ones that should be in here |
| are test dependencies. Actual compile or runtime dependencies should be |
| explicitly declared in a child module, referencing the dependency defined |
| in this file's <dependencyManagement> section. --> |
| <!-- ... --> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <version>3.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.easymock</groupId> |
| <artifactId>easymock</artifactId> |
| <version>${easymock.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>${mockito.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <!-- Writing tests in groovy is fast!: --> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- Shiro core artifacts --> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-lang</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-cache</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-config-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-config-ogdl</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-crypto-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-crypto-hash</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.crypto</groupId> |
| <artifactId>shiro-hashes-argon2</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.crypto</groupId> |
| <artifactId>shiro-hashes-bcrypt</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-crypto-cipher</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-event</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-web</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-servlet-plugin</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Shiro 3rd party support (keep this alphabetically ordered based on the artifactId please): --> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-aspectj</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-jcache</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-quartz</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-spring</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-guice</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-jaxrs</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-all</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Intra project test dependencies: --> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-core</artifactId> |
| <version>${project.version}</version> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro</groupId> |
| <artifactId>shiro-config-ogdl</artifactId> |
| <version>${project.version}</version> |
| <classifier>tests</classifier> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>3.27.7</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests</groupId> |
| <artifactId>shiro-its-support</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests</groupId> |
| <artifactId>shiro-its-meecrowave-support</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> |
| <artifactId>shiro-its-jaxrs</artifactId> |
| <version>${project.version}</version> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> |
| <artifactId>shiro-its-jaxrs-app</artifactId> |
| <version>${project.version}</version> |
| <type>war</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> |
| <artifactId>shiro-its-jaxrs-app</artifactId> |
| <version>${project.version}</version> |
| <classifier>classes</classifier> |
| <type>jar</type> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.shiro.integrationtests.jaxrs</groupId> |
| <artifactId>shiro-its-jaxrs-tests</artifactId> |
| <version>${project.version}</version> |
| <type>jar</type> |
| </dependency> |
| |
| <!-- 3rd party dependencies --> |
| |
| <!-- ... --> |
| <dependency> |
| <groupId>org.junit-pioneer</groupId> |
| <artifactId>junit-pioneer</artifactId> |
| <version>2.3.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy</artifactId> |
| <version>${bytebuddy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>net.bytebuddy</groupId> |
| <artifactId>byte-buddy-agent</artifactId> |
| <version>${bytebuddy.version}</version> |
| </dependency> |
| <dependency> |
| <!-- used for the 'hashpass' command line tool: --> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>${commons.cli.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>${commons.lang3.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjrt</artifactId> |
| <version>${aspectj.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjweaver</artifactId> |
| <version>${aspectj.version}</version> |
| </dependency> |
| |
| <dependency> |
| <!-- optional dep for the reflection builder --> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-configuration2</artifactId> |
| <version>${commons.configuration2.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.owasp.encoder</groupId> |
| <artifactId>encoder</artifactId> |
| <version>${owasp.java.encoder.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j2-impl</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core-test</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.junit.platform</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>junit</groupId> |
| <artifactId>*</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>1.6.1</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>1.6.1</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-jul</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-to-slf4j</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>jakarta.platform</groupId> |
| <artifactId>jakarta.jakartaee-bom</artifactId> |
| <version>11.0.0</version> |
| <scope>import</scope> |
| <type>pom</type> |
| </dependency> |
| <dependency> |
| <!-- Required in the sample apps only for 3rd-party libraries that expect to call |
| the commons logging APIs --> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| <version>${commons.beanutils.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.hsqldb</groupId> |
| <artifactId>hsqldb</artifactId> |
| <version>${hsqldb.version}</version> |
| <scope>runtime</scope> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.groovy</groupId> |
| <artifactId>groovy</artifactId> |
| <version>${groovy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.htmlunit</groupId> |
| <artifactId>htmlunit</artifactId> |
| <version>${htmlunit.version}</version> |
| </dependency> |
| <dependency> |
| <!-- Used for sample applications only - not required for the framework: --> |
| <groupId>org.hibernate.orm</groupId> |
| <artifactId>hibernate-core</artifactId> |
| <version>${hibernate.version}</version> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>ant</groupId> |
| <artifactId>ant</artifactId> |
| </exclusion> |
| <exclusion> |
| <!--suppress MavenModelInspection --> |
| <groupId>ant-launcher</groupId> |
| <!--suppress MavenModelInspection --> |
| <artifactId>ant-launcher</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>c3p0</groupId> |
| <artifactId>c3p0</artifactId> |
| </exclusion> |
| <exclusion> |
| <!--suppress MavenModelInspection --> |
| <groupId>javax.security</groupId> |
| <!--suppress MavenModelInspection --> |
| <artifactId>jacc</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>jakarta.servlet</groupId> |
| <artifactId>jakarta.servlet-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>jboss</groupId> |
| <!--suppress MavenModelInspection --> |
| <artifactId>jboss-cache</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>asm</groupId> |
| <!--suppress MavenModelInspection --> |
| <artifactId>asm-attrs</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| <version>${spring.version}</version> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| <version>${spring.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jdbc</artifactId> |
| <version>${spring.version}</version> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-orm</artifactId> |
| <version>${spring.version}</version> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-webmvc</artifactId> |
| <version>${spring.version}</version> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-test</artifactId> |
| <version>${spring.version}</version> |
| <scope>test</scope> |
| <optional>true</optional> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jaxb</groupId> |
| <artifactId>jaxb-runtime</artifactId> |
| <version>4.0.9</version> |
| </dependency> |
| |
| <!-- Guice --> |
| <dependency> |
| <groupId>com.google.inject</groupId> |
| <artifactId>guice</artifactId> |
| <version>${guice.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-servlet</artifactId> |
| <version>${guice.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.quartz-scheduler</groupId> |
| <artifactId>quartz</artifactId> |
| <version>${quartz.version}</version> |
| <optional>true</optional> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.bouncycastle</groupId> |
| <artifactId>bcprov-jdk18on</artifactId> |
| <version>${bouncycastle.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>33.6.0-jre</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.maven.skins</groupId> |
| <artifactId>maven-fluido-skin</artifactId> |
| <version>${fluido-skin.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <!-- Note that reporting may fail with lower settings than something like: MAVEN_OPTS="-X512m -XX:MaxPermSize=128m" --> |
| <reporting> |
| <plugins> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <inherited>false</inherited> |
| <configuration> |
| <top><![CDATA[ |
| <!-- Matomo --> |
| <script> |
| var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| /* We explicitly disable cookie tracking to avoid privacy issues */ |
| _paq.push(['disableCookies']); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="//matomo.privacy.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '2']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script> |
| <!-- End Matomo Code --> |
| ]]></top> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <id>javadoc-aggregate</id> |
| <reports> |
| <report>aggregate-no-fork</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>3.6.0</version> |
| <configuration> |
| <aggregate>true</aggregate> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>jxr-no-fork</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.28.0</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <!-- Disable, just to make it go faster --> |
| <configuration> |
| <dependencyLocationsEnabled>false</dependencyLocationsEnabled> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <version>0.18</version> |
| <!-- only run at the root --> |
| <inherited>false</inherited> |
| <configuration> |
| <!-- note that this configuration needs to be maintained both in pluginManagement and reporting sections --> |
| <excludes> |
| <exclude>**/.externalToolBuilders/*</exclude> |
| <exclude>**/infinitest.filters</exclude> |
| <!-- Apparently some test in samples/spring-client generates velocity log - would better to reconfigure to output to target/ --> |
| <exclude>velocity.log</exclude> |
| <exclude>CONTRIBUTING.md</exclude> |
| <exclude>AGENTS.md</exclude> |
| <exclude>SECURITY.md</exclude> |
| <exclude>**/README.md</exclude> |
| <exclude>**/*.json</exclude> |
| <exclude>**/spring.factories</exclude> |
| <exclude>**/org.springframework.boot.autoconfigure.AutoConfiguration.imports</exclude> |
| <exclude>**/spring.provides</exclude> |
| <exclude>**/*.iml</exclude> |
| <exclude>**/*.idea/**</exclude> |
| <exclude>**/target/**</exclude> |
| <exclude>**/nb-configuration.xml</exclude> |
| <exclude>**/faces-config.NavData</exclude> |
| <exclude>**/.project</exclude> |
| <exclude>**/.classpath</exclude> |
| <exclude>**/.settings/*</exclude> |
| <exclude>.github/linters/codespell.txt</exclude> |
| <exclude>**/org.mockito.plugins.MockMaker</exclude> |
| <exclude>.mvn/*</exclude> |
| <exclude>.jenkins_maven_args</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-report-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>report-only</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>taglist-maven-plugin</artifactId> |
| <version>3.2.2</version> |
| <configuration> |
| <tagListOptions> |
| <tagClasses> |
| <tagClass> |
| <displayName>Todo Work</displayName> |
| <tags> |
| <tag> |
| <matchString>todo</matchString> |
| <matchType>ignoreCase</matchType> |
| </tag> |
| <tag> |
| <matchString>FIXME</matchString> |
| <matchType>exact</matchType> |
| </tag> |
| </tags> |
| </tagClass> |
| <tagClass> |
| <displayName>Deprecated</displayName> |
| <tags> |
| <tag> |
| <matchString>@Deprecated</matchString> |
| <matchType>exact</matchType> |
| </tag> |
| </tags> |
| </tagClass> |
| </tagClasses> |
| </tagListOptions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>jdepend-maven-plugin</artifactId> |
| <version>2.2.0</version> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>generate-no-fork</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <reportSets> |
| <reportSet> |
| <id>jacoco-aggregate</id> |
| <reports> |
| <report>report-integration</report> |
| <report>report</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| <profiles> |
| <profile> |
| <id>fast</id> |
| <properties> |
| <maven.test.skip.exec>true</maven.test.skip.exec> |
| <maven.test.skip>true</maven.test.skip> |
| </properties> |
| <build> |
| <defaultGoal>install</defaultGoal> |
| </build> |
| </profile> |
| <profile> |
| <id>jdk8</id> |
| <activation> |
| <jdk>[1.8,)</jdk> |
| </activation> |
| <build> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <sourcepath>${project.build.sourceDirectory}</sourcepath> |
| <doclint>none</doclint> |
| <additionalJOptions> |
| <additionalJOption>--allow-script-in-comments</additionalJOption> |
| </additionalJOptions> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| </profile> |
| <profile> |
| <id>jdk-21</id> |
| <activation> |
| <jdk>[21,)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>jdk21-compile</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration> |
| <multiReleaseOutput>true</multiReleaseOutput> |
| <release>21</release> |
| <compileSourceRoots>${project.build.sourceDirectory}21</compileSourceRoots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>jdk-25</id> |
| <activation> |
| <jdk>[25,)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>jdk25-compile</id> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <configuration> |
| <multiReleaseOutput>true</multiReleaseOutput> |
| <release>25</release> |
| <compileSourceRoots>${project.build.sourceDirectory}25</compileSourceRoots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <profile> |
| <id>docs</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-api-docs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| <inherited>true</inherited> |
| </plugin> |
| <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> |
| <inherited>true</inherited> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>apache-release</id> |
| <distributionManagement> |
| <site> |
| <id>shiro.website</id> |
| <name>Apache Shiro Site</name> |
| <url>scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/${project.version}</url> |
| </site> |
| </distributionManagement> |
| <build> |
| <plugins> |
| <!-- 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> |
| </execution> |
| </executions> |
| <configuration> |
| <algorithms> |
| <algorithm>SHA-512</algorithm> |
| <algorithm>SHA3-512</algorithm> |
| </algorithms> |
| <csvSummary>false</csvSummary> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>nexus-staging</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>1.7.0</version> |
| <extensions>true</extensions> |
| <configuration> |
| <nexusUrl>https://repository.apache.org</nexusUrl> |
| <serverId>apache.releases.https</serverId> |
| <skipNexusStagingDeployMojo>${nexus.deploy.skip}</skipNexusStagingDeployMojo> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- NOTE: this plugin config will return false positives, usage will require |
| human interpretation (and should NOT be used to fail builds) |
| --> |
| <id>owasp</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <inherited>false</inherited> |
| <configuration> |
| <suppressionFile>${root.dir}/src/owasp-suppression.xml</suppressionFile> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>aggregate</goal> |
| </goals> |
| <inherited>false</inherited> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.owasp</groupId> |
| <artifactId>dependency-check-maven</artifactId> |
| <inherited>false</inherited> |
| <configuration> |
| <suppressionFile>${root.dir}/src/owasp-suppression.xml</suppressionFile> |
| <name>OWASP Dependency Check</name> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| </profile> |
| <profile> |
| <id>ci</id> |
| <properties> |
| <jacoco.skip>false</jacoco.skip> |
| </properties> |
| </profile> |
| <profile> |
| <id>skip-checkstyle</id> |
| <activation> |
| <property> |
| <name>checkstyle.skip</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>none</phase> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>windows-tests</id> |
| <activation> |
| <os> |
| <family>Windows</family> |
| </os> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <enableProcessChecker>ping</enableProcessChecker> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <configuration> |
| <enableProcessChecker>ping</enableProcessChecker> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |