<?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>21</version>
  </parent>

  <groupId>org.apache.jspwiki</groupId>
  <artifactId>jspwiki-builder</artifactId>
  <modelVersion>4.0.0</modelVersion>
  <name>Apache JSPWiki</name>
  <version>2.11.0.M4</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>
    <jdk.version>1.8</jdk.version>
    <maven.version>3.5</maven.version>

    <akismet-java.version>1.02</akismet-java.version>
    <commons-fileupload.version>1.4</commons-fileupload.version>
    <commons-httpclient.version>3.1</commons-httpclient.version>
    <commons-io.version>2.6</commons-io.version>
    <commons-lang.version>2.6</commons-lang.version>
    <ehcache.version>2.10.6</ehcache.version>
    <flexmark.version>0.42.6</flexmark.version>
    <freshcookies-security.version>0.60</freshcookies-security.version>
    <gson.version>2.8.5</gson.version>
    <hsqldb.version>2.4.1</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.0</javax-jsp-api.version>
    <javax-servlet-api.version>3.1.0</javax-servlet-api.version>
    <jdom2.version>2.0.6</jdom2.version>
    <jetty.version>8.1.15.v20140411</jetty.version>
    <jrcs-diff.version>0.4.2</jrcs-diff.version>
    <junit.version>5.4.2</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <lucene.version>8.0.0</lucene.version>
    <nekohtml.version>1.9.22</nekohtml.version>
    <oro.version>2.0.8</oro.version>
    <sandler.version>0.5</sandler.version>
    <selenide.version>5.2.2</selenide.version>
    <slf4j.version>1.7.26</slf4j.version>
    <stripes.version>1.7.0-async-beta</stripes.version>
    <tika.version>1.20</tika.version>
    <tomcat.version>8.5.40</tomcat.version>
    <wro4j.version>1.8.0</wro4j.version>
    <xmlrpc.version>2.0.1</xmlrpc.version>

    <plugin.antrun.version>1.8</plugin.antrun.version>
    <plugin.assembly.version>3.1.0</plugin.assembly.version>
    <plugin.clean.version>3.1.0</plugin.clean.version>
    <plugin.compiler.version>3.8.0</plugin.compiler.version>
    <plugin.dependency.version>3.1.1</plugin.dependency.version>
    <plugin.eclipse.version>2.10</plugin.eclipse.version>
    <plugin.enforcer.version>1.4.1</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.1.0</plugin.jar.version>
    <plugin.javadoc.version>3.1.0</plugin.javadoc.version>
    <plugin.jxr.version>3.0.0</plugin.jxr.version>
    <plugin.project-info-reports.version>3.0.0</plugin.project-info-reports.version>
    <plugin.release.version>2.5.3</plugin.release.version>
    <plugin.resources.version>3.1.0</plugin.resources.version>
    <plugin.source.version>3.0.1</plugin.source.version>
    <plugin.surefire.version>3.0.0-M3</plugin.surefire.version>
    <plugin.war.version>3.2.2</plugin.war.version>
    <plugin.inmemdb.version>1.4.3</plugin.inmemdb.version>
    <plugin.jspc.version>3.1.0</plugin.jspc.version>
    <plugin.checksum.version>1.8</plugin.checksum.version>
    <plugin.jslint.version>1.0.1</plugin.jslint.version>
    <plugin.cargo.version>1.7.3</plugin.cargo.version>
    <plugin.clirr.version>2.8</plugin.clirr.version>
    <plugin.cobertura.version>2.7</plugin.cobertura.version>
    <plugin.selenium.version>2.3</plugin.selenium.version>
    <plugin.sonar.version>3.4.0.905</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>2.11.0.M4-RC2</tag>
  </scm>

  <modules>
    <module>jspwiki-wikipages</module>
    <module>jspwiki-util</module>
    <module>jspwiki-main</module>
    <module>jspwiki-markdown</module>
    <module>jspwiki-tika-searchprovider</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.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>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons-lang.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.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>

      <!--
           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>
      </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>
          </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>-sourceclasspath ${project.build.outputDirectory}</additionalOption>
              <additionalOption>-Xdoclint:none</additionalOption>
            </additionalOptions>
            <author>${project.organization.name}</author>
            <bottom>Copyright © {inceptionYear}-{currentYear} ${project.organization.name}. All rights reserved.</bottom>
            <breakiterator>true</breakiterator>
            <doclet>org.jboss.apiviz.APIviz</doclet>
            <docletArtifact>
              <groupId>com.grahamedgecombe.apiviz</groupId>
              <artifactId>apiviz</artifactId>
              <version>1.3.4</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>
          <dependencies>
            <dependency>
              <groupId>org.apache.maven.scm</groupId>
              <artifactId>maven-scm-api</artifactId>
              <version>1.9.5</version>
            </dependency>
            <dependency>
              <groupId>org.apache.maven.scm</groupId>
              <artifactId>maven-scm-providers-standard</artifactId>
              <version>1.9.5</version>
              <type>pom</type>
              <scope>runtime</scope>
            </dependency>
          </dependencies>
        </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>
            <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>
        </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 -->
            </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>tomcat8x</containerId>
              <zipUrlInstaller>
                <url>https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip</url>
              </zipUrlInstaller>
              <output>${project.build.directory}/tomcat8x/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}/tomcat8x</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.codehaus.mojo</groupId>
          <artifactId>selenium-maven-plugin</artifactId>
          <version>${plugin.selenium.version}</version>
          <configuration>
            <background>true</background>
          </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</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>
