<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>27</version>
  </parent>

  <groupId>org.apache.jspwiki</groupId>
  <artifactId>jspwiki-builder</artifactId>
  <modelVersion>4.0.0</modelVersion>
  <name>Apache JSPWiki</name>
  <version>2.11.3-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>http://jspwiki.apache.org/</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <project.build.outputTimestamp>2022-02-21T20:49:57Z</project.build.outputTimestamp> <!-- will be changed by release plugin during releases -->
    <jdk.version>1.8</jdk.version>
    <jdk.javadoc.doclet.version>1.1.4</jdk.javadoc.doclet.version>
    <maven.version>3.5</maven.version>

    <akismet-java.version>1.02</akismet-java.version>
    <awaitility.version>4.2.0</awaitility.version>
    <aws-java-sdk-kendra.version>1.12.176</aws-java-sdk-kendra.version>
    <commons-collections.version>4.4</commons-collections.version>
    <commons-fileupload.version>1.4</commons-fileupload.version>
    <commons-httpclient.version>3.1</commons-httpclient.version>
    <commons-io.version>2.11.0</commons-io.version>
    <commons-lang.version>3.12.0</commons-lang.version>
    <commons-text.version>1.9</commons-text.version>
    <ehcache.version>2.10.9.2</ehcache.version>
    <flexmark.version>0.62.2</flexmark.version> <!-- 0.64.0 and above require JDK >= 11 to execute -->
    <freshcookies-security.version>0.60</freshcookies-security.version>
    <gson.version>2.9.0</gson.version>
    <hsqldb.version>2.7.0</hsqldb.version>
    <jamm.version>0.3.3</jamm.version>
    <jaxen.version>1.2.0</jaxen.version>
    <javax-jstl.version>1.2</javax-jstl.version>
    <javax-mail.version>1.4.7</javax-mail.version>
    <javax-jsp-api.version>2.3.3</javax-jsp-api.version>
    <javax-servlet-api.version>3.1.0</javax-servlet-api.version>
    <jdom2.version>2.0.6</jdom2.version>
    <jetty.version>9.4.48.v20220622</jetty.version>
    <jrcs-diff.version>0.4.2</jrcs-diff.version>
    <junit.version>5.9.0</junit.version>
    <log4j2.version>2.18.0</log4j2.version>
    <lucene.version>8.11.2</lucene.version> <!-- 9.0.0 and above require JDK >= 11 to execute -->
    <mockito.version>4.6.1</mockito.version>
    <nekohtml.version>2.0.2</nekohtml.version> <!-- 2.1.0 and above require JDK >= 11 to execute -->
    <oro.version>2.0.8</oro.version>
    <sandler.version>0.5</sandler.version>
    <selenide.version>6.6.6</selenide.version>
    <slf4j.version>1.7.36</slf4j.version>
    <stripes.version>1.7.0-async-beta</stripes.version>
    <tika.version>2.4.1</tika.version>
    <tomcat.version>9.0.65</tomcat.version>
    <wro4j.version>1.8.0</wro4j.version> <!-- 1.9.0 and above require JDK >= 9 to execute -->
    <xmlrpc.version>2.0.1</xmlrpc.version>

    <plugin.antrun.version>3.1.0</plugin.antrun.version>
    <plugin.assembly.version>3.4.2</plugin.assembly.version>
    <plugin.clean.version>3.2.0</plugin.clean.version>
    <plugin.compiler.version>3.10.1</plugin.compiler.version>
    <plugin.dependency.version>3.3.0</plugin.dependency.version>
    <plugin.enforcer.version>3.1.0</plugin.enforcer.version>
    <plugin.install.version>3.0.1</plugin.install.version>
    <plugin.jar.version>3.2.2</plugin.jar.version>
    <plugin.javadoc.version>3.4.0</plugin.javadoc.version>
    <plugin.jxr.version>3.2.0</plugin.jxr.version>
    <plugin.project-info-reports.version>3.4.0</plugin.project-info-reports.version>
    <plugin.release.version>3.0.0-M6</plugin.release.version>
    <plugin.remote-resources.version>3.0.0</plugin.remote-resources.version>
    <plugin.resources.version>3.3.0</plugin.resources.version>
    <plugin.source.version>3.2.1</plugin.source.version>
    <plugin.surefire.version>3.0.0-M7</plugin.surefire.version>
    <plugin.surefire.junit5-tree-reporter.version>1.1.0</plugin.surefire.junit5-tree-reporter.version>
    <plugin.war.version>3.3.2</plugin.war.version>
    <plugin.inmemdb.version>1.4.3</plugin.inmemdb.version>
    <plugin.jspc.version>3.2.0</plugin.jspc.version>
    <plugin.checksum.version>1.11</plugin.checksum.version>
    <plugin.jslint.version>1.0.1</plugin.jslint.version>
    <plugin.cargo.version>1.9.13</plugin.cargo.version>
    <plugin.clirr.version>2.8</plugin.clirr.version>
    <plugin.cobertura.version>2.7</plugin.cobertura.version>
    <plugin.sonar.version>3.9.1.2184</plugin.sonar.version>
    <plugin.sonar-report.version>0.1</plugin.sonar-report.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>HEAD</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-210-test-adaptees</module>
    <module>jspwiki-210-adapters</module>
    <module>jspwiki-war</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>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-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons-fileupload.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons-httpclient.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.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-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>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>${javax-mail.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${javax-jstl.version}</version>
      </dependency>

      <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>${jaxen.version}</version>
      </dependency>

      <dependency>
        <groupId>net.sourceforge</groupId>
        <artifactId>akismet-java</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.lucene</groupId>
        <artifactId>lucene-analyzers-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.jdom</groupId>
        <artifactId>jdom2</artifactId>
        <version>${jdom2.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jvnet.hudson</groupId>
        <artifactId>org.suigeneris.jrcs.diff</artifactId>
        <version>${jrcs-diff.version}</version>
      </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>

      <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>net.sourceforge.stripes</groupId>
        <artifactId>stripes</artifactId>
        <version>${stripes.version}</version>
      </dependency>

      <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>

      <!--
           Note: As Jetty activates during the build, can upgrade
           only to the latest Jetty version that can run on the
           minimum JDK JSPWiki supports:
           http://www.eclipse.org/jetty/documentation/current/what-jetty-version.html
      -->
      <dependency>
        <groupId>org.eclipse.jetty.aggregate</groupId>
        <artifactId>jetty-all</artifactId>
        <version>${jetty.version}</version>
		<type>pom</type>
      </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>

      <!-- provided dependencies -->
      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>${javax-jsp-api.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax-servlet-api.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <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>
    </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>
            <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-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>
            </docletArtifact>
            <linksource>true</linksource>
            <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>
            <consoleOutputReporter>
              <disable>true</disable>
            </consoleOutputReporter>
            <reportFormat>plain</reportFormat>
            <statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter"/>
            <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>${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>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 -->
            </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>tomcat9x</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}/tomcat9x</home>
              <properties>
                <cargo.servlet.port>8080</cargo.servlet.port>
                <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.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${plugin.cobertura.version}</version>
          <configuration>
            <formats>
              <format>html</format>
              <format>xml</format>
            </formats>
          </configuration>
        </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>

        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <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>

  <profiles>
    <profile>
      <id>build-wikipages-zip</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>
                  <appendAssemblyId>false</appendAssemblyId>
                  <descriptors>
                    <descriptor>../assembly/zip.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>-javaagent:${com.github.jbellis:jamm:jar}</argLine>
              <consoleOutputReporter>
                <disable>false</disable>
              </consoleOutputReporter>
              <reportFormat>plain</reportFormat>
              <statelessTestsetInfoReporter combine.self="override"/>
            </configuration>
          </plugin>
        </plugins>
      </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>
