<?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.5.2.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 -->
    <!-- ################################################################################ -->
    <version.ch.qos.logback>1.0.9</version.ch.qos.logback>
    <version.org.slf4j>1.7.2</version.org.slf4j>

    <version.org.mortbay.jetty>6.1.25</version.org.mortbay.jetty>
    <version.org.eclipse.jetty>7.2.1.v20101111</version.org.eclipse.jetty>

    <version.javax.inject>1</version.javax.inject>
    <version.javax.enterprise.cdi>1.0-SP4</version.javax.enterprise.cdi>
    <version.org.jboss.weld.weld>1.1.13.Final</version.org.jboss.weld.weld>

    <version.xml-apis>1.3.04</version.xml-apis>

    <version.org.jboss.errai>3.0.4.Final</version.org.jboss.errai>

    <version.org.picketlink>2.6.0.CR2</version.org.picketlink>
    <version.org.jboss.logging>3.1.1.GA</version.org.jboss.logging>

    <version.commons-io>2.1</version.commons-io>
    <version.commons-fileupload>1.2.2</version.commons-fileupload>
    <version.commons-codec>1.6</version.commons-codec>

    <version.com.thoughtworks.xstream>1.4.3</version.com.thoughtworks.xstream>
    <version.org.freemarker>2.3.19</version.org.freemarker>

    <version.org.mvel>2.1.8.Final</version.org.mvel>

    <version.com.google.gwt>2.5.1</version.com.google.gwt>
    <version.com.github.gwtbootstrap>2.2.1.0</version.com.github.gwtbootstrap>
    <version.com.allen-sauer.gwt.dnd>3.1.2</version.com.allen-sauer.gwt.dnd>
    <version.com.google.guava>14.0.1</version.com.google.guava>

    <version.org.jasypt>1.9.0</version.org.jasypt>
    <version.org.javassist>3.15.0-GA</version.org.javassist>

    <version.junit>4.11</version.junit>
    <version.org.mockito>1.9.0</version.org.mockito>
    <version.org.easytesting.fest>2.0M6</version.org.easytesting.fest>
    <version.org.hamcrest>1.3</version.org.hamcrest>

    <version.org.apache.lucene>4.0.0</version.org.apache.lucene>
    <version.org.apache.helix>0.6.2-incubating</version.org.apache.helix>
    <version.org.eclipse.jgit>3.3.2.201404171909-r</version.org.eclipse.jgit>
    <version.com.jcraft>0.1.50</version.com.jcraft>

    <version.org.apache.sshd>0.12.0</version.org.apache.sshd>
    <version.org.ocpsoft.prettytime>3.0.2.Final</version.org.ocpsoft.prettytime>


    <version.javax.servlet.servlet-api>3.0.1</version.javax.servlet.servlet-api>
    <version.javax.servlet.jsp-api>2.0</version.javax.servlet.jsp-api>
    <version.org.jboss.spec.javax.ejb.3.1>1.0.2.Final</version.org.jboss.spec.javax.ejb.3.1>

    <osgi.snapshot.qualifier>${maven.build.timestamp}</osgi.snapshot.qualifier>
    <version.com.google.gwt.gwtmockito>1.1.4</version.com.google.gwt.gwtmockito>
  </properties>

  <!-- IMPORTANT: Do not declare any build configuration here! Declare it in kie-parent-metadata. -->
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>gwt-maven-plugin</artifactId>
          <version>${version.com.google.gwt}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.uberfire</groupId>
        <artifactId>uberfire-bom</artifactId>
        <type>pom</type>
        <!-- Using ${uberfire.version} instead of ${project.version} enables easier way to create hot fixes
             (one-off patches). This pom is a parent for all uberfire modules, so when version is changed in
             one of them, the ${project.version} property changes too and therefore also required version of
             uberfire-bom. Usage of  this property makes it possible to change version of the (sub)module
             and still use the original version of uberfire-bom. -->
        <version>${uberfire.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.apache.sshd</groupId>
        <artifactId>sshd-core</artifactId>
        <version>${version.org.apache.sshd}</version>
      </dependency>

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

      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>${version.com.jcraft}</version>
      </dependency>

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

      <!-- Formatting -->
      <dependency>
        <groupId>org.ocpsoft.prettytime</groupId>
        <artifactId>prettytime</artifactId>
        <version>${version.org.ocpsoft.prettytime}</version>
      </dependency>

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

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

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

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

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

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

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

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

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

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

      <!-- Errai Core -->
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-marshalling</artifactId>
        <version>${version.org.jboss.errai}</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>${version.org.jboss.errai}</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>${version.org.jboss.errai}</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>${version.org.jboss.errai}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-ui</artifactId>
        <version>${version.org.jboss.errai}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-data-binding</artifactId>
        <version>${version.org.jboss.errai}</version>
      </dependency>
      <dependency>
        <groupId>org.mvel</groupId>
        <artifactId>mvel2</artifactId>
        <version>${version.org.mvel}</version>
      </dependency>

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

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-cdi-client</artifactId>
        <version>${version.org.jboss.errai}</version>
        <type>test-jar</type>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-javax-enterprise</artifactId>
        <version>${version.org.jboss.errai}</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>${version.org.jboss.errai}</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-security-server</artifactId>
        <version>${version.org.jboss.errai}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-security-client</artifactId>
        <version>${version.org.jboss.errai}</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.errai</groupId>
        <artifactId>errai-security-picketlink</artifactId>
        <version>${version.org.jboss.errai}</version>
      </dependency>

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

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

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

      <dependency>
        <groupId>org.jboss.weld.servlet</groupId>
        <artifactId>weld-servlet-core</artifactId>
        <version>${version.org.jboss.weld.weld}</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>${version.org.mortbay.jetty}</version>
      </dependency>

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

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

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

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

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

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

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.40.0</version>
      </dependency>

      <!-- Required by selenium -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-exec</artifactId>
        <version>1.1</version>
      </dependency>

      <dependency>
        <groupId>org.jboss.spec.javax.ejb</groupId>
        <artifactId>jboss-ejb-api_3.1_spec</artifactId>
        <version>${version.org.jboss.spec.javax.ejb.3.1}</version>
      </dependency>

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

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

      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-dev</artifactId>
        <version>${version.com.google.gwt}</version>
      </dependency>

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

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${version.com.google.guava}</version>
      </dependency>

      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava-gwt</artifactId>
        <version>${version.com.google.guava}</version>
      </dependency>

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

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

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

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

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

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

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

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

      <dependency>
        <groupId>org.picketlink</groupId>
        <artifactId>picketlink-impl</artifactId>
        <version>${version.org.picketlink}</version>
      </dependency>

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

      <dependency>
        <groupId>javax.security.jacc</groupId>
        <artifactId>javax.security.jacc-api</artifactId>
        <version>${version.javax.security.jacc}</version>
      </dependency>
      <dependency>
        <groupId>com.google.gwt.gwtmockito</groupId>
        <artifactId>gwtmockito</artifactId>
        <version>${version.com.google.gwt.gwtmockito}</version>
        <scope>test</scope>
      </dependency>


      <!-- arquillian tests -->
      <dependency>
        <groupId>org.jboss.arquillian</groupId>
        <artifactId>arquillian-bom</artifactId>
        <version>1.0.3.Final</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>

      <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <version>1.0.3.Final</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-weld-se-embedded-1.1</artifactId>
        <version>1.0.0.CR3</version>
        <scope>test</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>
