<?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.M6-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>
    <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.1</awaitility.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>3.9</commons-lang.version>
    <commons-text.version>1.8</commons-text.version>
    <ehcache.version>2.10.6</ehcache.version>
    <flexmark.version>0.50.44</flexmark.version>
    <freshcookies-security.version>0.60</freshcookies-security.version>
    <gson.version>2.8.5</gson.version>
    <hsqldb.version>2.5.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.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.5.2</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <lucene.version>8.3.1</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.5.1</selenide.version>
    <slf4j.version>1.7.29</slf4j.version>
    <stripes.version>1.7.0-async-beta</stripes.version>
    <tika.version>1.23</tika.version>
    <tomcat.version>8.5.49</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.1</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.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.2</plugin.jar.version>
    <plugin.javadoc.version>3.1.1</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.1.0</plugin.source.version>
    <plugin.surefire.version>3.0.0-M3</plugin.surefire.version>
    <plugin.war.version>3.2.3</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.6</plugin.cargo.version>
    <plugin.clirr.version>2.8</plugin.clirr.version>
    <plugin.cobertura.version>2.7</plugin.cobertura.version>
    <plugin.sonar.version>3.6.0.1398</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-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>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.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>
      </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>
            </additionalOptions>
            <author>${project.organization.name}</author>
            <bottom>Copyright © {inceptionYear}-{currentYear} ${project.organization.name}. All rights reserved.</bottom>
            <breakiterator>true</breakiterator>
            <doclet>nl.talsmasoftware.umldoclet.UMLDoclet</doclet>
            <docletArtifact>
              <groupId>nl.talsmasoftware</groupId>
              <artifactId>umldoclet</artifactId>
              <version>${jdk.javadoc.doclet.version}</version>
            </docletArtifact>
            <doclint>none</doclint>
            <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>
            <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>
        </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.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>
