<?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">
  <parent>
    <groupId>com.celements</groupId>
    <artifactId>base-pom</artifactId>
    <version>7.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>celements-xwiki-core</artifactId>
  <version>7.0</version>
  <description>Celements XWiki</description>
  <dependencies>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-commons</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-component</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-reference</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-config-source-api</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-config-source</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-observation</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-xwiki-velocity</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-xwiki-rendering-api</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-xwiki-xml</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-servlet</artifactId>
      <version>7.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>struts</groupId>
      <artifactId>struts</artifactId>
    </dependency>

    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Commons -->
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-configuration</groupId>
      <artifactId>commons-configuration</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-net</groupId>
      <artifactId>commons-net</artifactId>
    </dependency>

    <dependency>
      <groupId>jakarta.ws.rs</groupId>
      <artifactId>jakarta.ws.rs-api</artifactId>
      <scope>provided</scope>
    </dependency>

    <!--
      Make sure we provide a default implementation of slf4j for any test indirectly use it
    -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>

    <!-- Other XWiki modules -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-script</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-bridge</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-cache-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-cache-jbosscache</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-query-manager</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-query-xwql</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-csrf</artifactId>
    </dependency>
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-captcha</artifactId>
    </dependency>

    <!-- The JRCS JARS are are in our repo till we get them published on the central repository.
         JRCS home page: http://www.suigeneris.org/kb/display/jrcs/JRCS+Home -->
    <dependency>
      <groupId>org.suigeneris</groupId>
      <artifactId>jrcs.diff</artifactId>
    </dependency>
    <dependency>
      <groupId>org.suigeneris</groupId>
      <artifactId>jrcs.rcs</artifactId>
    </dependency>

    <dependency>
      <groupId>com.novell.ldap</groupId>
      <artifactId>jldap</artifactId>
    </dependency>

    <!-- For extracting metadata from various document types -->
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-core</artifactId>
    </dependency>

    <!-- Rendering -->
    <dependency>
      <groupId>radeox</groupId>
      <artifactId>radeox</artifactId>
    </dependency>

    <!-- Storage -->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate</artifactId>
    </dependency>

    <!-- Authentication -->
    <dependency>
      <groupId>securityfilter</groupId>
      <artifactId>securityfilter</artifactId>
    </dependency>

    <!-- XML processing -->
    <dependency>
      <groupId>org.dom4j</groupId>
      <artifactId>dom4j</artifactId>
    </dependency>
    <dependency>
      <groupId>info.informatica</groupId>
      <artifactId>css4j</artifactId>
      <version>0.10</version>
      <exclusions>
        <exclusion>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis-ext</artifactId>
        </exclusion>
      </exclusions>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jdom</groupId>
      <artifactId>jdom</artifactId>
    </dependency>
    <dependency>
      <groupId>xpp3</groupId>
      <artifactId>xpp3</artifactId>
    </dependency>
    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xercesImpl</artifactId>
    </dependency>
    <!-- JTidy hasn't been released for ages (since 2001). A snapshot version exists at
    http://jtidy.sourceforge.net/snapshots/ but Maven requires non-snapshots in order to allow a
    release (this is for reproducibility). Thus we've had to upload JTidy into our custom repository -->
    <dependency>
      <groupId>jtidy</groupId>
      <artifactId>jtidy</artifactId>
      <version>8.0-20060801.131059-3-dev</version>
      <scope>provided</scope>
    </dependency>

    <!-- TODO: We should drop ECS -->
    <dependency>
      <groupId>ecs</groupId>
      <artifactId>ecs</artifactId>
    </dependency>

    <!-- JSON -->
    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <classifier>jdk15</classifier>
    </dependency>

    <!-- Misc -->
    <!-- CSS and JS compression tool, used in SkinExtensions -->
    <dependency>
      <groupId>com.yahoo.platform.yui</groupId>
      <artifactId>yuicompressor</artifactId>
    </dependency>
    <!-- Better date manipulation than what JDK provides -->
    <dependency>
      <groupId>joda-time</groupId>
      <artifactId>joda-time</artifactId>
    </dependency>
    <!-- iCal processing -->
    <dependency>
      <groupId>ical4j</groupId>
      <artifactId>ical4j</artifactId>
    </dependency>
    <!-- Mail sender -->
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
    </dependency>
    <!-- Used by another tool, it should be removed some time -->
    <dependency>
      <groupId>picocontainer</groupId>
      <artifactId>picocontainer</artifactId>
    </dependency>
    <!-- Regular expressions -->
    <dependency>
      <groupId>oro</groupId>
      <artifactId>oro</artifactId>
    </dependency>
    <!-- Used by XWiki 1.0 Groovy macro -->
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
    </dependency>

    <!-- testing -->
    <dependency>
      <groupId>com.celements</groupId>
      <artifactId>celements-base-tests</artifactId>
      <version>7.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easymock</groupId>
      <artifactId>easymock</artifactId>
      <scope>test</scope>
    </dependency>

    <!-- xwiki legacy testing -->
    <dependency>
      <groupId>org.xwiki.platform</groupId>
      <artifactId>xwiki-core-shared-tests</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmock</groupId>
      <artifactId>jmock-legacy</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>jmock</groupId>
      <artifactId>jmock-cglib</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jmock</groupId>
      <artifactId>jmock-junit4</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
    </dependency>

  </dependencies>
  <scm>
    <connection>scm:git:git@github.com:celements/celements-base.git</connection>
    <developerConnection>scm:git:git@github.com:celements/celements-base.git</developerConnection>
    <url>https://github.com/celements/celements-base/celements-xwiki-core</url>
    <tag>celements-xwiki-core-7.0</tag>
  </scm>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <configuration>
            <argLine>
              --add-opens java.base/java.lang=ALL-UNNAMED
              --add-opens java.base/java.util=ALL-UNNAMED
              --add-opens java.base/java.io=ALL-UNNAMED
            </argLine>
            <includes>
              <!-- XWiki rule is to put test in *Test classes -->
              <include>**/*Test.class</include>
            </includes>
            <excludes>
              <!-- exclude these old jmock tests, they don't run on new jvm's -->
              <exclude>**/com/xpn/xwiki/plugin/zipexplorer/ZipExplorerTest.java</exclude>
              <exclude>**/com/xpn/xwiki/render/XWikiRadeoxRendererTest</exclude>
              <exclude>**/com/xpn/xwiki/render/XWikiVelocityRendererTest.java</exclude>
              <exclude>**/com/xpn/xwiki/web/XWikiMessageToolTest.java</exclude>
            </excludes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
