<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2012 JBoss Inc
  ~
  ~ Licensed 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">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.uberfire</groupId>
    <artifactId>uberfire-parent-metadata</artifactId>
    <version>0.3.0.Final</version>
  </parent>

  <artifactId>uberfire-parent-with-dependencies</artifactId>
  <packaging>pom</packaging>

  <name>UberFire parent with dependencies</name>
  <description>
    The parent with dependencies declares all dependency versions in dependencyManagement.
    All modules extend this parent, except for the boms (which are used here).
  </description>

  <properties>
    <!-- ################################################################################ -->
    <!-- External dependency versions -->
    <!-- ################################################################################ -->
    <slf4j.version>1.7.2</slf4j.version>
    <logback.version>1.0.9</logback.version>

    <jetty.version>6.1.25</jetty.version>
    <jetty-servlet.version>7.2.1.v20101111</jetty-servlet.version>

    <javax.inject.version>1</javax.inject.version>
    <cdi-api.version>1.0-SP4</cdi-api.version>
    <weld-spi.version>1.1.Final</weld-spi.version>
    <weld.version>1.1.13.Final</weld.version>

    <servlet-api.version>3.0.1</servlet-api.version>
    <jsp-api.version>2.0</jsp-api.version>
    <jboss-ejb3-api.version>3.1.0</jboss-ejb3-api.version>
    <xml-apis.version>1.3.04</xml-apis.version>

    <errai.version>2.4.1.Final</errai.version>

    <commons-httpclient.version>3.1</commons-httpclient.version>
    <commons-io.version>2.1</commons-io.version>
    <commons-codec.version>1.4</commons-codec.version>

    <xstream.version>1.4.3</xstream.version>
    <snakeyaml.version>1.8</snakeyaml.version>
    <freemarker.version>2.3.19</freemarker.version>

    <mvel.version>2.1.Beta8</mvel.version>

    <gwt.version>2.5.0</gwt.version>
    <gwt.maven.version>2.5.0</gwt.maven.version>
    <bootstrap.version>2.2.1.0</bootstrap.version>
    <gwt-dnd.version>3.1.2</gwt-dnd.version>
    <gchart.version>2.6</gchart.version>

    <jasypt.version>1.9.0</jasypt.version>
    <jacc.version>1.4</jacc.version>
    <javassist.version>3.15.0-GA</javassist.version>

    <junit.version>4.11</junit.version>
    <mockito-all.version>1.9.0</mockito-all.version>
    <fest-assert-core.version>2.0M6</fest-assert-core.version>
    <hamcrest.version>1.3</hamcrest.version>

    <version.org.apache.lucene>4.0.0</version.org.apache.lucene>
    <version.org.apache.helix>0.6.1-incubating</version.org.apache.helix>
    <version.org.eclipse.jgit>3.1.0.201310021548-r</version.org.eclipse.jgit>
    <osgi.snapshot.qualifier>${maven.build.timestamp}</osgi.snapshot.qualifier>

  </properties>

  <!-- IMPORTANT: Do not declare any build configuration here! Declare it in uberfire-parent-metadata. -->
  <build/>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-bom</artifactId>
        <type>pom</type>
        <version>${project.version}</version>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-analyzers-common</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-codecs</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-queryparser</artifactId>
        <version>${version.org.apache.lucene}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jgit</groupId>
        <artifactId>org.eclipse.jgit</artifactId>
        <version>${version.org.eclipse.jgit}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.helix</groupId>
        <artifactId>helix-core</artifactId>
        <version>${version.org.apache.helix}</version>
      </dependency>

      <!-- Formatting -->
      <dependency>
        <groupId>org.ocpsoft.prettytime</groupId>
        <artifactId>prettytime</artifactId>
        <version>3.0.2.Final</version>
      </dependency>

      <!-- Annotations -->
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>${freemarker.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>${javax.inject.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-integration</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>

      <!-- JUnit 4.1 comes with hamcrest-core 1.1 but we need 1.3 -->
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>

      <!-- VFS: Service -->
      <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>${commons-httpclient.version}</version>
      </dependency>

      <!-- Runtime / Container dependencies -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-ext</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>

      <!-- Errai -->
      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>${cdi-api.version}</version>
      </dependency>

      <!-- Errai AS -->
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-jboss-as-support</artifactId>
        <version>${errai.version}</version>
      </dependency>

      <!-- Errai Core -->
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-marshalling</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-bus</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>jsr250-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-ioc</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>jsr250-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-common</artifactId>
        <version>${errai.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mvel</groupId>
        <artifactId>mvel2</artifactId>
        <version>${mvel.version}</version>
      </dependency>

      <!-- CDI Integration Modules -->
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-cdi-client</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-javax-enterprise</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-weld-integration</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-cdi-jetty</artifactId>
        <version>${errai.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Weld Modules -->
      <dependency>
        <groupId>org.jboss.weld</groupId>
        <artifactId>weld-spi</artifactId>
        <version>${weld-spi.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.weld</groupId>
        <artifactId>weld-core</artifactId>
        <version>${weld.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-core</artifactId>
        <version>${weld.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.weld.servlet</groupId>
        <artifactId>weld-servlet-core</artifactId>
        <version>${weld.version}</version>
      </dependency>

      <!-- CDI Development Utils -->
      <!-- This must be placed above com.google.gwt:gwt-dev to override the
         Jetty that is present there -->
      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-plus</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-naming</artifactId>
        <version>${jetty.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${jetty-servlet.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet-api.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jsp-api</artifactId>
        <version>${jsp-api.version}</version>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.ejb3</groupId>
        <artifactId>jboss-ejb3-api</artifactId>
        <version>${jboss-ejb3-api.version}</version>
      </dependency>

      <!-- Bootstrap -->
      <dependency>
        <groupId>com.github.gwtbootstrap</groupId>
        <artifactId>gwt-bootstrap</artifactId>
        <version>${bootstrap.version}</version>
      </dependency>

      <!-- GWT and GWT Extensions -->
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <version>${gwt.version}</version>
      </dependency>

      <dependency>
        <groupId>com.allen-sauer.gwt.dnd</groupId>
        <artifactId>gwt-dnd</artifactId>
        <version>${gwt-dnd.version}</version>
      </dependency>

      <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>${xml-apis.version}</version>
      </dependency>

      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>${javassist.version}</version>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>${mockito-all.version}</version>
      </dependency>

      <dependency>
        <groupId>org.easytesting</groupId>
        <artifactId>fest-assert-core</artifactId>
        <version>${fest-assert-core.version}</version>
      </dependency>

      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${xstream.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>

      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyaml.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jasypt</groupId>
        <artifactId>jasypt</artifactId>
        <version>${jasypt.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.security.jacc</groupId>
        <artifactId>javax.security.jacc-api</artifactId>
        <version>${jacc.version}</version>
        <scope>provided</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.easytesting</groupId>
      <artifactId>fest-assert-core</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- this is a workaround due a bug introduced by maven-compiler-plugin v3 related to log4j dependency -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.12</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

</project>
