<?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>8.0.0.CR3</version>
    <relativePath/>
  </parent>

  <groupId>org.jboss.errai.bom</groupId>
  <artifactId>errai-bom</artifactId>
  <version>4.2.3-SNAPSHOT</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>20.0</guava.version>
    <guice.version>3.0</guice.version>
    <gwt.phonegap.version>3.5.0.1</gwt.phonegap.version>
    <gwt.version>2.8.2</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>${project.parent.version}</jboss-integration-platform-bom.version>
    <!-- ip-bom uses artifact with groupId org.jboss.remoting3 -->
    <jboss.remoting.version>5.0.3.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.1.16.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>
    <!-- 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.javax.validation>1.0.0.GA</version.javax.validation>
    <version.org.glassfish.javax.el>3.0.0</version.org.glassfish.javax.el>
    <version.org.lesscss>1.7.0.1.1</version.org.lesscss>
    <!-- The version of xercesImpl in the ip-bom is not published on Maven Central.
         Removing this override breaks Errai apps that don't have the JBoss nexus repository configured. -->
    <version.xerces.xercesImpl>2.11.0</version.xerces.xercesImpl>
    <version.com.google.elemental2>1.0.0-beta-1</version.com.google.elemental2>
    <version.com.fasterxml.jackson>2.8.8</version.com.fasterxml.jackson>
    <version.org.jboss.websocket.spec>1.0.0.Final</version.org.jboss.websocket.spec>
    <version.org.mockito>2.12.0</version.org.mockito>
    <version.com.google.gwt.gwtmockito>1.1.7</version.com.google.gwt.gwtmockito>
    <version.org.powermock>2.0.0-beta.5</version.org.powermock>
  </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>

  <repositories>
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <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>com.google.gwt.gwtmockito</groupId>
        <artifactId>gwtmockito</artifactId>
        <version>${version.com.google.gwt.gwtmockito}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${version.org.mockito}</version>
      </dependency>
      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>${version.org.powermock}</version>
      </dependency>
      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>${version.org.powermock}</version>
      </dependency>
      <!-- Important: this is _not_ a spec jar, but rather implementation jar! As such it should not be replaced by the
           'jboss-el-api_3.0_spec' or any other spec jar! -->
      <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>io.netty</groupId>
        <artifactId>netty-handler</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>com.google.jsinterop</groupId>
        <artifactId>jsinterop-annotations</artifactId>
        <version>${version.com.google.jsinterop}</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>

      <!-- 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>org.lesscss</groupId>
        <artifactId>lesscss</artifactId>
        <version>${version.org.lesscss}</version>
      </dependency>

      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${version.xerces.xercesImpl}</version>
      </dependency>
      <dependency>
        <groupId>com.google.elemental2</groupId>
        <artifactId>elemental2-dom</artifactId>
        <version>${version.com.google.elemental2}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>


      <dependency>
        <groupId>org.jboss.spec.javax.websocket</groupId>
        <artifactId>jboss-websocket-api_1.0_spec</artifactId>
        <version>${version.org.jboss.websocket.spec}</version>
      </dependency>

      <!-- This artifact is not managed in the ip-bom -->
      <dependency>
        <groupId>org.wildfly.arquillian</groupId>
        <artifactId>wildfly-arquillian-container-embedded</artifactId>
        <version>${version.org.wildfly.arquillian}</version>
      </dependency>

      <!-- Transitively inherited in errai-bus-jsr356-websocket-weld tests-->
      <dependency>
        <groupId>org.wildfly.core</groupId>
        <artifactId>wildfly-embedded</artifactId>
        <version>${version.org.wildfly.core}</version>
      </dependency>
      <dependency>
        <groupId>org.wildfly.core</groupId>
        <artifactId>wildfly-protocol</artifactId>
        <version>${version.org.wildfly.core}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
