<?xml version="1.0" encoding="UTF-8"?>

<!--
 * See the NOTICE file distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->

<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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.xwiki.enterprise</groupId>
    <artifactId>xwiki-enterprise</artifactId>
    <version>7.1.4</version>
  </parent>
  <artifactId>xwiki-enterprise-web</artifactId>
  <name>XWiki Enterprise - Web</name>
  <packaging>war</packaging>
  <description>The XWiki Enterprise base package. It contains the full XWiki Enterprise runtime except for wiki pages.

If you wish to have the default wiki pages, which contain both content pages and some default applications you also need to install the "XWiki Enterprise - UI" package. Alternatively you can start with an empty wiki without any page and thus no application pre-installed.
  </description>
  <properties>
    <!-- By default we don't include Legacy modules and thus we don't need to exclude the non legacy JARs -->
    <xwiki.war.legacy.excludes />

    <!-- The default UI associated to this WAR -->
    <xwiki.extension.distribution.ui>org.xwiki.enterprise:xwiki-enterprise-ui-mainwiki</xwiki.extension.distribution.ui>
    <xwiki.extension.distribution.wikiui>org.xwiki.enterprise:xwiki-enterprise-ui-wiki</xwiki.extension.distribution.wikiui>

    <!-- Old names of this module used for retro compatibility when resolving dependencies of old extensions -->
    <xwiki.extension.features>
        com.xpn.xwiki.products:xwiki-enterprise-web,
        org.xwiki.manager:xwiki-manager-web,
        com.xpn.xwiki.products:xwiki-enterprise-manager-web
    </xwiki.extension.features>
  </properties>
  <dependencies>
    <!-- Depend on the platform WAR to get all web resources. We then need to add all libraries we need for XE. -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-web</artifactId>
      <version>${platform.version}</version>
      <type>war</type>
    </dependency>

    <!-- Make sure to include the proper version of antlr for hibernate-core -->
    <dependency>
      <groupId>antlr</groupId>
      <artifactId>antlr</artifactId>
      <version>2.7.6</version>
    </dependency>

    <!-- Dependencies we need inside the XE WAR -->
    <!-- Add the GWT JAR so that the XWiki GWT Servlet can be activated by default in web.xml -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-gwt-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wysiwyg-war</artifactId>
      <version>${platform.version}</version>
      <type>war</type>
      <scope>runtime</scope>
    </dependency>
    <!-- Components Modules -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-component-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-component-wiki</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- WebDAV module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-webdav-server</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- REST module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rest-server</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Annotations modules -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-core</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-reference</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-io</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-maintainer</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-rest</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-annotation-scripting</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- ClassLoader -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-classloader-xwiki</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-classloader-protocol-attachmentjar</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Extension Manager -->
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-extension-handler-jar</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-extension-handler-xar</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-extension-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-extension-repository-maven</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-extension-repository-xwiki</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-extension-cluster</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-extension-distribution</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>

    <!-- Default Rendering Macros we want available by default in XE.
         Please keep them in alphabetical order -->
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-box</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-comment</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-footnotes</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-html</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-id</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-message</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-toc</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-macro-content</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-wikimacro-store</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Default Platform Macros we want available by default in XE.
         Please keep them in alphabetical order -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-chart-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-dashboard-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-formula-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-cache</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-code</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-container</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-gallery</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-groovy</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-include</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-display-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-python</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-rss</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-useravatar</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-rendering-macro-velocity</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- XWiki Rendering Syntax Parsers -->
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-doxia</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
      <!-- Incompatible with the version of plexus used by Extension Manager aether module -->
      <exclusions>
        <exclusion>
            <artifactId>plexus-container-default</artifactId>
            <groupId>org.codehaus.plexus</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-xwiki20</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-xwiki21</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-xhtml</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-annotatedxhtml</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-html5</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-annotatedhtml5</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-html</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-xwiki10</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-twiki</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-docbook</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-creole</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-jspwiki</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-mediawiki</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-confluence</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-tex</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-plain</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-markdown10</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-syntax-markdown11</artifactId>
      <version>${rendering.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Transformations we want available by default in XE -->
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-transformation-icon</artifactId>
      <version>${rendering.version}</version>
      <!-- Only needed at runtime since it's a component implementation -->
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.rendering</groupId>
      <artifactId>xwiki-rendering-transformation-wikiword</artifactId>
      <version>${rendering.version}</version>
      <!-- Only needed at runtime since it's a component implementation -->
      <scope>runtime</scope>
    </dependency>

    <!-- Office -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-office-viewer</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-office-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Skins
         Note: even though the dependency plugin below doesn't need explicit dependencies set to work it's a best
         practice to put them here since they are real dependencies -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-colibri</artifactId>
      <version>${platform.version}</version>
      <type>zip</type>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-flamingo-skin</artifactId>
      <version>${platform.version}</version>
      <type>zip</type>
      <scope>runtime</scope>
    </dependency>
    <!-- Captcha component -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-captcha</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Crypto Module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-crypto-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-crypto-store-filesystem</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-crypto-store-wiki</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- CSRF protection -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-csrf</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- XML Script Service -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-xml-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Filesystem attachment storage -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-store-filesystem-attachments</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- User Interface extensions -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-uiextension-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-panels-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Event & Message Stream Modules -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-eventstream</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-messagestream-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Security Script Services -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-security-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Skin Extension -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-skin-skinx</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- ZIP Explorer -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-zipexplorer</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Mailsender -->
    <!-- New Mail Sender API -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-mail-send-storage</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Old Mail Sender Plugin -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-mailsender</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Search -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-search-solr-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-search-solr-query</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-search-solr-rest</artifactId>
      <version>${platform.version}</version>
    </dependency>
    <!-- Useless in standard but kept to make upgrade smoother (when the plugin does not ends up in the index as it should) -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-search-solr-server-plugin</artifactId>
      <version>${platform.version}</version>
    </dependency>
    <!-- JODA Time -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-jodatime</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Diff Script Services -->
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-diff-script</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Blame Script Services -->
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-blame-script</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Logging Dependencies. Ensures all logging goes through SLF4J and Logback. -->
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-logging-logback</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-logging-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>log4j-over-slf4j</artifactId>
      <scope>runtime</scope>
    </dependency>
    <!-- Configuration -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-configuration-default</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Security -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-security-bridge</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Required by the Statistics application.
         TODO: Find a way to not have to duplicate this information, it's already defined in the dependencies
         of the statistics UI module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-chart-plugin</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Feed -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-feed-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Localization -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-localization-source-legacy</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-localization-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-localization-macro</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- URL -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-url-scheme-standard</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Active Installs -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-activeinstalls-client-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Application Manager -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-application-manager-api</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Filter -->
    <dependency>
      <groupId>org.xwiki.commons</groupId>
      <artifactId>xwiki-commons-filter-stream-xml</artifactId>
      <version>${commons.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-filter-instance-oldcore</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-filter-instance-extension</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-filter-instance-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-filter-stream-xar</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- Wiki Module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-default</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-template-default</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-template-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-user-default</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-user-script</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-wiki-workspaces-migrator</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- LESS CSS Module -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-lesscss-default</artifactId>
      <version>${platform.version}</version>
      <scope>runtime</scope>
    </dependency>
    <!-- LDAP -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-ldap-authenticator</artifactId>
      <version>${platform.version}</version>
    </dependency>
    <!-- jQuery -->
    <dependency>
      <groupId>org.webjars</groupId>
      <artifactId>jquery</artifactId>
      <version>1.11.1</version>
    </dependency>
    <!-- Servlets for Resource API -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-platform-resource-servlet</artifactId>
      <version>${platform.version}</version>
    </dependency>

    <!-- Add dependencies on the XAR distributions for the mainwiki and for subwikis so that we transitively
         include all JAR dependencies in the generated WAR -->
    <dependency>
      <groupId>org.xwiki.enterprise</groupId>
      <artifactId>xwiki-enterprise-ui-mainwiki</artifactId>
      <version>${project.version}</version>
      <type>xar</type>
    </dependency>
    <dependency>
      <groupId>org.xwiki.enterprise</groupId>
      <artifactId>xwiki-enterprise-ui-wiki</artifactId>
      <version>${project.version}</version>
      <type>xar</type>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <!-- Generate XWiki's configuration files -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>xwiki-platform-tool-configuration-resources</id>
          </execution>
        </executions>
      </plugin>
      <!-- Unpack the Skins (they're packaged as zips) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack-dependencies</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <!-- Unpack the Colibri skin -->
                <artifactItem>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-colibri</artifactId>
                  <type>zip</type>
                  <outputDirectory>${project.build.directory}/skin</outputDirectory>
                </artifactItem>
                <!-- Unpack the Flamingo skin -->
                <artifactItem>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-flamingo-skin</artifactId>
                  <type>zip</type>
                  <outputDirectory>${project.build.directory}/skin</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webResources>
            <!-- Include License resources -->
            <resource>
              <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
              <targetPath>META-INF</targetPath>
            </resource>
            <!-- Include Configuration files that were generated -->
            <resource>
              <directory>${project.build.directory}/maven-shared-archive-resources</directory>
              <targetPath>WEB-INF</targetPath>
              <includes>
                <include>hibernate.cfg.xml</include>
                <include>xwiki.cfg</include>
                <include>xwiki.properties</include>
              </includes>
            </resource>
            <!-- Add the skins -->
            <resource>
              <directory>${project.build.directory}/skin</directory>
              <targetPath>skins</targetPath>
              <filtering>false</filtering>
            </resource>
          </webResources>
          <!-- - Exclude JCL and LOG4J since we want all logging to go through SLF4J. Note that we're excluding
                 log4j-<version>.jar but keeping log4j-over-slf4j-<version>.jar
               - Exclude legacy modules if the legacy profile is not enabled so that we don't have both aspectified JAR
                 and non aspectified ones
               - Exclude JavaBeans Activation Framework (activation-*.jar) since it's included in Java SE 6.
               - Exclude JAXB since it's included in Java SE 6
               - Exclude STAX API since it's included in Java SE 6
               - Exclude all XAR files from being placed in WEB-INF/lib. This is done by the WAR plugin which supports
                 XAR files (not our format, some other format! See https://jira.codehaus.org/browse/MWAR-281). The
                 reason we have XAR files in our dependencies is because we've added them in order to automatically
                 bundle all JAR files which are dependencies of XAR modules!
          -->
          <packagingExcludes>
            ${xwiki.war.legacy.excludes}
            WEB-INF/lib/commons-logging-*.jar,
            %regex[WEB-INF/lib/log4j-(?!over-slf4j).*.jar],
            WEB-INF/lib/activation-*.jar,
            WEB-INF/lib/jaxb-impl-*.jar,
            WEB-INF/lib/jaxb-api-*.jar,
            WEB-INF/lib/stax-api-*.jar,
            WEB-INF/extensions/*.xar
          </packagingExcludes>
        </configuration>
      </plugin>
      <!-- Ensure that some modules are not added as dependencies. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-banned-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.jmock:*</exclude>
                    <exclude>junit:*</exclude>
                    <exclude>javax.servlet:servlet-api:*:*:compile</exclude>
                  </excludes>
                  <includes>
                    <!-- Allow only JUnit and JMock with scope test because -->
                    <include>org.jmock:*:*:*:test</include>
                    <include>junit:*:*:*:test</include>
                  </includes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
          <!-- Override check from top level POM that prevents depending on a legacy module since we want to package
               Legacy modules in the generated XE product -->
          <execution>
            <id>enforce-no-legacy-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <xwikiBannedDependencies implementation="org.xwiki.tool.enforcer.XWikiBannedDependencies">
                  <searchTransitive>true</searchTransitive>
                  <excludes>
                    <!-- Override the value from the top level POM with a value that'll not ban any dependency -->
                    <exclude>alwaysok</exclude>
                  </excludes>
                </xwikiBannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- Ensure we don't have duplicates in WEB-INF/lib -->
      <plugin>
        <groupId>com.ning.maven.plugins</groupId>
        <artifactId>maven-duplicate-finder-plugin</artifactId>
        <version>1.0.3</version>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
              <exceptions>
                <!-- Xalan bundles a lot of other projects: org/apache/xml/**, org/apache/bcel/**, JLex/**,
                     java_cup/**, org/apache/regexp/**. In addition, it even has these jars in its source tree without
                     any indication about their versions... Thus there's isn't much we can do ATM but it means there's
                     an uncertainty about which version of those classes are used at runtime.
                     TODO: Find an alternative to Xalan or find a good maven packaging of it -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>xalan</groupId>
                      <artifactId>xalan</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>jakarta-regexp</groupId>
                      <artifactId>jakarta-regexp</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>org.apache.regexp</package>
                  </packages>
                </exception>
                <!-- css4j:0.13 depends on jclf:2.3.0 so the duplicate classes must be the same ones. -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>info.informatica</groupId>
                      <artifactId>css4j</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>info.informatica</groupId>
                      <artifactId>jclf</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>info.informatica.doc.DocumentException</class>
                    <class>info.informatica.doc.RenderingException</class>
                  </classes>
                </exception>
                <!-- These 4 deps seems mostly compatible according to
                     http://ispras.linuxbase.org/index.php/Java_API_Compliance_Checker. There's just a change
                     between Stax 1.0.1 and 1.0.2 where FactoryConfigurationError seems to have had Serializable
                     superinterface removed. -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>javax.xml.stream</groupId>
                      <artifactId>stax-api</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.apache.geronimo.specs</groupId>
                      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.python</groupId>
                      <artifactId>jython-standalone</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>javax.xml.stream</package>
                  </packages>
                </exception>
                <!-- Jython emmbedd tons of third party XML dependencies. See http://bugs.jython.org/issue2121. -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.python</groupId>
                      <artifactId>jython-standalone</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>javax.xml</package>
                    <package>org.w3c.dom</package>
                    <package>org.xml.sax</package>
                  </packages>
                  <classes>
                    <class>org.apache.xmlcommons.Version</class>
                  </classes>
                </exception>
                <!-- This is a PITA. The classes are actually incompatible! We should do something about it but I
                     don't see a solution ATM... In addition these classes are also present in the JDK, see
                     http://docs.oracle.com/javase/6/docs/api/org/w3c/dom/package-summary.html which may yet be
                     another version and I don't have any clue which version is actually used at runtime...
                     Note that the XMLBeans issue is fixed in https://issues.apache.org/jira/browse/XMLBEANS-484 but
                     it's drawn by org.apache.poi:poi-ooxml itself drawn by tika parsers and they need to release -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.apache.xmlbeans</groupId>
                      <artifactId>xmlbeans</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.python</groupId>
                      <artifactId>jython-standalone</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>org.w3c.dom.DOMConfiguration</class>
                    <class>org.w3c.dom.DOMStringList</class>
                    <class>org.w3c.dom.TypeInfo</class>
                    <class>org.w3c.dom.UserDataHandler</class>
                  </classes>
                </exception>
                <!-- None of these should bundle org.w3c classes but at least they seem compatible.
                     See https://issues.apache.org/bugzilla/show_bug.cgi?id=49897,
                     https://issues.apache.org/bugzilla/show_bug.cgi?id=49206 and http://bugs.jython.org/issue2121 -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.apache.xmlgraphics</groupId>
                      <artifactId>batik-ext</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.python</groupId>
                      <artifactId>jython-standalone</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>org.w3c.dom.ElementTraversal</class>
                    <class>org.w3c.dom.events.DocumentEvent</class>
                    <class>org.w3c.dom.events.Event</class>
                    <class>org.w3c.dom.events.EventException</class>
                    <class>org.w3c.dom.events.EventListener</class>
                    <class>org.w3c.dom.events.EventTarget</class>
                    <class>org.w3c.dom.events.MouseEvent</class>
                    <class>org.w3c.dom.events.MutationEvent</class>
                    <class>org.w3c.dom.events.UIEvent</class>
                  </classes>
                </exception>
                <!-- Jython should not bundle org.w3c classes but at least they seem compatible.
                     See http://bugs.jython.org/issue2121.
                 -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.python</groupId>
                      <artifactId>jython-standalone</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xerces</groupId>
                      <artifactId>xercesImpl</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>org.w3c.dom.html.HTMLDOMImplementation</class>
                  </classes>
                </exception>
                <!-- This is a PITA. The classes are actually incompatible! We should do something about it but I
                     don't see a solution ATM... -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.w3c.css</groupId>
                      <artifactId>sac</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xml-apis</groupId>
                      <artifactId>xml-apis-ext</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>org.w3c.css.sac</package>
                  </packages>
                </exception>
                <!-- The classes below are incompatible. The legacy query plugin should be retired but Ludovic Dubost
                     doesn't agree with it, see http://jira.xwiki.org/browse/XWIKI-8660. I don't see how the query
                     plugin could work with such JCR incompatibilities though... While this is being discussed all
                     we can do is silently ignore the incompatibility and hope that WebDAV support is still working
                     (since jackrabbit-jrc-commons is used by our WebDAV module). -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.apache.jackrabbit</groupId>
                      <artifactId>jackrabbit-core</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.apache.jackrabbit</groupId>
                      <artifactId>jackrabbit-jcr-commons</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>org.apache.jackrabbit</package>
                  </packages>
                </exception>
                <!-- Logging shouldn't be configured by libraries! In any case since we route everything through
                     SLF4J, logging is configured by the SLF4J implementation used (e.g. Logback). -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.apache.axis</groupId>
                      <artifactId>axis</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>radeox</groupId>
                      <artifactId>radeox</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <resources>
                    <resource>simplelog.properties</resource>
                  </resources>
                </exception>
                <!-- The files are different but removing them would mean repackaging the JARs which is PITA.
                     Since the versions are the same for bc (1.52) there's a good chance the files are compatible. -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.bouncycastle</groupId>
                      <artifactId>bcmail-jdk15on</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.bouncycastle</groupId>
                      <artifactId>bcpkix-jdk15on</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.bouncycastle</groupId>
                      <artifactId>bcprov-jdk15on</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <resources>
                    <resource>META-INF/BCKEY.DSA</resource>
                    <resource>META-INF/BCKEY.SF</resource>
                  </resources>
                </exception>
                <!-- XStream includes both xapp and xmlpull and XAPP bundle somes classes of xmlpull.
                     See http://jira.codehaus.org/browse/XSTR-689 for more.
                 -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>xmlpull</groupId>
                      <artifactId>xmlpull</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>xpp3</groupId>
                      <artifactId>xpp3_min</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <packages>
                    <package>org.xmlpull.v1</package>
                  </packages>
                </exception>
                <!-- See https://github.com/sirthias/parboiled/issues/67 -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>org.parboiled</groupId>
                      <artifactId>parboiled-core</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>org.parboiled</groupId>
                      <artifactId>parboiled-java</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>org.parboiled.Action</class>
                    <class>org.parboiled.Context</class>
                    <class>org.parboiled.ContextAware</class>
                    <class>org.parboiled.MatchHandler</class>
                    <class>org.parboiled.MatcherContext</class>
                    <class>org.parboiled.Node</class>
                    <class>org.parboiled.NodeImpl</class>
                    <class>org.parboiled.ParserStatistics</class>
                    <class>org.parboiled.Rule</class>
                    <class>org.parboiled.SkippableAction</class>
                  </classes>
                </exception>
                <!-- See https://sourceforge.net/p/findbugs/bugs/1284/ -->
                <exception>
                  <conflictingDependencies>
                    <dependency>
                      <groupId>com.google.code.findbugs</groupId>
                      <artifactId>annotations</artifactId>
                    </dependency>
                    <dependency>
                      <groupId>net.jcip</groupId>
                      <artifactId>jcip-annotations</artifactId>
                    </dependency>
                  </conflictingDependencies>
                  <classes>
                    <class>net.jcip.annotations.GuardedBy</class>
                    <class>net.jcip.annotations.Immutable</class>
                    <class>net.jcip.annotations.NotThreadSafe</class>
                    <class>net.jcip.annotations.ThreadSafe</class>
                  </classes>
                </exception>
              </exceptions>
              <ignoredResources>
                <!-- Exclude XWiki's Component registration file -->
                <ignoredResource>META-INF/components.txt</ignoredResource>
                <!-- Several libs have a README file -->
                <ignoredResource>META-INF/README.txt</ignoredResource>
                <!-- Several libs have a RELEASENOTES file -->
                <ignoredResource>RELEASE_NOTES.TXT</ignoredResource>
                <!-- JAXB2 plugin resources. TODO: Exclude them from the XWiki JARs -->
                <ignoredResource>META-INF/sun-jaxb.episode</ignoredResource>
                <ignoredResource>simple.xjb</ignoredResource>
                <!-- JDOM resources -->
                <ignoredResource>META-INF/jdom-info.xml</ignoredResource>
                <!-- Sisu components -->
                <ignoredResource>META-INF/sisu/javax.inject.Named</ignoredResource>
                <!-- Eclipse projects generally contains about.html file -->
                <ignoredResource>about.html</ignoredResource>
                <!-- ApplicationResources.properties is duplicated but that's ok since it's how we want it work, see:
                     http://extensions.xwiki.org/xwiki/bin/view/Extension/Localization+Module#HProvidetranslationbundleinajar
                 -->
                <ignoredResource>ApplicationResources(_.*)?\.properties</ignoredResource>
                <!-- Apache karaf stuff -->
                <ignoredResource>features.xml</ignoredResource>
              </ignoredResources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <!-- Add Legacy modules -->
    <profile>
      <id>legacy</id>
      <properties>
        <xwiki.war.legacy.excludes>
          <!-- Exclude from war non legacy modules that have legacy modules wrapping them -->
          <!-- This list should match the list of excluded dependencies of the duplicate finder below -->
          WEB-INF/lib/xwiki-commons-component-api-*.jar,
          WEB-INF/lib/xwiki-commons-component-default-*.jar,
          WEB-INF/lib/xwiki-rendering-api-*.jar,
          WEB-INF/lib/xwiki-platform-oldcore-*.jar,
          WEB-INF/lib/xwiki-platform-office-importer-*.jar,
          WEB-INF/lib/xwiki-platform-rendering-macro-include-*.jar,
          <!-- Leave the ending comma because this list is concatenated with another one. -->
        </xwiki.war.legacy.excludes>
        <!-- Include the legacy WatchList plugin in xwiki.cfg -->
        <xwiki.cfg.plugins>${xe.xwiki.cfg.plugins},\
  com.xpn.xwiki.plugin.watchlist.WatchListPlugin
        </xwiki.cfg.plugins>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.xwiki.commons</groupId>
          <artifactId>xwiki-commons-legacy-component-default</artifactId>
          <version>${commons.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.commons</groupId>
          <artifactId>xwiki-commons-legacy-configuration</artifactId>
          <version>${commons.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.commons</groupId>
          <artifactId>xwiki-commons-legacy-properties</artifactId>
          <version>${commons.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.rendering</groupId>
          <artifactId>xwiki-rendering-legacy-api</artifactId>
          <version>${rendering.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-oldcore</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-observation</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-annotation</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-model</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-office-importer</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-url</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-web</artifactId>
          <version>${platform.version}</version>
          <type>war</type>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-rendering-macro-include</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-ldap-authenticator</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-legacy-watchlist-api</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-oldrendering</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>org.xwiki.platform</groupId>
          <artifactId>xwiki-platform-chart-macro10</artifactId>
          <version>${platform.version}</version>
          <scope>runtime</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <!-- Ensure we don't have duplicates in WEB-INF/lib -->
          <plugin>
            <groupId>com.ning.maven.plugins</groupId>
            <artifactId>maven-duplicate-finder-plugin</artifactId>
            <configuration>
              <!-- Ignore non legacy modules that have legacy modules wrapping them -->
              <!-- This list should match in property xwiki.war.legacy.excludes above -->
              <ignoredDependencies combine.children="append">
                <dependency>
                  <groupId>org.xwiki.commons</groupId>
                  <artifactId>xwiki-commons-component-api</artifactId>
                  <version>${commons.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.commons</groupId>
                  <artifactId>xwiki-commons-component-default</artifactId>
                  <version>${commons.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.commons</groupId>
                  <artifactId>xwiki-commons-observation-api</artifactId>
                  <version>${commons.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.rendering</groupId>
                  <artifactId>xwiki-rendering-api</artifactId>
                  <version>${rendering.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-crypto-script</artifactId>
                  <version>${platform.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-oldcore</artifactId>
                  <version>${platform.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-office-importer</artifactId>
                  <version>${platform.version}</version>
                </dependency>
                <dependency>
                  <groupId>org.xwiki.platform</groupId>
                  <artifactId>xwiki-platform-rendering-macro-include</artifactId>
                  <version>${platform.version}</version>
                </dependency>
              </ignoredDependencies>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>clover</id>
      <!-- Add the Clover JAR to the WAR so that it's available at runtime. It's needed because instrumented jars in
           the WAR will call Clover APIs at runtime when they execute. -->
      <dependencies>
        <dependency>
          <groupId>com.cenqua.clover</groupId>
          <artifactId>clover</artifactId>
        </dependency>
      </dependencies>
      <!-- Skip Duplicate class finder since it's causing duplicate problems with Clovered jars containing dups and we
           don't need it -->
      <build>
        <plugins>
          <plugin>
            <groupId>com.ning.maven.plugins</groupId>
            <artifactId>maven-duplicate-finder-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>snapshotModules</id>
      <dependencies>
        <dependency>
          <groupId>org.xwiki.commons</groupId>
          <artifactId>xwiki-commons-extension-repository-maven-snapshots</artifactId>
          <version>${commons.version}</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
