You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by al...@apache.org on 2026/10/18 01:42:34 UTC
(jspwiki) 01/01: NOJIRA experiment to see if we can get code coverage reporting to github
This is an automated email from the ASF dual-hosted git repository.
spyhunter99 pushed a commit to branch feature/GutHubCodeCoverage
in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit eff0f40a91d2a8b4c97d953689313743e58da561
Author: Alex O'Ree <al...@apache.org>
AuthorDate: Sat Oct 17 21:42:21 2026 -0400
NOJIRA experiment to see if we can get code coverage reporting to github
---
.github/workflows/maven.yml | 15 +-
pom.xml | 2486 ++++++++++++++++++++++---------------------
2 files changed, 1306 insertions(+), 1195 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 5bbd8e067..c18dc05c2 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -63,4 +63,17 @@ jobs:
# token required
# Disabled due to some bug in the plugin
# - name: Dependency scan
-# run: mvn install -B -T 1C -DskipTests=true org.owasp:dependency-check-maven:LATEST:check -DassemblyAnalyzerEnabled=false
\ No newline at end of file
+# run: mvn install -B -T 1C -DskipTests=true org.owasp:dependency-check-maven:LATEST:check -DassemblyAnalyzerEnabled=false
+ - name: generate jacoco aggregated
+ run: mvn -Pgithubjacoco verify -N
+ - name: Add Coverage Comment to PR
+ uses: madrapps/jacoco-report@v1.8.0
+ with:
+
+ paths: ${{ github.workspace }}/target/site/jacoco-aggregate/jacoco.xml
+
+ token: ${{ secrets.GITHUB_TOKEN }}
+ min-coverage-overall: 50 # Fails the gate if overall coverage is under 80%
+ min-coverage-changed-lines: 50 # Fails the gate if newly added lines are under 80%
+ title: "Code Coverage Report"
+ update-comment: true # Updates the same comment instead of creating spam duplicates
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index b76bcfa18..4c92d6b42 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,1206 +19,1304 @@
-->
<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">
- <parent>
- <groupId>org.apache</groupId>
- <artifactId>apache</artifactId>
- <version>39</version>
- </parent>
-
- <groupId>org.apache.jspwiki</groupId>
- <artifactId>jspwiki-builder</artifactId>
- <modelVersion>4.0.0</modelVersion>
- <name>Apache JSPWiki</name>
- <version>3.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <description>Apache JSPWiki is a leading open source WikiWiki engine, feature-rich
- and built around standard JEE components (Java, servlets, JSP).</description>
- <inceptionYear>2001</inceptionYear>
- <url>https://jspwiki.apache.org/</url>
-
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
- <project.build.outputTimestamp>2026-08-16T18:19:17Z</project.build.outputTimestamp>
-<!-- will be changed by release plugin during releases -->
- <jdk.version>17</jdk.version>
- <jdk.javadoc.doclet.version>2.3.2</jdk.javadoc.doclet.version>
- <maven.version>3.5</maven.version>
-
- <akismet-java.version>1.0.0</akismet-java.version>
- <awaitility.version>4.3.0</awaitility.version>
- <aws-java-sdk-kendra.version>1.12.797</aws-java-sdk-kendra.version>
- <commons-codec.version>1.22.1</commons-codec.version>
- <commons-collections.version>4.6.0</commons-collections.version>
- <commons-fileupload.version>2.0.0-M5</commons-fileupload.version>
- <commons-io.version>2.22.0</commons-io.version>
- <commons-lang.version>3.20.0</commons-lang.version>
- <commons-net.version>3.13.0</commons-net.version>
- <commons-text.version>1.15.0</commons-text.version>
- <commons-validator.version>1.11.0</commons-validator.version>
- <ehcache.version>2.10.9.2</ehcache.version>
- <flexmark.version>0.64.8</flexmark.version>
- <freshcookies-security.version>0.60</freshcookies-security.version>
- <gson.version>2.13.2</gson.version>
- <hsqldb.version>2.7.4</hsqldb.version>
- <jackson-version>3.2.2</jackson-version>
- <jakarta-activation.version>2.0.1</jakarta-activation.version>
- <jakarta-activation-api.version>2.1.4</jakarta-activation-api.version>
- <jakarta-jsp-api.version>4.0.0</jakarta-jsp-api.version>
- <jakarta-jstl.version>3.0.1</jakarta-jstl.version>
- <jakarta-jstl-api.version>3.0.2</jakarta-jstl-api.version>
- <jakarta-mail.version>2.0.2</jakarta-mail.version>
- <jakarta-mail-api.version>2.1.5</jakarta-mail-api.version>
- <jakarta-servlet-api.version>6.1.0</jakarta-servlet-api.version>
- <java-diff-utils-version>4.16</java-diff-utils-version>
- <jacoco-version>0.8.14</jacoco-version>
- <jamm.version>0.4.0</jamm.version>
- <jaxen.version>2.0.0</jaxen.version>
- <javax-mail.version>2.0.2</javax-mail.version>
- <javax-jsp-api.version>2.3.3</javax-jsp-api.version>
- <jdom2.version>2.0.6</jdom2.version>
- <jrcs-diff.version>0.4.2</jrcs-diff.version>
- <junit.version>6.1.3</junit.version>
- <log4j2.version>2.26.1</log4j2.version>
- <lucene.version>9.12.2</lucene.version>
- <mockito.version>5.20.0</mockito.version>
- <nekohtml.version>2.1.3</nekohtml.version>
- <oro.version>2.0.8</oro.version>
- <rome.version>2.1.0</rome.version>
- <sandler.version>0.5</sandler.version>
- <selenide.version>7.18.1</selenide.version>
- <slf4j.version>2.0.18</slf4j.version>
- <tika.version>3.3.2</tika.version>
- <tomcat.version>10.1.60</tomcat.version>
- <xmlrpc.version>2.0.1</xmlrpc.version>
- <xstream.version>1.4.21</xstream.version>
-
- <plugin.antrun.version>3.2.0</plugin.antrun.version>
- <plugin.assembly.version>3.8.0</plugin.assembly.version>
- <plugin.clean.version>3.5.0</plugin.clean.version>
- <plugin.compiler.version>3.16.0</plugin.compiler.version>
- <plugin.dependency.version>3.11.0</plugin.dependency.version>
- <plugin.enforcer.version>3.6.3</plugin.enforcer.version>
- <plugin.failsafe.version>3.6.0</plugin.failsafe.version>
- <plugin.install.version>3.2.0</plugin.install.version>
- <plugin.jar.version>3.5.1</plugin.jar.version>
- <plugin.javadoc.version>3.12.0</plugin.javadoc.version>
- <plugin.jxr.version>3.6.0</plugin.jxr.version>
- <plugin.project-info-reports.version>3.9.0</plugin.project-info-reports.version>
- <plugin.release.version>3.3.1</plugin.release.version>
- <plugin.remote-resources.version>3.3.0</plugin.remote-resources.version>
- <plugin.resources.version>3.5.0</plugin.resources.version>
- <plugin.source.version>3.4.0</plugin.source.version>
- <plugin.surefire.version>3.6.0</plugin.surefire.version>
- <plugin.surefire.junit5-tree-reporter.version>1.5.1</plugin.surefire.junit5-tree-reporter.version>
- <plugin.surefire.junit5-tree-reporter.enable-console>false</plugin.surefire.junit5-tree-reporter.enable-console>
- <plugin.war.version>3.5.1</plugin.war.version>
- <plugin.inmemdb.version>1.4.3</plugin.inmemdb.version>
- <plugin.jspc.version>5.0.0</plugin.jspc.version>
- <plugin.build-helper.version>3.6.1</plugin.build-helper.version>
- <plugin.checksum.version>1.11</plugin.checksum.version>
- <plugin.jslint.version>1.0.1</plugin.jslint.version>
- <plugin.cargo.version>1.10.28</plugin.cargo.version>
- <plugin.clirr.version>2.8</plugin.clirr.version>
- <plugin.cyclonedx.version>2.9.3</plugin.cyclonedx.version>
- <plugin.sonar.version>5.3.0.6276</plugin.sonar.version>
- <plugin.sonar-report.version>0.1</plugin.sonar-report.version>
- <plugin.wro4j.version>2.1.1</plugin.wro4j.version>
- <plugin.eclipse-lifecycle-mapping.version>1.0.0</plugin.eclipse-lifecycle-mapping.version>
- <maven.compiler.source>${jdk.version}</maven.compiler.source> <!-- override values from parent pom -->
- <maven.compiler.target>${jdk.version}</maven.compiler.target>
- <minimize>true</minimize> <!-- wro4j compression -->
- </properties>
-
- <scm>
- <connection>scm:git:https://github.com/apache/jspwiki.git</connection>
- <developerConnection>scm:git:https://github.com/apache/jspwiki.git</developerConnection>
- <url>https://github.com/apache/jspwiki</url>
- <tag>2.12.1-RC1</tag>
- </scm>
-
- <modules>
- <module>jspwiki-wikipages</module>
- <module>jspwiki-util</module>
- <module>jspwiki-event</module>
- <module>jspwiki-api</module>
- <module>jspwiki-bootstrap</module>
- <module>jspwiki-cache</module>
- <module>jspwiki-http</module>
- <module>jspwiki-wysiwyg</module>
- <module>jspwiki-main</module>
- <module>jspwiki-markdown</module>
- <module>jspwiki-tika-searchprovider</module>
- <module>jspwiki-kendra-searchprovider</module>
- <module>jspwiki-plugins</module>
- <module>jspwiki-https-enabler</module>
- <module>jspwiki-210-test-adaptees</module>
- <module>jspwiki-210-adapters</module>
- <module>jspwiki-war</module>
- <module>jspwiki-war-https</module>
- <module>jspwiki-portable</module>
- <module>jspwiki-it-tests</module><!-- IT tests are launched only if -Pintegration-tests is given -->
- <module>jspwiki-bom</module>
- </modules>
-
- <dependencyManagement> <!-- defines what configuration is going to be used if, and only if, the dependency is used -->
- <dependencies>
- <!-- ordered alphabetically by scope:groupId:artifactId -->
- <!-- compile dependencies -->
- <dependency>
- <groupId>com.amazonaws</groupId>
- <artifactId>aws-java-sdk-kendra</artifactId>
- <version>${aws-java-sdk-kendra.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.codeborne</groupId>
- <artifactId>selenide</artifactId>
- <version>${selenide.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>${commons-codec.version}</version>
- </dependency>
-
- <dependency>
- <groupId>tools.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>${jackson-version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>${commons-net.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-validator</groupId>
- <artifactId>commons-validator</artifactId>
- <version>${commons-validator.version}</version>
- </dependency>
-
- <dependency><!-- https://jakartaee.github.io/mail-api/README-JakartaMail#Download_Jakarta_Mail_Release -->
- <groupId>com.sun.mail</groupId>
- <artifactId>jakarta.mail</artifactId>
- <version>${jakarta-mail.version}</version>
- </dependency>
-
- <dependency><!-- as of 1.6.2 not included by javax.mail-api, see https://javaee.github.io/javamail/docs/COMPAT.txt -->
- <groupId>com.sun.mail</groupId>
- <artifactId>logging-mailhandler</artifactId>
- <version>${javax-mail.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>${gson.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark-ext-attributes</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark-ext-definition</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark-ext-footnotes</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark-ext-tables</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.vladsch.flexmark</groupId>
- <artifactId>flexmark-ext-toc</artifactId>
- <version>${flexmark.version}</version>
- </dependency>
-
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- <version>${commons-io.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.activation</groupId>
- <artifactId>jakarta.activation-api</artifactId>
- <version>${jakarta-activation-api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.sun.activation</groupId>
- <artifactId>jakarta.activation</artifactId>
- <version>${jakarta-activation.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.mail</groupId>
- <artifactId>jakarta.mail-api</artifactId>
- <version>${jakarta-mail-api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- <version>${jakarta-servlet-api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.servlet.jsp</groupId>
- <artifactId>jakarta.servlet.jsp-api</artifactId>
- <version>${jakarta-jsp-api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>jakarta.servlet.jsp.jstl</groupId>
- <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
- <version>${jakarta-jstl-api.version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.github.java-diff-utils</groupId>
- <artifactId>java-diff-utils</artifactId>
- <version>${java-diff-utils-version}</version>
- </dependency>
-
- <dependency>
- <groupId>jaxen</groupId>
- <artifactId>jaxen</artifactId>
- <version>${jaxen.version}</version>
- </dependency>
-
- <dependency>
- <groupId>com.rometools</groupId>
- <artifactId>rome</artifactId>
- <version>${rome.version}</version>
- </dependency>
-
- <dependency>
- <groupId>net.thauvin.erik</groupId>
- <artifactId>akismet-kotlin</artifactId>
- <version>${akismet-java.version}</version>
- </dependency>
-
- <dependency>
- <groupId>net.sourceforge</groupId>
- <artifactId>sandler</artifactId>
- <version>${sandler.version}</version>
- </dependency>
-
- <dependency>
- <groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache</artifactId>
- <version>${ehcache.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-collections4</artifactId>
- <version>${commons-collections.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-fileupload2-javax</artifactId>
- <version>${commons-fileupload.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
- <version>${commons-fileupload.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-text</artifactId>
- <version>${commons-text.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-api</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-core</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-1.2-api</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>log4j-slf4j-impl</artifactId>
- <version>${log4j2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-analysis-common</artifactId>
- <version>${lucene.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-backward-codecs</artifactId>
- <version>${lucene.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-highlighter</artifactId>
- <version>${lucene.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.lucene</groupId>
- <artifactId>lucene-queryparser</artifactId>
- <version>${lucene.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tika</groupId>
- <artifactId>tika-core</artifactId>
- <version>${tika.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.tika</groupId>
- <artifactId>tika-parsers-standard-package</artifactId>
- <version>${tika.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.codelibs</groupId>
- <artifactId>nekohtml</artifactId>
- <version>${nekohtml.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.freshcookies</groupId>
- <artifactId>freshcookies-security</artifactId>
- <version>${freshcookies-security.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp.jstl</artifactId>
- <version>${jakarta-jstl.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jdom</groupId>
- <artifactId>jdom2</artifactId>
- <version>${jdom2.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
-
- <dependency>
- <groupId>oro</groupId>
- <artifactId>oro</artifactId>
- <version>${oro.version}</version>
- </dependency>
-
- <dependency>
- <groupId>xmlrpc</groupId>
- <artifactId>xmlrpc</artifactId>
- <version>${xmlrpc.version}</version>
- </dependency>
-
- <!-- test dependencies -->
- <dependency>
- <groupId>com.github.jbellis</groupId>
- <artifactId>jamm</artifactId>
- <version>${jamm.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <version>${awaitility.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>${hsqldb.version}</version>
- <classifier>jdk8</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.hsqldb</groupId>
- <artifactId>sqltool</artifactId>
- <version>${hsqldb.version}</version>
- <classifier>jdk8</classifier>
- </dependency>
-
- <dependency>
- <groupId>org.junit</groupId>
- <artifactId>junit-bom</artifactId>
- <version>${junit.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>${mockito.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <version>${mockito.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <build>
- <defaultGoal>verify apache-rat:check</defaultGoal>
- <plugins> <!-- plugins executed with every build -->
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforcer-validations</id>
- <goals><goal>enforce</goal></goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>net.nicoulaj.maven.plugins</groupId>
- <artifactId>checksum-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.cyclonedx</groupId>
- <artifactId>cyclonedx-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-sbom</id>
- <goals>
- <goal>makeAggregateBom</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <externalReferences>
- <externalReference>
- <type>vulnerability-assertion</type>
- <url>https://jspwiki.apache.org/cyclonedx/vdr.xml</url>
- </externalReference>
- </externalReferences>
- <outputFormat>xml</outputFormat>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
-
- <pluginManagement> <!-- defines what configuration is going to be used if, and only if, the plugin is used -->
- <plugins> <!-- ordered alphabetically by groupId (default first):artifactId -->
- <plugin> <!-- default maven plugins have their version configured to make the build independent of the maven version used -->
- <artifactId>maven-antrun-plugin</artifactId>
- <version>${plugin.antrun.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>${plugin.assembly.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>${plugin.clean.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>${plugin.compiler.version}</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- <source>${jdk.version}</source>
- <target>${jdk.version}</target>
- <release>${jdk.version}</release>
- <compilerArgs>
- <arg>-Xlint:deprecation</arg>
- <arg>-parameters</arg>
- </compilerArgs>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>${plugin.dependency.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>${plugin.enforcer.version}</version>
- <configuration>
- <fail>true</fail>
- <rules>
- <requireJavaVersion>
- <message>MUST USE JDK ${jdk.version}</message>
- <version>${jdk.version}</version>
- </requireJavaVersion>
- <requireMavenVersion>
- <message>BUILD REQUIRES MAVEN ${maven.version}</message>
- <version>[${maven.version},)</version>
- </requireMavenVersion>
- </rules>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>${plugin.failsafe.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-install-plugin</artifactId>
- <version>${plugin.install.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>${plugin.javadoc.version}</version>
- <configuration>
- <additionalOptions>
- <additionalOption>-Xdoclint:none</additionalOption>
- <additionalOption>--allow-script-in-comments</additionalOption>
- </additionalOptions>
- <bottom>Copyright (c) {inceptionYear}-{currentYear} ${project.organization.name}. All rights reserved.</bottom>
- <breakiterator>true</breakiterator>
- <detectJavaApiLink>false</detectJavaApiLink>
- <doclet>nl.talsmasoftware.umldoclet.UMLDoclet</doclet>
- <docletArtifact>
- <groupId>nl.talsmasoftware</groupId>
- <artifactId>umldoclet</artifactId>
- <version>${jdk.javadoc.doclet.version}</version>
- <classifier>full</classifier>
- </docletArtifact>
- <linksource>true</linksource>
- <release>${jdk.version}</release>
- <sourcetab>4</sourcetab>
- <quiet>true</quiet>
- <useStandardDocletOptions>true</useStandardDocletOptions>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>${plugin.jar.version}</version>
- <configuration>
- <archive>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Extension-Name>${project.artifactId}</Extension-Name>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-jxr-plugin</artifactId>
- <version>${plugin.jxr.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>${plugin.project-info-reports.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <version>${plugin.release.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-remote-resources-plugin</artifactId>
- <version>${plugin.remote-resources.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>${plugin.resources.version}</version>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>${plugin.source.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${plugin.surefire.version}</version>
- <configuration>
- <argLine>@{argLine}</argLine>
- <consoleOutputReporter>
- <disable>${plugin.surefire.junit5-tree-reporter.enable-console}</disable>
- </consoleOutputReporter>
- <reportFormat>plain</reportFormat>
- <statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter">
- <printStacktraceOnError>true</printStacktraceOnError>
- <printStacktraceOnFailure>true</printStacktraceOnFailure>
- <printStderrOnError>true</printStderrOnError>
- <printStdoutOnError>true</printStdoutOnError>
- <printStdoutOnFailure>true</printStdoutOnFailure>
- </statelessTestsetInfoReporter>
- <systemPropertyVariables>
- <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
- </systemPropertyVariables>
- </configuration>
- <dependencies>
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>39</version>
+ </parent>
+
+ <groupId>org.apache.jspwiki</groupId>
+ <artifactId>jspwiki-builder</artifactId>
+ <modelVersion>4.0.0</modelVersion>
+ <name>Apache JSPWiki</name>
+ <version>3.0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <description>Apache JSPWiki is a leading open source WikiWiki engine, feature-rich
+ and built around standard JEE components (Java, servlets, JSP).</description>
+ <inceptionYear>2001</inceptionYear>
+ <url>https://jspwiki.apache.org/</url>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <project.build.outputTimestamp>2026-08-16T18:19:17Z</project.build.outputTimestamp>
+ <!-- will be changed by release plugin during releases -->
+ <jdk.version>17</jdk.version>
+ <jdk.javadoc.doclet.version>2.3.2</jdk.javadoc.doclet.version>
+ <maven.version>3.5</maven.version>
+
+ <akismet-java.version>1.0.0</akismet-java.version>
+ <awaitility.version>4.3.0</awaitility.version>
+ <aws-java-sdk-kendra.version>1.12.797</aws-java-sdk-kendra.version>
+ <commons-codec.version>1.22.1</commons-codec.version>
+ <commons-collections.version>4.6.0</commons-collections.version>
+ <commons-fileupload.version>2.0.0-M5</commons-fileupload.version>
+ <commons-io.version>2.22.0</commons-io.version>
+ <commons-lang.version>3.20.0</commons-lang.version>
+ <commons-net.version>3.13.0</commons-net.version>
+ <commons-text.version>1.15.0</commons-text.version>
+ <commons-validator.version>1.11.0</commons-validator.version>
+ <ehcache.version>2.10.9.2</ehcache.version>
+ <flexmark.version>0.64.8</flexmark.version>
+ <freshcookies-security.version>0.60</freshcookies-security.version>
+ <gson.version>2.13.2</gson.version>
+ <hsqldb.version>2.7.4</hsqldb.version>
+ <jackson-version>3.2.2</jackson-version>
+ <jakarta-activation.version>2.0.1</jakarta-activation.version>
+ <jakarta-activation-api.version>2.1.4</jakarta-activation-api.version>
+ <jakarta-jsp-api.version>4.0.0</jakarta-jsp-api.version>
+ <jakarta-jstl.version>3.0.1</jakarta-jstl.version>
+ <jakarta-jstl-api.version>3.0.2</jakarta-jstl-api.version>
+ <jakarta-mail.version>2.0.2</jakarta-mail.version>
+ <jakarta-mail-api.version>2.1.5</jakarta-mail-api.version>
+ <jakarta-servlet-api.version>6.1.0</jakarta-servlet-api.version>
+ <java-diff-utils-version>4.16</java-diff-utils-version>
+ <jacoco-version>0.8.14</jacoco-version>
+ <jamm.version>0.4.0</jamm.version>
+ <jaxen.version>2.0.0</jaxen.version>
+ <javax-mail.version>2.0.2</javax-mail.version>
+ <javax-jsp-api.version>2.3.3</javax-jsp-api.version>
+ <jdom2.version>2.0.6</jdom2.version>
+ <jrcs-diff.version>0.4.2</jrcs-diff.version>
+ <junit.version>6.1.3</junit.version>
+ <log4j2.version>2.26.1</log4j2.version>
+ <lucene.version>9.12.2</lucene.version>
+ <mockito.version>5.20.0</mockito.version>
+ <nekohtml.version>2.1.3</nekohtml.version>
+ <oro.version>2.0.8</oro.version>
+ <rome.version>2.1.0</rome.version>
+ <sandler.version>0.5</sandler.version>
+ <selenide.version>7.18.1</selenide.version>
+ <slf4j.version>2.0.18</slf4j.version>
+ <tika.version>3.3.2</tika.version>
+ <tomcat.version>10.1.60</tomcat.version>
+ <xmlrpc.version>2.0.1</xmlrpc.version>
+ <xstream.version>1.4.21</xstream.version>
+
+ <plugin.antrun.version>3.2.0</plugin.antrun.version>
+ <plugin.assembly.version>3.8.0</plugin.assembly.version>
+ <plugin.clean.version>3.5.0</plugin.clean.version>
+ <plugin.compiler.version>3.16.0</plugin.compiler.version>
+ <plugin.dependency.version>3.11.0</plugin.dependency.version>
+ <plugin.enforcer.version>3.6.3</plugin.enforcer.version>
+ <plugin.failsafe.version>3.6.0</plugin.failsafe.version>
+ <plugin.install.version>3.2.0</plugin.install.version>
+ <plugin.jar.version>3.5.1</plugin.jar.version>
+ <plugin.javadoc.version>3.12.0</plugin.javadoc.version>
+ <plugin.jxr.version>3.6.0</plugin.jxr.version>
+ <plugin.project-info-reports.version>3.9.0</plugin.project-info-reports.version>
+ <plugin.release.version>3.3.1</plugin.release.version>
+ <plugin.remote-resources.version>3.3.0</plugin.remote-resources.version>
+ <plugin.resources.version>3.5.0</plugin.resources.version>
+ <plugin.source.version>3.4.0</plugin.source.version>
+ <plugin.surefire.version>3.6.0</plugin.surefire.version>
+ <plugin.surefire.junit5-tree-reporter.version>1.5.1</plugin.surefire.junit5-tree-reporter.version>
+ <plugin.surefire.junit5-tree-reporter.enable-console>false</plugin.surefire.junit5-tree-reporter.enable-console>
+ <plugin.war.version>3.5.1</plugin.war.version>
+ <plugin.inmemdb.version>1.4.3</plugin.inmemdb.version>
+ <plugin.jspc.version>5.0.0</plugin.jspc.version>
+ <plugin.build-helper.version>3.6.1</plugin.build-helper.version>
+ <plugin.checksum.version>1.11</plugin.checksum.version>
+ <plugin.jslint.version>1.0.1</plugin.jslint.version>
+ <plugin.cargo.version>1.10.28</plugin.cargo.version>
+ <plugin.clirr.version>2.8</plugin.clirr.version>
+ <plugin.cyclonedx.version>2.9.3</plugin.cyclonedx.version>
+ <plugin.sonar.version>5.3.0.6276</plugin.sonar.version>
+ <plugin.sonar-report.version>0.1</plugin.sonar-report.version>
+ <plugin.wro4j.version>2.1.1</plugin.wro4j.version>
+ <plugin.eclipse-lifecycle-mapping.version>1.0.0</plugin.eclipse-lifecycle-mapping.version>
+ <maven.compiler.source>${jdk.version}</maven.compiler.source> <!-- override values from parent pom -->
+ <maven.compiler.target>${jdk.version}</maven.compiler.target>
+ <minimize>true</minimize> <!-- wro4j compression -->
+ </properties>
+
+ <scm>
+ <connection>scm:git:https://github.com/apache/jspwiki.git</connection>
+ <developerConnection>scm:git:https://github.com/apache/jspwiki.git</developerConnection>
+ <url>https://github.com/apache/jspwiki</url>
+ <tag>2.12.1-RC1</tag>
+ </scm>
+
+ <modules>
+ <module>jspwiki-wikipages</module>
+ <module>jspwiki-util</module>
+ <module>jspwiki-event</module>
+ <module>jspwiki-api</module>
+ <module>jspwiki-bootstrap</module>
+ <module>jspwiki-cache</module>
+ <module>jspwiki-http</module>
+ <module>jspwiki-wysiwyg</module>
+ <module>jspwiki-main</module>
+ <module>jspwiki-markdown</module>
+ <module>jspwiki-tika-searchprovider</module>
+ <module>jspwiki-kendra-searchprovider</module>
+ <module>jspwiki-plugins</module>
+ <module>jspwiki-https-enabler</module>
+ <module>jspwiki-210-test-adaptees</module>
+ <module>jspwiki-210-adapters</module>
+ <module>jspwiki-war</module>
+ <module>jspwiki-war-https</module>
+ <module>jspwiki-portable</module>
+ <module>jspwiki-it-tests</module><!-- IT tests are launched only if -Pintegration-tests is given -->
+ <module>jspwiki-bom</module>
+ </modules>
+
+ <dependencyManagement> <!-- defines what configuration is going to be used if, and only if, the dependency is used -->
+ <dependencies>
+ <!-- ordered alphabetically by scope:groupId:artifactId -->
+ <!-- compile dependencies -->
<dependency>
- <groupId>me.fabriciorby</groupId>
- <artifactId>maven-surefire-junit5-tree-reporter</artifactId>
- <version>${plugin.surefire.junit5-tree-reporter.version}</version>
+ <groupId>com.amazonaws</groupId>
+ <artifactId>aws-java-sdk-kendra</artifactId>
+ <version>${aws-java-sdk-kendra.version}</version>
</dependency>
- </dependencies>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-report-plugin</artifactId>
- <version>${plugin.surefire.version}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-war-plugin</artifactId>
- <version>${plugin.war.version}</version>
- <configuration>
- <archive>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Extension-Name>${project.artifactId}</Extension-Name>
- <Implementation-Version>${project.version}</Implementation-Version>
- <Specification-Version>${project.version}</Specification-Version>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>com.btmatthews.maven.plugins.inmemdb</groupId>
- <artifactId>inmemdb-maven-plugin</artifactId>
- <version>${plugin.inmemdb.version}</version>
- </plugin>
-
- <plugin>
- <groupId>io.leonard.maven.plugins</groupId>
- <artifactId>jspc-maven-plugin</artifactId>
- <version>${plugin.jspc.version}</version>
- <configuration>
- <compilerVersion>${jdk.version}</compilerVersion>
- <generatedClasses>${project.build.directory}/ignore</generatedClasses> <!-- only check JSPs are well-formed -->
- <keepSources>true</keepSources>
- <stopAtFirstError>false</stopAtFirstError>
- </configuration>
- <executions>
- <execution>
- <id>check-jsps-are-well-formed</id>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>net.nicoulaj.maven.plugins</groupId>
- <artifactId>checksum-maven-plugin</artifactId>
- <version>${plugin.checksum.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>artifacts</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <algorithms>
- <algorithm>SHA-512</algorithm>
- </algorithms>
- </configuration>
- </plugin>
-
- <!-- wro4j Web Resource Optimizer for Java (http://http://code.google.com/p/wro4j/)
- Merge and compress CSS and JS files using the WRO4J.
- - use UglifyJS for JS compression
- - use Less as advanced CSS preprocessor
- -->
- <plugin>
- <groupId>ro.isdc.wro4j</groupId>
- <artifactId>wro4j-maven-plugin</artifactId>
- <version>${plugin.wro4j.version}</version>
- <configuration>
- <contextFolder>${project.basedir}/src/main/</contextFolder>
- <extraConfigFile>${project.basedir}/src/main/config/wro/wro.properties</extraConfigFile>
- <minimize>${minimize}</minimize>
- <jsDestinationFolder>${project.build.directory}/generated-sources/wro/scripts</jsDestinationFolder>
- <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
- </configuration>
- <dependencies><!-- https://github.com/wro4j/wro4j/issues/1039#issuecomment-382474533 -->
+
<dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>${mockito.version}</version>
+ <groupId>com.codeborne</groupId>
+ <artifactId>selenide</artifactId>
+ <version>${selenide.version}</version>
</dependency>
- </dependencies>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>${plugin.build-helper.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jslint-maven-plugin</artifactId>
- <version>${plugin.jslint.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.apache.rat</groupId>
- <artifactId>apache-rat-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>.gitignore</exclude> <!-- git exclusions -->
- <exclude>**/src/main/config/doc/LICENSE.*</exclude> <!-- 3rd party License files -->
- <exclude>**/src/main/config/wikipages/**</exclude> <!-- Default wikipages -->
- <exclude>**/src/main/config/dev/OldChangeLog</exclude> <!-- ChangeLog excluded by default, this is, well, an old ChangeLog -->
- <exclude>**/src/main/resources/META-INF/services/*</exclude> <!-- Java SPI implementations files -->
- <exclude>**/src/main/scripts/posteditor.js</exclude> <!-- minified file -->
- <exclude>**/src/main/scripts/wiki-wysiwyg/**</exclude> <!-- MooEditable src, MIT licensed -->
- <exclude>**/src/main/scripts/moo-extend/Request.File.js</exclude> <!-- MIT licensed -->
- <exclude>**/src/main/styles/haddock/fontjspwiki/**</exclude> <!-- MIT/OFL licensed -->
- <exclude>**/src/main/webapp/templates/haddock/fonts/FontJspwiki.*</exclude><!-- MIT/OFL licensed -->
- <exclude>**/src/main/webapp/templates/reader/fonts/FontJspwiki.*</exclude> <!-- MIT/OFL licensed -->
- <exclude>**/src/main/webapp/scripts/mooeditable/**</exclude> <!-- MooEditable src, MIT licensed -->
- <exclude>**/src/main/webapp/scripts/*.js</exclude> <!-- minified files -->
- <exclude>**/src/main/scripts/lib/*.js</exclude> <!-- 3rd party js files -->
- <exclude>**/src/test/resources/META-INF/services/*</exclude> <!-- Java SPI implementations files -->
- <exclude>**/src/test/resources/TextFormattingRules.txt</exclude> <!-- test input data -->
- <exclude>**/src/test/resources/test-repo/*.txt</exclude> <!-- web tests input data -->
- <exclude>**/src/main/webapp/templates/default/images/SilkIconSet-readme.txt</exclude> <!-- license, required by Silk Icon set cfr. NOTICE, LICENSE, etc. -->
- <exclude>**/PkgInfo</exclude> <!-- PkgInfo files, per http://docs.oracle.com/cd/E19683-01/816-0219/6m6njqbat/index.html doesn't seem to accept comments -->
- <exclude>jspwiki-kendra-searchprovider/src/main/resources/org/apache/wiki/search/kendra/content_types.json</exclude> <!-- Json File -->
- <exclude>**/.eslintrc</exclude> <!-- Json File -->
- <exclude>**src/main/styles/haddock/bootstrap/**</exclude>
- <exclude>**src/main/styles/haddock/default/*.crunch</exclude>
- <exclude>**/src/main/webapp/templates/default/fonts/*.svg</exclude>
- <exclude>**/src/main/webapp/templates/210/images/SilkIconSet-readme.txt</exclude>
- <exclude>**/src/main/webapp/favicons/*.svg</exclude>
- <exclude>**/src/overlay/launchers/tomcat/woas.app/Contents/*.plist</exclude>
- <exclude>**/src/overlay/launchers/tomcat/woas.app/Contents/Resources/*.none</exclude>
- <exclude>**/.eslintrc</exclude>
-
- </excludes>
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.cargo</groupId>
- <artifactId>cargo-maven3-plugin</artifactId>
- <version>${plugin.cargo.version}</version>
- <configuration>
- <container>
- <!-- https://codehaus-cargo.github.io/cargo/Maven2+Plugin+Reference+Guide.html#Maven2PluginReferenceGuide-container -->
- <containerId>tomcat10x</containerId>
- <zipUrlInstaller>
- <url>https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip</url>
- </zipUrlInstaller>
- <!-- <output>${project.build.directory}/tomcat9x/logs/container.log</output> -->
- <systemProperties>
- <user.language>en</user.language>
- <user.region>US</user.region>
- </systemProperties>
- </container>
- <configuration>
- <type>standalone</type>
- <home>${project.build.directory}/tomcat10x</home>
- <properties>
- <cargo.protocol>http</cargo.protocol>
- <cargo.servlet.port>8080</cargo.servlet.port>
- <!--example for cargo plugin with https-->
- <!--
- <cargo.protocol>https</cargo.protocol>
- <cargo.servlet.port>8443</cargo.servlet.port>
- <cargo.tomcat.httpSecure>true</cargo.tomcat.httpSecure>
- <cargo.tomcat.connector.sslProtocol>TLS</cargo.tomcat.connector.sslProtocol>
- <cargo.tomcat.connector.keystoreFile>${project.basedir}/../jspwiki-portable/src/overlay/tomcat/conf/test-use-only.p12</cargo.tomcat.connector.keystoreFile>
- <cargo.tomcat.connector.keystorePass></cargo.tomcat.connector.keystorePass>
- -->
- <cargo.jvmargs>-Xms256m -Xmx3072m -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -XX:+DisableExplicitGC -Xverify:none -Djava.awt.headless=true</cargo.jvmargs>
- </properties>
- </configuration>
- <!-- <deployables>
- <deployable>
- <groupId>${project.groupId}</groupId>
- <artifactId>jspwiki-war</artifactId>
- <type>war</type>
- <properties>
- <context>/JSPWiki</context>
- </properties>
- </deployable>
- </deployables> -->
- </configuration>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>clirr-maven-plugin</artifactId>
- <version>${plugin.clirr.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.cyclonedx</groupId>
- <artifactId>cyclonedx-maven-plugin</artifactId>
- <version>${plugin.cyclonedx.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.sonarsource.scanner.maven</groupId>
- <artifactId>sonar-maven-plugin</artifactId>
- <version>${plugin.sonar.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.sonar-plugins</groupId>
- <artifactId>maven-report</artifactId>
- <version>${plugin.sonar-report.version}</version>
- </plugin>
-
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco-version}</version>
- <executions>
- <execution>
- <id>coverage-initialize</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>coverage-report</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-
- <profiles>
- <profile>
- <id>build-wikipages-zips</id>
- <activation>
- <file>
- <exists>../assembly/zip.xml</exists>
- </file>
- </activation>
- <build> <!-- apache-release from project's parent pom enables assembly plugin on all modules, so to build the -->
- <plugins> <!-- wikipages zip we must fall back to invoke it on each wikipage submodule. In order to reuse some -->
- <plugin> <!-- build logic, we use a custom profile. Cfr with property on each jspwiki-wikipages submodule. -->
- <artifactId>maven-assembly-plugin</artifactId>
- <executions>
- <execution>
- <id>create-wikipages-zip</id>
- <phase>package</phase>
- <goals><goal>single</goal></goals>
- <configuration>
- <descriptors>
- <descriptor>../assembly/zip.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- <execution>
- <id>create-markdown-wikipages-zip</id>
- <phase>package</phase>
- <goals><goal>single</goal></goals>
- <configuration>
- <descriptors>
- <descriptor>../assembly/zip-markdown.xml</descriptor>
- </descriptors>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile> <!-- attach additional artifacts to build lifecycle -->
- <id>attach-additional-artifacts</id>
-
- <activation>
- <property>
- <name>additional_artifacts</name>
- <value>true</value>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>artifact-sources</id>
- <phase>package</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-javadoc-plugin</artifactId>
- <executions>
- <execution>
- <id>artifact-javadocs</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- <profile> <!-- enable memory profiling -->
- <id>mem-profiling</id>
-
- <activation>
- <property>
- <name>test</name>
- <value>MemoryProfiling</value>
- </property>
- </activation>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>dependencies-as-properties</id>
- <goals><goal>properties</goal></goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <argLine>@{argLine} -javaagent:${com.github.jbellis:jamm:jar}</argLine>
- <consoleOutputReporter>
- <disable>false</disable>
- </consoleOutputReporter>
- <reportFormat>plain</reportFormat>
- <statelessTestsetInfoReporter combine.self="override" />
- </configuration>
- </plugin>
+
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>${commons-codec.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>tools.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson-version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-net</groupId>
+ <artifactId>commons-net</artifactId>
+ <version>${commons-net.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-validator</groupId>
+ <artifactId>commons-validator</artifactId>
+ <version>${commons-validator.version}</version>
+ </dependency>
+
+ <dependency><!-- https://jakartaee.github.io/mail-api/README-JakartaMail#Download_Jakarta_Mail_Release -->
+ <groupId>com.sun.mail</groupId>
+ <artifactId>jakarta.mail</artifactId>
+ <version>${jakarta-mail.version}</version>
+ </dependency>
+
+ <dependency><!-- as of 1.6.2 not included by javax.mail-api, see https://javaee.github.io/javamail/docs/COMPAT.txt -->
+ <groupId>com.sun.mail</groupId>
+ <artifactId>logging-mailhandler</artifactId>
+ <version>${javax-mail.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark-ext-attributes</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark-ext-definition</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark-ext-footnotes</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark-ext-tables</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.vladsch.flexmark</groupId>
+ <artifactId>flexmark-ext-toc</artifactId>
+ <version>${flexmark.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons-io.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ <version>${jakarta-activation-api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.sun.activation</groupId>
+ <artifactId>jakarta.activation</artifactId>
+ <version>${jakarta-activation.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.mail</groupId>
+ <artifactId>jakarta.mail-api</artifactId>
+ <version>${jakarta-mail-api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>${jakarta-servlet-api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.servlet.jsp</groupId>
+ <artifactId>jakarta.servlet.jsp-api</artifactId>
+ <version>${jakarta-jsp-api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jakarta.servlet.jsp.jstl</groupId>
+ <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
+ <version>${jakarta-jstl-api.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.github.java-diff-utils</groupId>
+ <artifactId>java-diff-utils</artifactId>
+ <version>${java-diff-utils-version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>jaxen</groupId>
+ <artifactId>jaxen</artifactId>
+ <version>${jaxen.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.rometools</groupId>
+ <artifactId>rome</artifactId>
+ <version>${rome.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>net.thauvin.erik</groupId>
+ <artifactId>akismet-kotlin</artifactId>
+ <version>${akismet-java.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sourceforge</groupId>
+ <artifactId>sandler</artifactId>
+ <version>${sandler.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>net.sf.ehcache</groupId>
+ <artifactId>ehcache</artifactId>
+ <version>${ehcache.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ <version>${commons-collections.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-javax</artifactId>
+ <version>${commons-fileupload.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
+ <version>${commons-fileupload.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>${commons-lang.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-text</artifactId>
+ <version>${commons-text.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>${log4j2.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>${log4j2.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-1.2-api</artifactId>
+ <version>${log4j2.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>${log4j2.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-analysis-common</artifactId>
+ <version>${lucene.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-backward-codecs</artifactId>
+ <version>${lucene.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-highlighter</artifactId>
+ <version>${lucene.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.lucene</groupId>
+ <artifactId>lucene-queryparser</artifactId>
+ <version>${lucene.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tika</groupId>
+ <artifactId>tika-core</artifactId>
+ <version>${tika.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tika</groupId>
+ <artifactId>tika-parsers-standard-package</artifactId>
+ <version>${tika.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codelibs</groupId>
+ <artifactId>nekohtml</artifactId>
+ <version>${nekohtml.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.freshcookies</groupId>
+ <artifactId>freshcookies-security</artifactId>
+ <version>${freshcookies-security.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.glassfish.web</groupId>
+ <artifactId>jakarta.servlet.jsp.jstl</artifactId>
+ <version>${jakarta-jstl.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jdom</groupId>
+ <artifactId>jdom2</artifactId>
+ <version>${jdom2.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>oro</groupId>
+ <artifactId>oro</artifactId>
+ <version>${oro.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>xmlrpc</groupId>
+ <artifactId>xmlrpc</artifactId>
+ <version>${xmlrpc.version}</version>
+ </dependency>
+
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>com.github.jbellis</groupId>
+ <artifactId>jamm</artifactId>
+ <version>${jamm.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <version>${awaitility.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>${hsqldb.version}</version>
+ <classifier>jdk8</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>sqltool</artifactId>
+ <version>${hsqldb.version}</version>
+ <classifier>jdk8</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.junit</groupId>
+ <artifactId>junit-bom</artifactId>
+ <version>${junit.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-junit-jupiter</artifactId>
+ <version>${mockito.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <build>
+ <defaultGoal>verify apache-rat:check</defaultGoal>
+ <plugins> <!-- plugins executed with every build -->
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforcer-validations</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>net.nicoulaj.maven.plugins</groupId>
+ <artifactId>checksum-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.cyclonedx</groupId>
+ <artifactId>cyclonedx-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-sbom</id>
+ <goals>
+ <goal>makeAggregateBom</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <externalReferences>
+ <externalReference>
+ <type>vulnerability-assertion</type>
+ <url>https://jspwiki.apache.org/cyclonedx/vdr.xml</url>
+ </externalReference>
+ </externalReferences>
+ <outputFormat>xml</outputFormat>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
- </build>
- </profile>
-
- <profile>
- <id>m2e</id>
- <!-- This profile is only active when the property "m2e.version"
- is set, which is the case when building in Eclipse with m2e. -->
- <activation>
- <property>
- <name>m2e.version</name>
- </property>
- </activation>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>${plugin.eclipse-lifecycle-mapping.version}</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>io.leonard.maven.plugins</groupId>
- <artifactId>jspc-maven-plugin</artifactId>
- <versionRange>[2.4.6,)</versionRange>
- <goals><goal>compile</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>yuicompressor-maven-plugin</artifactId>
- <versionRange>[1.3.2,)</versionRange>
- <goals><goal>compress</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
+
+ <pluginManagement> <!-- defines what configuration is going to be used if, and only if, the plugin is used -->
+ <plugins> <!-- ordered alphabetically by groupId (default first):artifactId -->
+ <plugin> <!-- default maven plugins have their version configured to make the build independent of the maven version used -->
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${plugin.antrun.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>${plugin.assembly.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>${plugin.clean.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${plugin.compiler.version}</version>
+ <configuration>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ <source>${jdk.version}</source>
+ <target>${jdk.version}</target>
+ <release>${jdk.version}</release>
+ <compilerArgs>
+ <arg>-Xlint:deprecation</arg>
+ <arg>-parameters</arg>
+ </compilerArgs>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>${plugin.dependency.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${plugin.enforcer.version}</version>
+ <configuration>
+ <fail>true</fail>
+ <rules>
+ <requireJavaVersion>
+ <message>MUST USE JDK ${jdk.version}</message>
+ <version>${jdk.version}</version>
+ </requireJavaVersion>
+ <requireMavenVersion>
+ <message>BUILD REQUIRES MAVEN ${maven.version}</message>
+ <version>[${maven.version},)</version>
+ </requireMavenVersion>
+ </rules>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${plugin.failsafe.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>${plugin.install.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${plugin.javadoc.version}</version>
+ <configuration>
+ <additionalOptions>
+ <additionalOption>-Xdoclint:none</additionalOption>
+ <additionalOption>--allow-script-in-comments</additionalOption>
+ </additionalOptions>
+ <bottom>Copyright (c) {inceptionYear}-{currentYear} ${project.organization.name}. All rights reserved.</bottom>
+ <breakiterator>true</breakiterator>
+ <detectJavaApiLink>false</detectJavaApiLink>
+ <doclet>nl.talsmasoftware.umldoclet.UMLDoclet</doclet>
+ <docletArtifact>
+ <groupId>nl.talsmasoftware</groupId>
+ <artifactId>umldoclet</artifactId>
+ <version>${jdk.javadoc.doclet.version}</version>
+ <classifier>full</classifier>
+ </docletArtifact>
+ <linksource>true</linksource>
+ <release>${jdk.version}</release>
+ <sourcetab>4</sourcetab>
+ <quiet>true</quiet>
+ <useStandardDocletOptions>true</useStandardDocletOptions>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${plugin.jar.version}</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Extension-Name>${project.artifactId}</Extension-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-jxr-plugin</artifactId>
+ <version>${plugin.jxr.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>${plugin.project-info-reports.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>${plugin.release.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <version>${plugin.remote-resources.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>${plugin.resources.version}</version>
+ <configuration>
+ <encoding>${project.build.sourceEncoding}</encoding>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${plugin.source.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${plugin.surefire.version}</version>
+ <configuration>
+ <argLine>@{argLine}</argLine>
+ <consoleOutputReporter>
+ <disable>${plugin.surefire.junit5-tree-reporter.enable-console}</disable>
+ </consoleOutputReporter>
+ <reportFormat>plain</reportFormat>
+ <statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter">
+ <printStacktraceOnError>true</printStacktraceOnError>
+ <printStacktraceOnFailure>true</printStacktraceOnFailure>
+ <printStderrOnError>true</printStderrOnError>
+ <printStdoutOnError>true</printStdoutOnError>
+ <printStdoutOnFailure>true</printStdoutOnFailure>
+ </statelessTestsetInfoReporter>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
+ </systemPropertyVariables>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>me.fabriciorby</groupId>
+ <artifactId>maven-surefire-junit5-tree-reporter</artifactId>
+ <version>${plugin.surefire.junit5-tree-reporter.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${plugin.surefire.version}</version>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>${plugin.war.version}</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <manifestEntries>
+ <Extension-Name>${project.artifactId}</Extension-Name>
+ <Implementation-Version>${project.version}</Implementation-Version>
+ <Specification-Version>${project.version}</Specification-Version>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>com.btmatthews.maven.plugins.inmemdb</groupId>
+ <artifactId>inmemdb-maven-plugin</artifactId>
+ <version>${plugin.inmemdb.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>io.leonard.maven.plugins</groupId>
+ <artifactId>jspc-maven-plugin</artifactId>
+ <version>${plugin.jspc.version}</version>
+ <configuration>
+ <compilerVersion>${jdk.version}</compilerVersion>
+ <generatedClasses>${project.build.directory}/ignore</generatedClasses> <!-- only check JSPs are well-formed -->
+ <keepSources>true</keepSources>
+ <stopAtFirstError>false</stopAtFirstError>
+ </configuration>
+ <executions>
+ <execution>
+ <id>check-jsps-are-well-formed</id>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>net.nicoulaj.maven.plugins</groupId>
+ <artifactId>checksum-maven-plugin</artifactId>
+ <version>${plugin.checksum.version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>artifacts</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <algorithms>
+ <algorithm>SHA-512</algorithm>
+ </algorithms>
+ </configuration>
+ </plugin>
+
+ <!-- wro4j Web Resource Optimizer for Java (http://http://code.google.com/p/wro4j/)
+ Merge and compress CSS and JS files using the WRO4J.
+ - use UglifyJS for JS compression
+ - use Less as advanced CSS preprocessor
+ -->
+ <plugin>
+ <groupId>ro.isdc.wro4j</groupId>
+ <artifactId>wro4j-maven-plugin</artifactId>
+ <version>${plugin.wro4j.version}</version>
+ <configuration>
+ <contextFolder>${project.basedir}/src/main/</contextFolder>
+ <extraConfigFile>${project.basedir}/src/main/config/wro/wro.properties</extraConfigFile>
+ <minimize>${minimize}</minimize>
+ <jsDestinationFolder>${project.build.directory}/generated-sources/wro/scripts</jsDestinationFolder>
+ <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
+ </configuration>
+ <dependencies><!-- https://github.com/wro4j/wro4j/issues/1039#issuecomment-382474533 -->
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>${plugin.build-helper.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jslint-maven-plugin</artifactId>
+ <version>${plugin.jslint.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>.gitignore</exclude> <!-- git exclusions -->
+ <exclude>**/src/main/config/doc/LICENSE.*</exclude> <!-- 3rd party License files -->
+ <exclude>**/src/main/config/wikipages/**</exclude> <!-- Default wikipages -->
+ <exclude>**/src/main/config/dev/OldChangeLog</exclude> <!-- ChangeLog excluded by default, this is, well, an old ChangeLog -->
+ <exclude>**/src/main/resources/META-INF/services/*</exclude> <!-- Java SPI implementations files -->
+ <exclude>**/src/main/scripts/posteditor.js</exclude> <!-- minified file -->
+ <exclude>**/src/main/scripts/wiki-wysiwyg/**</exclude> <!-- MooEditable src, MIT licensed -->
+ <exclude>**/src/main/scripts/moo-extend/Request.File.js</exclude> <!-- MIT licensed -->
+ <exclude>**/src/main/styles/haddock/fontjspwiki/**</exclude> <!-- MIT/OFL licensed -->
+ <exclude>**/src/main/webapp/templates/haddock/fonts/FontJspwiki.*</exclude><!-- MIT/OFL licensed -->
+ <exclude>**/src/main/webapp/templates/reader/fonts/FontJspwiki.*</exclude> <!-- MIT/OFL licensed -->
+ <exclude>**/src/main/webapp/scripts/mooeditable/**</exclude> <!-- MooEditable src, MIT licensed -->
+ <exclude>**/src/main/webapp/scripts/*.js</exclude> <!-- minified files -->
+ <exclude>**/src/main/scripts/lib/*.js</exclude> <!-- 3rd party js files -->
+ <exclude>**/src/test/resources/META-INF/services/*</exclude> <!-- Java SPI implementations files -->
+ <exclude>**/src/test/resources/TextFormattingRules.txt</exclude> <!-- test input data -->
+ <exclude>**/src/test/resources/test-repo/*.txt</exclude> <!-- web tests input data -->
+ <exclude>**/src/main/webapp/templates/default/images/SilkIconSet-readme.txt</exclude> <!-- license, required by Silk Icon set cfr. NOTICE, LICENSE, etc. -->
+ <exclude>**/PkgInfo</exclude> <!-- PkgInfo files, per http://docs.oracle.com/cd/E19683-01/816-0219/6m6njqbat/index.html doesn't seem to accept comments -->
+ <exclude>jspwiki-kendra-searchprovider/src/main/resources/org/apache/wiki/search/kendra/content_types.json</exclude> <!-- Json File -->
+ <exclude>**/.eslintrc</exclude> <!-- Json File -->
+ <exclude>**src/main/styles/haddock/bootstrap/**</exclude>
+ <exclude>**src/main/styles/haddock/default/*.crunch</exclude>
+ <exclude>**/src/main/webapp/templates/default/fonts/*.svg</exclude>
+ <exclude>**/src/main/webapp/templates/210/images/SilkIconSet-readme.txt</exclude>
+ <exclude>**/src/main/webapp/favicons/*.svg</exclude>
+ <exclude>**/src/overlay/launchers/tomcat/woas.app/Contents/*.plist</exclude>
+ <exclude>**/src/overlay/launchers/tomcat/woas.app/Contents/Resources/*.none</exclude>
+ <exclude>**/.eslintrc</exclude>
+
+ </excludes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.cargo</groupId>
+ <artifactId>cargo-maven3-plugin</artifactId>
+ <version>${plugin.cargo.version}</version>
+ <configuration>
+ <container>
+ <!-- https://codehaus-cargo.github.io/cargo/Maven2+Plugin+Reference+Guide.html#Maven2PluginReferenceGuide-container -->
+ <containerId>tomcat10x</containerId>
+ <zipUrlInstaller>
+ <url>https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip</url>
+ </zipUrlInstaller>
+ <!-- <output>${project.build.directory}/tomcat9x/logs/container.log</output> -->
+ <systemProperties>
+ <user.language>en</user.language>
+ <user.region>US</user.region>
+ </systemProperties>
+ </container>
+ <configuration>
+ <type>standalone</type>
+ <home>${project.build.directory}/tomcat10x</home>
+ <properties>
+ <cargo.protocol>http</cargo.protocol>
+ <cargo.servlet.port>8080</cargo.servlet.port>
+ <!--example for cargo plugin with https-->
+ <!--
+ <cargo.protocol>https</cargo.protocol>
+ <cargo.servlet.port>8443</cargo.servlet.port>
+ <cargo.tomcat.httpSecure>true</cargo.tomcat.httpSecure>
+ <cargo.tomcat.connector.sslProtocol>TLS</cargo.tomcat.connector.sslProtocol>
+ <cargo.tomcat.connector.keystoreFile>${project.basedir}/../jspwiki-portable/src/overlay/tomcat/conf/test-use-only.p12</cargo.tomcat.connector.keystoreFile>
+ <cargo.tomcat.connector.keystorePass></cargo.tomcat.connector.keystorePass>
+ -->
+ <cargo.jvmargs>-Xms256m -Xmx3072m -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -XX:+DisableExplicitGC -Xverify:none -Djava.awt.headless=true</cargo.jvmargs>
+ </properties>
+ </configuration>
+ <!-- <deployables>
+ <deployable>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>jspwiki-war</artifactId>
+ <type>war</type>
+ <properties>
+ <context>/JSPWiki</context>
+ </properties>
+ </deployable>
+ </deployables> -->
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>clirr-maven-plugin</artifactId>
+ <version>${plugin.clirr.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.cyclonedx</groupId>
+ <artifactId>cyclonedx-maven-plugin</artifactId>
+ <version>${plugin.cyclonedx.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.sonarsource.scanner.maven</groupId>
+ <artifactId>sonar-maven-plugin</artifactId>
+ <version>${plugin.sonar.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.sonar-plugins</groupId>
+ <artifactId>maven-report</artifactId>
+ <version>${plugin.sonar-report.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco-version}</version>
+ <executions>
+ <execution>
+ <id>coverage-initialize</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>coverage-report</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <formats>
+ <format>XML</format>
+ <format>HTML</format>
+ </formats>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>githubjacoco</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <versionRange>[1.7,)</versionRange>
- <goals><goal>run</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jslint-maven-plugin</artifactId>
- <versionRange>[1.0.1,)</versionRange>
- <goals><goal>jslint</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>ro.isdc.wro4j</groupId>
- <artifactId>wro4j-maven-plugin</artifactId>
- <versionRange>[1.7.2,)</versionRange>
- <goals><goal>run</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <taskdef name="jacocoReport" classname="org.jacoco.ant.ReportTask">
+ <classpath path="${basedir}/target/jacoco-jars/org.jacoco.ant.jar" />
+ </taskdef>
+
+ <jacocoReport>
+ <executiondata>
+ <fileset dir="${project.basedir}">
+ <include name="**/target/jacoco.exec"/>
+ </fileset>
+ </executiondata>
+ <structure name="JSPWiki Combined Coverage">
+ <classfiles>
+ <dirset dir="${project.basedir}">
+ <include name="jspwiki-*/target/classes"/>
+ </dirset>
+ </classfiles>
+ <sourcefiles encoding="UTF-8">
+ <dirset dir="${project.basedir}">
+ <include name="jspwiki-*/src/main/java"/>
+ </dirset>
+ </sourcefiles>
+ </structure>
+
+ <html destdir="${project.build.directory}/site/jacoco-aggregate"/>
+ <xml destfile="${project.build.directory}/site/jacoco-aggregate/jacoco.xml"/>
+ <csv destfile="${project.build.directory}/site/jacoco-aggregate/jacoco.csv"/>
+ </jacocoReport>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.jacoco</groupId>
+ <artifactId>org.jacoco.ant</artifactId>
+ <version>${jacoco-version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>build-wikipages-zips</id>
+ <activation>
+ <file>
+ <exists>../assembly/zip.xml</exists>
+ </file>
+ </activation>
+ <build> <!-- apache-release from project's parent pom enables assembly plugin on all modules, so to build the -->
+ <plugins> <!-- wikipages zip we must fall back to invoke it on each wikipage submodule. In order to reuse some -->
+ <plugin> <!-- build logic, we use a custom profile. Cfr with property on each jspwiki-wikipages submodule. -->
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>create-wikipages-zip</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>../assembly/zip.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ <execution>
+ <id>create-markdown-wikipages-zip</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>../assembly/zip-markdown.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile> <!-- attach additional artifacts to build lifecycle -->
+ <id>attach-additional-artifacts</id>
+
+ <activation>
+ <property>
+ <name>additional_artifacts</name>
+ <value>true</value>
+ </property>
+ </activation>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>artifact-sources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>artifact-javadocs</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile> <!-- enable memory profiling -->
+ <id>mem-profiling</id>
+
+ <activation>
+ <property>
+ <name>test</name>
+ <value>MemoryProfiling</value>
+ </property>
+ </activation>
+
+ <build>
+ <plugins>
+ <plugin>
<artifactId>maven-dependency-plugin</artifactId>
- <versionRange>[2.1,)</versionRange>
- <goals><goal>unpack</goal></goals>
- </pluginExecutionFilter>
- <action><ignore /></action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
- </profile>
- </profiles>
-
- <organization>
- <name>The Apache Software Foundation</name>
- <url>http://www.apache.org/</url>
- </organization>
-
- <licenses>
- <license>
- <name>The Apache Software License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
-
- <mailingLists>
- <mailingList>
- <name>Apache JSPWiki-dev List</name>
- <subscribe>dev-subscribe@jspwiki.apache.org</subscribe>
- <unsubscribe>dev-unsubscribe@jspwiki.apache.org</unsubscribe>
- <post>dev@jspwiki.apache.org</post>
- <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-dev/</archive>
- </mailingList>
-
- <mailingList>
- <name>Apache JSPWiki-user List</name>
- <subscribe>user-subscribe@jspwiki.apache.org</subscribe>
- <unsubscribe>user-unsubscribe@jspwiki.apache.org</unsubscribe>
- <post>user@jspwiki.apache.org</post>
- <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-user/</archive>
- </mailingList>
-
- <mailingList>
- <name>Apache JSPWiki-commits List</name>
- <subscribe>commits-subscribe@jspwiki.apache.org</subscribe>
- <unsubscribe>commits-unsubscribe@jspwiki.apache.org</unsubscribe>
- <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-commits/</archive>
- </mailingList>
- </mailingLists>
-
- <issueManagement>
- <system>JIRA</system>
- <url>http://issues.apache.org/jira/browse/JSPWIKI</url>
- </issueManagement>
-
- <ciManagement>
- <system>Jenkins</system>
- <url>https://builds.apache.org/job/JSPWiki</url>
- </ciManagement>
+ <executions>
+ <execution>
+ <id>dependencies-as-properties</id>
+ <goals>
+ <goal>properties</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>@{argLine} -javaagent:${com.github.jbellis:jamm:jar}</argLine>
+ <consoleOutputReporter>
+ <disable>false</disable>
+ </consoleOutputReporter>
+ <reportFormat>plain</reportFormat>
+ <statelessTestsetInfoReporter combine.self="override" />
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>m2e</id>
+ <!-- This profile is only active when the property "m2e.version"
+ is set, which is the case when building in Eclipse with m2e. -->
+ <activation>
+ <property>
+ <name>m2e.version</name>
+ </property>
+ </activation>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>${plugin.eclipse-lifecycle-mapping.version}</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>io.leonard.maven.plugins</groupId>
+ <artifactId>jspc-maven-plugin</artifactId>
+ <versionRange>[2.4.6,)</versionRange>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>yuicompressor-maven-plugin</artifactId>
+ <versionRange>[1.3.2,)</versionRange>
+ <goals>
+ <goal>compress</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.7,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jslint-maven-plugin</artifactId>
+ <versionRange>[1.0.1,)</versionRange>
+ <goals>
+ <goal>jslint</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>ro.isdc.wro4j</groupId>
+ <artifactId>wro4j-maven-plugin</artifactId>
+ <versionRange>[1.7.2,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <versionRange>[2.1,)</versionRange>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ </profile>
+ </profiles>
+
+ <organization>
+ <name>The Apache Software Foundation</name>
+ <url>http://www.apache.org/</url>
+ </organization>
+
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <mailingLists>
+ <mailingList>
+ <name>Apache JSPWiki-dev List</name>
+ <subscribe>dev-subscribe@jspwiki.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@jspwiki.apache.org</unsubscribe>
+ <post>dev@jspwiki.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-dev/</archive>
+ </mailingList>
+
+ <mailingList>
+ <name>Apache JSPWiki-user List</name>
+ <subscribe>user-subscribe@jspwiki.apache.org</subscribe>
+ <unsubscribe>user-unsubscribe@jspwiki.apache.org</unsubscribe>
+ <post>user@jspwiki.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-user/</archive>
+ </mailingList>
+
+ <mailingList>
+ <name>Apache JSPWiki-commits List</name>
+ <subscribe>commits-subscribe@jspwiki.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@jspwiki.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/jspwiki-commits/</archive>
+ </mailingList>
+ </mailingLists>
+
+ <issueManagement>
+ <system>JIRA</system>
+ <url>http://issues.apache.org/jira/browse/JSPWIKI</url>
+ </issueManagement>
+
+ <ciManagement>
+ <system>Jenkins</system>
+ <url>https://builds.apache.org/job/JSPWiki</url>
+ </ciManagement>
</project>