<?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>23</version>
  </parent>

  <groupId>org.apache.jspwiki</groupId>
  <artifactId>jspwiki-builder</artifactId>
  <modelVersion>4.0.0</modelVersion>
  <name>Apache JSPWiki</name>
  <version>2.11.0-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>2020-12-09T19:21:00Z</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.0.3</awaitility.version>
    <aws-java-sdk-kendra.version>1.11.954</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.8.0</commons-io.version>
    <commons-lang.version>3.11</commons-lang.version>
    <commons-text.version>1.9</commons-text.version>
    <ehcache.version>2.10.6</ehcache.version>
    <flexmark.version>0.62.2</flexmark.version>
    <freshcookies-security.version>0.60</freshcookies-security.version>
    <gson.version>2.8.6</gson.version>
    <hsqldb.version>2.6.0</hsqldb.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.40.v20210413</jetty.version>
    <jrcs-diff.version>0.4.2</jrcs-diff.version>
    <junit.version>5.7.1</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <lucene.version>8.7.0</lucene.version>
    <mockito.version>3.9.0</mockito.version>
    <nekohtml.version>1.9.22</nekohtml.version>
    <oro.version>2.0.8</oro.version>
    <sandler.version>0.5</sandler.version>
    <selenide.version>5.20.4</selenide.version>
    <slf4j.version>1.7.30</slf4j.version>
    <stripes.version>1.7.0-async-beta</stripes.version>
    <tika.version>1.25</tika.version>
    <tomcat.version>9.0.45</tomcat.version>
    <wro4j.version>1.8.0</wro4j.version>
    <xmlrpc.version>2.0.1</xmlrpc.version>

    <plugin.antrun.version>3.0.0</plugin.antrun.version>
    <plugin.assembly.version>3.3.0</plugin.assembly.version>
    <plugin.clean.version>3.1.0</plugin.clean.version>
    <plugin.compiler.version>3.8.1</plugin.compiler.version>
    <plugin.dependency.version>3.1.2</plugin.dependency.version>
    <plugin.eclipse.version>2.10</plugin.eclipse.version>
    <plugin.enforcer.version>3.0.0-M3</plugin.enforcer.version>
    <plugin.idea.version>2.2.1</plugin.idea.version>
    <plugin.install.version>2.5.2</plugin.install.version>
    <plugin.jar.version>3.2.0</plugin.jar.version>
    <plugin.javadoc.version>3.2.0</plugin.javadoc.version>
    <plugin.jxr.version>3.0.0</plugin.jxr.version>
    <plugin.project-info-reports.version>3.1.1</plugin.project-info-reports.version>
    <plugin.release.version>3.0.0-M1</plugin.release.version>
    <plugin.resources.version>3.2.0</plugin.resources.version>
    <plugin.source.version>3.2.1</plugin.source.version>
    <plugin.surefire.version>3.0.0-M5</plugin.surefire.version>
    <plugin.war.version>3.3.1</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.9</plugin.checksum.version>
    <plugin.jslint.version>1.0.1</plugin.jslint.version>
    <plugin.cargo.version>1.8.5</plugin.cargo.version>
    <plugin.clirr.version>2.8</plugin.clirr.version>
    <plugin.cobertura.version>2.7</plugin.cobertura.version>
    <plugin.sonar.version>3.8.0.2131</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-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 -->
  </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-footnotes</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>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>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.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-queryparser</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-analyzers-common</artifactId>
        <version>${lucene.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-parsers</artifactId>
        <version>${tika.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>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>
      </dependency>

      <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>sqltool</artifactId>
        <version>${hsqldb.version}</version>
      </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>

      <!-- runtime dependencies -->
      <dependency>
        <groupId>net.sourceforge.nekohtml</groupId>
        <artifactId>nekohtml</artifactId>
        <version>${nekohtml.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-eclipse-plugin</artifactId>
          <version>${plugin.eclipse.version}</version>
          <configuration>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>true</downloadJavadocs>
            <additionalConfig>
              <file>
                <name>.checkstyle</name>
                <location>${maven.multiModuleProjectDirectory}/jspwiki-war/src/main/config/dev/jspwiki-checkstyle.xml</location>
              </file>
              <file>
                <name>.settings/org.eclipse.jdt.core.prefs</name>
                <location>${maven.multiModuleProjectDirectory}/jspwiki-war/src/main/config/dev/jspwiki-eclipse-codestyle.xml</location>
              </file>
            </additionalConfig>
            <additionalProjectnatures>
              <projectnature>net.sourceforge.metrics.nature</projectnature>
              <projectnature>net.sf.eclipsecs.core.CheckstyleNature</projectnature>
            </additionalProjectnatures>
          </configuration>
        </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-idea-plugin</artifactId>
          <version>${plugin.idea.version}</version>
          <configuration>
            <downloadSources>true</downloadSources>
            <downloadJavadocs>true</downloadJavadocs>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>${plugin.install.version}</version>
          <configuration>
            <createChecksum>true</createChecksum>
          </configuration>
        </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>
            <author>${project.organization.name}</author>
            <bottom>Copyright © {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>
            <version>${project.version}</version>
          </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-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>
            <systemPropertyVariables>
              <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
            </systemPropertyVariables>
          </configuration>
        </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>2.18.0</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/scripts/posteditor.js</exclude>              <!-- minified file -->
              <exclude>**/src/main/scripts/wiki-wysiwyg/**</exclude>            <!-- MooEditable src, MIT licensed -->
              <exclude>**/src/main/webapp/scripts/mooeditable/**</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/*.js</exclude>                <!-- minified files -->
              <exclude>**/src/main/scripts/lib/*.js</exclude>                   <!-- 3rd party js 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-maven2-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>-XX:MaxPermSize=512m -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>
        <activeByDefault>false</activeByDefault>
        <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>
  </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>
