<?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">

    <!--
    NOTE: This bom is meant to be the replacement for the jboss-integration-bom that was previously used.   
    -->
    <modelVersion>4.0.0</modelVersion>
    <parent>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-parent</artifactId>
      <version>24</version>
      <relativePath />
    </parent>  
    
	<groupId>org.teiid</groupId>
	<artifactId>project-bom-parent</artifactId>
	<packaging>pom</packaging>
	<name>Project Bom Parent</name>

    <version>1.0.0</version>
	<description>Parent Pom for  Bill Of Materials for projects Teiid, Teiid-Modeshape, Teiid-Komodo, etc.</description>
    
    
    <modules>
       <module>teiid-bom</module>
    </modules>

	<properties>
        <victims.updates>weekly</victims.updates>
        <illegaltransitivereportonly>false</illegaltransitivereportonly>
            
	    <jdk.min.version>1.8</jdk.min.version>
      
	    <maven.compiler.source>1.8</maven.compiler.source>
	    <maven.compiler.target>1.8</maven.compiler.target>

        <!-- Teiid Version -->
        <version.org.teiid>10.2.0-SNAPSHOT</version.org.teiid>


        <derby.version>10.2.1.6</derby.version>
	    <mysql.connector.version>5.1.5</mysql.connector.version>
        
        <version.accumulo>1.7.3</version.accumulo>
        <version.ant-contrib>1.0b3</version.ant-contrib>
        <version.aws-java-sdk>1.11.0</version.aws-java-sdk>
        	    
        <!--  with wildfly parent version 2.5.4 the build is failing -->
        <version.bundle.plugin>2.5.0</version.bundle.plugin>
        
        <version.cassandra-driver-core>3.1.3</version.cassandra-driver-core>
        <version.com.couchbase.client>2.4.2</version.com.couchbase.client>
	    <version.com.fasterxml.aalto-xml>0.9.10</version.com.fasterxml.aalto-xml>
        <version.com.fasterxml.jackson.core>2.5.4</version.com.fasterxml.jackson.core>
        <version.com.fasterxml.jackson.dataformat>2.4.5</version.com.fasterxml.jackson.dataformat>	 
        <version.com.force.api>22.0.0</version.com.force.api>
        <version.com.force.api.34>34.0.0</version.com.force.api.34>
        <version.com.force.api.41>41.0.0</version.com.force.api.41>
        <version.com.google.code.findbugs>2.0.1</version.com.google.code.findbugs>
        <version.com.google.guava>20.0</version.com.google.guava>
        <version.com.googlecode.json-simple>1.1.1</version.com.googlecode.json-simple>   	
        <version.com.h2database>1.3.152</version.com.h2database>
        <version.commons-codec>1.10</version.commons-codec>
        <version.commons-configuration>1.6</version.commons-configuration>
        <version.commons-logging>1.1</version.commons-logging>
        <version.commons-net>3.5</version.commons-net>

        <version.dom4j>1.6.1</version.dom4j>
        <version.de.flapdoodle.embed.mongo>1.46.0</version.de.flapdoodle.embed.mongo>

        <version.gdata-core>1.47.1</version.gdata-core>
        <version.hadoop-common>2.2.0</version.hadoop-common>

        <version.io.dropwizard.metrics.metrics-core>3.1.2</version.io.dropwizard.metrics.metrics-core>
	    <version.io.swagger>1.5.17</version.io.swagger>

        <version.javax.validation>1.1.0.Final</version.javax.validation>
        <version.jta>1.1</version.jta>
        <version.jts>1.13</version.jts>
        <version.jts2geojson>0.8.0</version.jts2geojson>
        <version.junit>4.12</version.junit>	   
        
        <version.olap4j>1.1.0</version.olap4j>

        <version.org.apache.ant>1.8.2</version.org.apache.ant>
        <version.org.apache.commons>3.3.2</version.org.apache.commons>
        <version.org.apache.cxf>3.1.12</version.org.apache.cxf>
        <version.org.apache.olingo>4.4.0</version.org.apache.olingo>
        <version.org.apache.phoenix.phoenix-core>4.2.1</version.org.apache.phoenix.phoenix-core>
        <version.org.apache.poi>3.10.1</version.org.apache.poi>
        <version.org.apache.xmlbeans>2.6.0</version.org.apache.xmlbeans>
        <version.org.antlr>4.5</version.org.antlr>
        <version.org.codehaus.btm>2.1.3</version.org.codehaus.btm>
        <version.org.codehaus.groovy>2.4.4</version.org.codehaus.groovy>
        <version.org.codehaus.woodstox>4.4.1</version.org.codehaus.woodstox>
        <version.org.dbunit>2.2</version.org.dbunit>
        <version.org.eclipse.jetty>9.2.7.v20150116</version.org.eclipse.jetty>
        <version.org.eclipse.persistence>2.5.0</version.org.eclipse.persistence>
        <version.org.hibernate.search>5.5.8.Final</version.org.hibernate.search> 
        <version.org.hibernate>5.1.10.Final</version.org.hibernate> 
	    <version.org.jboss.narayana>5.5.30.Final</version.org.jboss.narayana>
        <version.org.jboss.resteasy.tjws>3.0.11.Final</version.org.jboss.resteasy.tjws>        
        <version.org.jboss.oreva>1.0.0</version.org.jboss.oreva>
        <version.org.mockito>1.10.19</version.org.mockito>
        <version.org.mongodb.mongo-java-driver>3.4.2</version.org.mongodb.mongo-java-driver>
        <version.org.reflections>0.9.9</version.org.reflections>
        <version.org.springframework>3.2.12.RELEASE</version.org.springframework>
        <version.org.springframework.asm>3.1.4.RELEASE</version.org.springframework.asm>
        <version.org.wildfly>11.0.0.Final</version.org.wildfly>
	    <version.org.wildfly.core>3.0.8.Final</version.org.wildfly.core>
	    <version.org.wildfly.arquillian>2.1.0.Final</version.org.wildfly.arquillian>
        <version.org.wildfly.build-tools>1.1.6.Final</version.org.wildfly.build-tools>
        
        <version.net.oauth.core>20100527</version.net.oauth.core>
        <version.net.sourceforge.saxon>9.8.0-7</version.net.sourceforge.saxon>
        <version.noggit>0.6</version.noggit>
        <version.postgresql>42.1.4</version.postgresql>
        <version.proj4j>0.1.0</version.proj4j>

	    <!-- Overrides to allow the release process to commit: https://jira.codehaus.org/browse/MRELEASE-812 -->
	    <version.release.plugin>2.5</version.release.plugin>
        <version.solr>6.4.1</version.solr>
        <version.sun.jaxb>2.2.11.jbossorg-1</version.sun.jaxb>	    
	    <version.swagger-parser>1.0.33</version.swagger-parser>

        <version.thrift>0.9.3</version.thrift>
        <version.xerces>2.11.0</version.xerces>
        <version.xml-apis>1.4.01</version.xml-apis>

        <version.zookeeper>3.4.10</version.zookeeper>

        
        <!-- Infinispan Translator -->
        <version.org.infinispan>9.1.2.Final</version.org.infinispan>
        <version.io.netty>4.1.5.Final</version.io.netty>
        <version.org.jboss.logging>3.3.0.Final</version.org.jboss.logging>
        <version.org.apache.lucene>5.5.0</version.org.apache.lucene>
        <version.com.squareup>4.0.3</version.com.squareup>
        <version.org.infinispan.protostream>4.1.1.Final</version.org.infinispan.protostream>
        <!-- Infinispan Translator -->
        
        <!--  Data Quality -->
        <version.com.github.mpkorstanje>3.0.0</version.com.github.mpkorstanje>
        <version.com.itextpdf>5.4.0</version.com.itextpdf>
        <version.com.opencsv>3.5</version.com.opencsv>
        <version.info.debatty>0.13</version.info.debatty>
        <version.net.sourceforge.jexcelapi>2.6.12</version.net.sourceforge.jexcelapi>
        <version.net.sourceforge.jeval>0.9.4</version.net.sourceforge.jeval>
        <version.org.arrahtec>6.1.9</version.org.arrahtec>
        
	</properties>
	<scm>
        <connection>scm:git:git://github.com/teiid/teiid-bom.git</connection>
        <developerConnection>scm:git:git@github.com:teiid/teiid-bom.git</developerConnection>
        <url>http://github.com/teiid/teiid-bom</url>
		<tag>project-bom-parent-1.0.0</tag>
    </scm>
	<licenses>
		<license>
            <name>Apache License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0</url>
		</license>
	</licenses>
	<url>${site.url}</url>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>gwt-maven-plugin</artifactId>
          <version>${version.com.google.gwt}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>de.is24.maven.enforcer.rules</groupId>
            <artifactId>illegal-transitive-dependency-check</artifactId>
            <version>1.7.4</version>
          </dependency>
          <dependency>
            <groupId>com.redhat.victims</groupId>
            <artifactId>enforce-victims-rule</artifactId>
            <version>1.3.4</version>
          </dependency>
          <dependency>
            <groupId>org.commonjava.maven.enforcer</groupId>
            <artifactId>enforce-managed-deps-rule</artifactId>
            <version>1.1</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <id>enforce-plugin-versions</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requirePluginVersions>
                  <level>WARN</level>
                  <message>One or more plugins do not have valid version! The version needs to be explicitly specified, can not be a -SNAPSHOT version and can not be one of the special (and buggy) Maven versions (LATEST, RELEASE).</message>
                </requirePluginVersions>
              </rules>
            </configuration>
          </execution>

          <execution>
            <id>no-managed-deps</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>initialize</phase>
            <configuration>
              <rules>
                <requireManagedDeps implementation="org.commonjava.maven.enforcer.rule.EnforceManagedDepsRule">
                  <checkProfiles>true</checkProfiles>
                  <failOnViolation>false</failOnViolation>
                </requireManagedDeps>
              </rules>
            </configuration>
          </execution>

          <!--execution>
            <id>enforce-direct-dependencies</id>
            <phase>process-classes</phase>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <illegalTransitiveDependencyCheck implementation="de.is24.maven.enforcer.rules.IllegalTransitiveDependencyCheck">
                  <reportOnly>${illegaltransitivereportonly}</reportOnly>
                  <regexIgnoredClasses>
                    <regexIgnoredClass>com\.sun\.net\.httpserver\..+</regexIgnoredClass>
                    <regexIgnoredClass>javax\..+</regexIgnoredClass>
                    <regexIgnoredClass>org\.w3c\.dom\..+</regexIgnoredClass>
                    <regexIgnoredClass>org\.xml\.sax\..+</regexIgnoredClass>
                  </regexIgnoredClasses>
                  <useClassesFromLastBuild>true</useClassesFromLastBuild>
                </illegalTransitiveDependencyCheck>
              </rules>
            </configuration>
          </execution-->

          <execution>
            <id>ban-blacklisted-dependencies</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
            <configuration>
              <rules>
                <bannedDependencies>
                  <excludes>
                    <exclude>org.apache.cxf:cxf-bundle-jaxrs</exclude>
                    <exclude>org.jboss.weld.se:weld-se</exclude><!-- Use weld-se-core instead -->
                    <exclude>org.jboss.weld.servlet:weld-servlet</exclude><!-- Use weld-servlet-core instead -->
                    <!--exclude>org.mockito:mockito-all</exclude--><!-- Use mockito-core instead -->
                  </excludes>
                </bannedDependencies>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>

    </plugins>
</build>
</project>
