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

<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.jboss.integration-platform</groupId>
    <artifactId>jboss-integration-platform-parent</artifactId>
    <version>7.0.0.CR4</version>
    <relativePath/>
  </parent>

  <groupId>org.jboss.errai.bom</groupId>
  <artifactId>errai-bom</artifactId>
  <version>4.0.0.Beta3</version>
  <packaging>pom</packaging>
  <name>JBoss Errai BOM</name>

  <url>http://erraiframework.org</url>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  
  <description>
    Dependency Management for all Errai third-party dependencies.
  </description>
  
  <!-- !!! The only single place for Errai project to define versions is here !!! -->
  <!-- Keep versions property names in alphabetical order, please -->
  <!-- Try to use version properties already definied in jboss-integration-platform-parent 
  instead of defining a new ones -->
  <properties>    
    <apache.stanbol.htmlextractor.version>0.10.0</apache.stanbol.htmlextractor.version>
    <asm.version>5.0.3</asm.version>
    <gmaven.mojo.version>1.5</gmaven.mojo.version>
    <guava.version>19.0.0.jbossorg-2</guava.version>
    <guice.version>3.0</guice.version>
    <gwt.phonegap.version>3.5.0.1</gwt.phonegap.version>    
    <gwt.version>2.8.0-rc2</gwt.version>
    <!-- TODO test with 2.x version in ip-bom -->
    <hsqldb.version>1.8.0.7</hsqldb.version>
    <javaee.api.version>7.0</javaee.api.version>
    <jboss-integration-platform-bom.version>7.0.0.CR4</jboss-integration-platform-bom.version>
    <!-- ip-bom uses artifact with groupId org.jboss.remoting3 -->
    <jboss.remoting.version>4.0.0.Final</jboss.remoting.version>
    <jboss.vfs.version>3.0.1.GA</jboss.vfs.version>
    <jboss.web.version>7.0.16.Final</jboss.web.version>
    <jsr305.version>1.3.9</jsr305.version>
    <mojo.executor.version>2.2.0</mojo.executor.version>
    <netty.codec.http.version>4.0.12.Final</netty.codec.http.version>
    <!-- TODO remove when ip-bom version is greater than this -->
    <picketlink.version>2.6.0.Final</picketlink.version>
    <!-- TODO remove this when ip-bom version is greater (currently ip-bom is on 1.x) -->
    <quartz.version>2.1.6</quartz.version>
    <xml.apis.version>1.4.01</xml.apis.version>
    <!-- Hibernate Validator 4.3.x coming from IP BOM is not compatible with GWT 2.8-beta1 -->
    <version.org.hibernate.validator>4.1.0.Final</version.org.hibernate.validator>
    <version.org.wildfly.core>2.1.0.Final</version.org.wildfly.core>
    <version.javax.validation>1.0.0.GA</version.javax.validation>
    <version.org.glassfish.javax.el>3.0.0</version.org.glassfish.javax.el>
    <version.com.google.code.gson>2.6.2</version.com.google.code.gson>
  </properties>

  <scm>
    <connection>scm:git:git@github.com:errai/errai.git</connection>
    <developerConnection>scm:git:git@github.com:errai/errai.git</developerConnection>
    <url>scm:git:git@github.com:errai/errai.git</url>
  </scm>

  <organization>
    <name>JBoss, a division of Red Hat</name>
    <url>http://www.jboss.org</url>
  </organization>

  <dependencyManagement>

    <dependencies>
      <dependency>
        <groupId>org.jboss.integration-platform</groupId>
        <artifactId>jboss-integration-platform-bom</artifactId>
        <version>${jboss-integration-platform-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- All Errai Modules -->
      <dependency>
        <groupId>org.jboss.errai.bom</groupId>
        <artifactId>errai-internal-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      
      <!-- Third Party Dependencies -->
      <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.el</artifactId>
        <version>${version.org.glassfish.javax.el}</version>
      </dependency>
      <!-- Must come before gwt-dev -->
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-continuation</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-http</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-io</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-proxy</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-security</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-server</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency><!-- This must be placed above com.google.gwt:gwt-dev to override the Jetty that is present there -->
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlet</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-servlets</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${version.org.eclipse.jetty}</version>
      </dependency>
      
      <dependency>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-mojo</artifactId>
        <version>${gmaven.mojo.version}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-mojo-support</artifactId>
        <version>${gmaven.mojo.version}</version>
      </dependency>

      <dependency>
        <groupId>org.twdata.maven</groupId>
        <artifactId>mojo-executor</artifactId>
        <version>${mojo.executor.version}</version>
      </dependency>

      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${quartz.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.stanbol</groupId>
        <artifactId>org.apache.stanbol.enhancer.engines.htmlextractor</artifactId>
        <version>${apache.stanbol.htmlextractor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${version.org.apache.httpcomponents.httpclient}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

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

      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-codec-http</artifactId>
        <version>${netty.codec.http.version}</version>
      </dependency>

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

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

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

      <dependency>
        <groupId>org.jboss.web</groupId>
        <artifactId>jbossweb</artifactId>         
        <version>${jboss.web.version}</version>
      </dependency>      

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

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>${version.org.hibernate.validator}</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>${version.org.hibernate.validator}</version>
        <classifier>sources</classifier>
      </dependency>
      
      <dependency>
        <groupId>org.jboss.weld.servlet</groupId>
        <artifactId>weld-servlet</artifactId>
        <version>${version.org.jboss.weld.weld}</version>
      </dependency>

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

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

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

      <dependency>
        <groupId>com.googlecode.gwtphonegap</groupId>
        <artifactId>gwtphonegap</artifactId>
        <version>${gwt.phonegap.version}</version>
      </dependency>

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

      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>${version.javax.validation}</version>
        <classifier>sources</classifier>
      </dependency>

      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${guice.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

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

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

      <!-- XXX Remove this when gson version is updated in ip-bom -->
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${version.com.google.code.gson}</version>
      </dependency>

      <!-- Guava and Reflections both depend on JSR 305 from the findbugs project, but they specify different versions. This pins to the newer of the two. -->
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${jsr305.version}</version>
      </dependency>

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

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

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

    </dependencies>
  </dependencyManagement>
</project>
