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

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->

<!--
    POM file.
-->
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>16</version>
    </parent>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <ignite.version>2.11.0-SNAPSHOT</ignite.version>

        <ignite.edition>apache-ignite</ignite.edition>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>MMMM d yyyy</maven.build.timestamp.format>
        <doxygen.exec>doxygen</doxygen.exec>
        <docfx.exec>docfx</docfx.exec>
        <git.exec>git</git.exec>
        <javadoc.opts>-Xdoclint:none</javadoc.opts>
        <update.notifier.enabled.by.default>true</update.notifier.enabled.by.default>

        <!-- Dependency versions -->
        <activemq.version>5.12.0</activemq.version>
        <aopalliance.bundle.version>1.0_6</aopalliance.bundle.version>
        <asm.version>4.2</asm.version>
        <aspectj.bundle.version>1.8.13_1</aspectj.bundle.version>
        <aspectj.version>1.8.13</aspectj.version>
        <aws.sdk.bundle.version>1.10.12_1</aws.sdk.bundle.version>
        <aws.sdk.version>1.11.75</aws.sdk.version>
        <camel.version>3.4.3</camel.version>
        <aws.encryption.sdk.version>1.3.2</aws.encryption.sdk.version>
        <commons.beanutils.bundle.version>1.9.2_1</commons.beanutils.bundle.version>
        <commons.beanutils.version>1.9.3</commons.beanutils.version>
        <commons.codec.version>1.11</commons.codec.version>
        <commons.collections.version>3.2.2</commons.collections.version>
        <commons.lang.version>2.6</commons.lang.version>
        <commons.io.version>2.6</commons.io.version>
        <cron4j.version>2.2.5</cron4j.version>
        <curator.version>4.2.0</curator.version>
        <easymock.version>3.4</easymock.version>
        <ezmorph.bundle.version>1.0.6_1</ezmorph.bundle.version>
        <ezmorph.version>1.0.6</ezmorph.version>
        <flume.ng.version>1.7.0</flume.ng.version>
        <guava.retrying.version>2.0.0</guava.retrying.version>
        <guava.version>25.1-jre</guava.version>
        <guava14.version>14.0.1</guava14.version>
        <guava16.version>16.0.1</guava16.version>
        <h2.version>1.4.197</h2.version>
        <hadoop.version>2.9.1</hadoop.version>
        <hamcrest.version>1.2</hamcrest.version>
        <httpclient.version>4.5.1</httpclient.version>
        <httpcore.version>4.4.3</httpcore.version>
        <jackson.version>2.9.6</jackson.version>
        <jackson1.version>1.9.13</jackson1.version>
        <jaxb.api.version>2.1</jaxb.api.version>
        <jaxb.impl.version>2.1.14</jaxb.impl.version>
        <javassist.version>3.20.0-GA</javassist.version>
        <javax.cache.bundle.version>1.0.0_1</javax.cache.bundle.version>
        <javax.cache.tck.version>1.0.1</javax.cache.tck.version>
        <javax.cache.version>1.0.0</javax.cache.version>
        <jboss.rmi.version>1.0.6.Final</jboss.rmi.version>
        <jetbrains.annotations.version>16.0.3</jetbrains.annotations.version>
        <jetty.version>9.4.11.v20180605</jetty.version>
        <jmh.version>1.13</jmh.version>
        <jms.spec.version>1.1.1</jms.spec.version>
        <jna.version>4.5.2</jna.version>
        <jnr.posix.version>3.0.50</jnr.posix.version>
        <jotm.version>2.2.3</jotm.version>
        <jsch.bundle.version>0.1.54_1</jsch.bundle.version>
        <jsch.version>0.1.54</jsch.version>
        <jsonlib.bundle.version>2.4_1</jsonlib.bundle.version>
        <jsonlib.version>2.4</jsonlib.version>
        <jtidy.version>r938</jtidy.version>
        <kafka.version>2.0.1</kafka.version>
        <karaf.version>4.0.2</karaf.version>
        <log4j.version>2.11.0</log4j.version>
        <lucene.bundle.version>7.4.0_1</lucene.bundle.version>
        <lucene.version>7.4.0</lucene.version>
        <lz4.version>1.5.0</lz4.version>
        <maven.bundle.plugin.version>3.5.0</maven.bundle.plugin.version>
        <maven.checkstyle.plugin.version>3.0.0</maven.checkstyle.plugin.version>
        <checkstyle.puppycrawl.version>8.19</checkstyle.puppycrawl.version>
        <mockito.version>1.10.19</mockito.version>
        <mysql.connector.version>8.0.13</mysql.connector.version>
        <netlibjava.version>1.1.2</netlibjava.version>
        <oro.bundle.version>2.0.8_6</oro.bundle.version>
        <osgi.core.version>5.0.0</osgi.core.version>
        <osgi.enterprise.version>5.0.0</osgi.enterprise.version>
        <paho.version>1.0.2</paho.version>
        <postgres.connector.version>42.2.5.jre7</postgres.connector.version>
        <rocketmq.version>4.4.0</rocketmq.version>
        <scala210.jline.version>2.10.7</scala210.jline.version>
        <scala210.library.version>2.10.7</scala210.library.version>
        <scala.library.version>2.11.12</scala.library.version>
        <scala.test.version>2.2.6</scala.test.version>
        <slf4j.version>1.7.7</slf4j.version>
        <slf4j16.version>1.6.4</slf4j16.version>
        <snappy.version>1.1.7.2</snappy.version>
        <spark.hadoop.version>2.6.5</spark.hadoop.version>
        <spark.version>2.3.0</spark.version>
        <spring.data.version>1.13.23.RELEASE</spring.data.version> <!-- don't forget to update spring version -->
        <spring.version>4.3.26.RELEASE</spring.version><!-- don't forget to update spring-data version -->
        <spring.data-2.0.version>2.0.13.RELEASE</spring.data-2.0.version> <!-- don't forget to update spring-5.0 version -->
        <spring-5.0.version>5.0.16.RELEASE</spring-5.0.version><!-- don't forget to update spring-data-2.0 version -->
        <spring.data-2.2.version>2.2.3.RELEASE</spring.data-2.2.version> <!-- don't forget to update spring-5.2 version -->
        <spring-5.2.version>5.2.3.RELEASE</spring-5.2.version><!-- don't forget to update spring-data-2.2 version -->
        <spring41.osgi.feature.version>4.1.7.RELEASE_1</spring41.osgi.feature.version>
        <spring-boot.version>2.2.2.RELEASE</spring-boot.version>
        <storm.version>1.1.1</storm.version>
        <tomcat.version>9.0.10</tomcat.version>
        <twitter.hbc.version>2.2.0</twitter.hbc.version>
        <yammer.metrics.annotation.version>2.2.0</yammer.metrics.annotation.version>
        <yammer.metrics.core.version>2.2.0</yammer.metrics.core.version>
        <yardstick.version>0.8.3</yardstick.version>
        <zkclient.version>0.5</zkclient.version>
        <zookeeper.version>3.5.5</zookeeper.version>
        <zstd.version>1.3.7-2</zstd.version>
        <opencensus.version>0.22.0</opencensus.version>
        <surefire.version>3.0.0-M4</surefire.version>
        <xstream.version>1.4.8</xstream.version>

        <!-- Maven plugins versions -->
        <maven.javadoc.plugin.version>2.10.4</maven.javadoc.plugin.version>

        <!-- OSGI Manifest generation default property values -->
        <osgi.import.package>*</osgi.import.package>
        <osgi.export.package>{local-packages}</osgi.export.package>
        <osgi.embed.transitive>false</osgi.embed.transitive>
        <osgi.fail.ok>false</osgi.fail.ok>

    </properties>

    <groupId>org.apache.ignite</groupId>
    <artifactId>ignite-extensions-parent</artifactId>
    <version>1</version>
    <packaging>pom</packaging>

    <url>http://ignite.apache.org</url>

    <description>Java-based middleware for in-memory processing of big data in a distributed environment.</description>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <mailingLists>
        <mailingList>
            <name>Ignite Dev List</name>
            <subscribe>dev-subscribe@ignite.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@ignite.apache.org</unsubscribe>
            <post>dev@ignite.apache.org</post>
            <archive>http://mail-archives.apache.org/mod_mbox/ignite-dev</archive>
        </mailingList>
    </mailingLists>

    <issueManagement>
        <system>jira</system>
        <url>http://issues.apache.org/jira/browse/IGNITE</url>
    </issueManagement>

    <developers>
        <developer>
            <id>samaitra</id>
            <name>Saikat Maitra</name>
            <email>saikat dot maitra at gmail dot com</email>
        </developer>
    </developers>

    <repositories>
        <repository>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>ignore</checksumPolicy>
            </snapshots>
            <id>h2database.com</id>
            <name>Snapshot repository on h2database.com</name>
            <url>https://h2database.com/m2-repo</url>
            <layout>default</layout>
        </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.sun.jdmk</groupId>
                        <artifactId>jmxtools</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.sun.jmx</groupId>
                        <artifactId>jmxri</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

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

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <useDefaultManifestFile>true</useDefaultManifestFile>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                    <configuration>
                        <taglets>
                            <taglet>
                                <tagletClass>org.apache.ignite.tools.javadoc.IgniteLinkTaglet</tagletClass>
                                <tagletArtifact>
                                    <groupId>org.apache.ignite</groupId>
                                    <artifactId>ignite-tools</artifactId>
                                    <version>${ignite.version}</version>
                                </tagletArtifact>
                            </taglet>
                        </taglets>
                        <doctitle>Ignite ${ignite.version}</doctitle>
                        <windowtitle>Ignite ${ignite.version}</windowtitle>
                        <breakiterator>true</breakiterator>
                        <verbose>true</verbose>
                        <show>protected</show>
                        <use>true</use>
                        <author>false</author>
                        <version>false</version>
                        <additionalparam>${javadoc.opts}</additionalparam>
                        <links>
                            <link>https://hadoop.apache.org/docs/current/api/</link>
                        </links>
                        <groups>
                            <group>
                                <title>Common Grid APIs</title>
                                <packages>
                                    org.apache.ignite:org.apache.ignite.cluster:org.apache.ignite.lifecycle:org.apache.ignite.configuration:org.apache.ignite.spi:org.apache.ignite.lang:org.apache.ignite.resources:org.apache.ignite.thread:org.apache.ignite.scheduler
                                </packages>
                            </group>
                            <group>
                                <title>Messaging APIs</title>
                                <packages>org.apache.ignite.messaging</packages>
                            </group>
                            <group>
                                <title>Event Notification APIs</title>
                                <packages>org.apache.ignite.events</packages>
                            </group>
                            <group>
                                <title>Compute Grid APIs</title>
                                <packages>org.apache.ignite.compute*</packages>
                            </group>
                            <group>
                                <title>Data Grid APIs</title>
                                <packages>
                                    org.apache.ignite.cache*:org.apache.ignite.transactions:org.apache.ignite.datastructures:org.apache.ignite.dataload
                                </packages>
                            </group>
                            <group>
                                <title>Spring Integration</title>
                                <packages>org.apache.ignite.cache.spring:org.apache.ignite.transactions.spring</packages>
                            </group>
                            <group>
                                <title>Mesos Framework</title>
                                <packages>org.apache.ignite.mesos*</packages>
                            </group>
                            <group>
                                <title>Yarn Integration</title>
                                <packages>org.apache.ignite.yarn*</packages>
                            </group>
                            <group>
                                <title>Spark Integration</title>
                                <packages>org.apache.ignite.spark.examples.java</packages>
                            </group>
                            <group>
                                <title>OSGi integration</title>
                                <packages>org.apache.ignite.osgi*</packages>
                            </group>
                            <group>
                                <title>Flink Sink Integration</title>
                                <packages>org.apache.ignite.sink.flink*</packages>
                            </group>
                            <group>
                                <title>Flink Source Integration</title>
                                <packages>org.apache.ignite.source.flink*</packages>
                            </group>
                            <group>
                                <title>SpringData integration</title>
                                <packages>org.apache.ignite.springdata.repository*</packages>
                            </group>
                            <group>
                                <title>SpringData 2.0 integration</title>
                                <packages>org.apache.ignite.springdata20.repository*</packages>
                            </group>
                            <group>
                                <title>SpringData 2.2 integration</title>
                                <packages>org.apache.ignite.springdata22.repository*</packages>
                            </group>
                            <group>
                            <title>RocketMQ integration</title>
                                <packages>org.apache.ignite.stream.rocketmq*</packages>
                            </group>
                            <group>
                                <title>Pub/Sub integration</title>
                                <packages>org.apache.ignite.stream.pubsub.*</packages>
                            </group>
                            <group>
                                <title>Storm integration</title>
                                <packages>org.apache.ignite.stream.storm*</packages>
                            </group>
                            <group>
                                <title>Ignite Development Utils</title>
                                <packages>org.apache.ignite.development.utils*</packages>
                            </group>
                            <group>
                                <title>Spring Transactions Integration</title>
                                <packages>org.apache.ignite.transactions.spring*</packages>
                            </group>
                            <group>
                                <title>Spring Cache Integration</title>
                                <packages>org.apache.ignite.cache.spring*</packages>
                            </group>
                        </groups>
                        <bottom>
                            <![CDATA[
                                    <table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px">
                                    <tr>
                                        <td>
                                            <table style="padding-left: 0; margin: 0">
                                                <tbody style="padding: 0; margin: 0">
                                                    <tr style="padding: 0; margin: 0">
                                                        <td>
                                                            <a target=_blank href="https://ignite.apache.org"><nobr>${current.year} Copyright &#169; Apache Software Foundation</nobr></a>
                                                        </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </td>
                                        <td width="100%" align="right" valign="center">
                                            <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a>
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2" valign="top" align="left">
                                            <table style="padding-left: 0; margin: 0">
                                                <tbody style="padding: 0; margin: 0">
                                                    <tr style="padding: 0; margin: 0">
                                                        <td>
                                                            <b>Ignite Database and Caching Platform</b>
                                                        </td>
                                                        <td>:&nbsp;&nbsp;
                                                            ver. <strong>${ignite.version}</strong>
                                                        </td>
                                                    </tr>
                                                    <tr style="padding: 0; margin: 0">
                                                        <td>
                                                            <b>Release Date</b>
                                                        </td>
                                                        <td>:&nbsp;&nbsp;
                                                            ${maven.build.timestamp}
                                                        </td>
                                                    </tr>
                                                </tbody>
                                            </table>
                                        </td>
                                    </tr>
                                    </table>
                                ]]>
                        </bottom>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${maven.bundle.plugin.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <archive>
                            <addMavenDescriptor>true</addMavenDescriptor>
                        </archive>
                        <supportedProjectTypes>
                            <supportedProjectType>jar</supportedProjectType>
                            <supportedProjectType>war</supportedProjectType>
                        </supportedProjectTypes>
                        <instructions>
                            <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
                            <Bundle-Version>${project.version}</Bundle-Version>
                            <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                            <Bundle-Description>${project.description}</Bundle-Description>
                            <Bundle-DocURL>${project.url}</Bundle-DocURL>
                            <Import-Package>
                                ${osgi.import.package}
                            </Import-Package>
                            <Export-Package>
                                ${osgi.export.package}
                            </Export-Package>
                            <Private-Package>
                                ${osgi.private.package}
                            </Private-Package>
                            <Embed-Dependency>${osgi.embed.dependency}</Embed-Dependency>
                            <Embed-Directory>lib</Embed-Directory>
                            <Embed-Transitive>${osgi.embed.transitive}</Embed-Transitive>
                            <_failok>${osgi.fail.ok}</_failok>
                            <_invalidfilenames/>
                        </instructions>
                    </configuration>
                    <executions>
                        <execution>
                            <id>bundle-manifest</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>manifest</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${surefire.version}</version>
                <configuration>
                    <forkCount>0</forkCount>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <executions>
                    <execution>
                        <id>source</id>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                        <phase>package</phase>
                        <configuration>
                            <excludeResources>true</excludeResources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>1.0.1</version>

                <configuration>
                    <flattenMode>minimum</flattenMode>
                    <flattenedPomFilename>pom-installed.xml</flattenedPomFilename>
                </configuration>

                <executions>
                    <!-- enable flattening -->
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                    </execution>

                    <!-- ensure proper cleanup before start -->
                    <execution>
                        <id>flatten.clean.before</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- ensure proper cleanup after install -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <inherited>false</inherited>
                <executions>
                    <execution>
                        <id>flatten.clean.after</id>
                        <phase>install</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <excludeDefaultDirectories>true</excludeDefaultDirectories>
                            <filesets>
                                <fileset>
                                    <directory>${project.basedir}</directory>
                                    <includes>
                                        <include>**/pom-installed.xml</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
                <inherited>false</inherited>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <inherited>false</inherited>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>3.0.0-M2</version>
                <configuration>
                    <rules>
                        <requireJavaVersion>
                            <!--Detected JDK Version: 1.8.0 is not in the allowed range [1.7,1.8),[1.8.0-40,).-->
                            <message>
[INFO] ------------------------------------------------------------------------
[ERROR] You are trying to compile Apache Ignite with inappropriate JDK version!
[ERROR] Detected JDK Version: ${java.runtime.version}
[ERROR] JDK version should be >= 1.8.0-u40.
                            </message>
                            <version>[1.8.0-40,)</version>
                        </requireJavaVersion>
                    </rules>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>module-javadoc</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>checkstyle</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>${maven.checkstyle.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>style</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>validate</phase>
                                <configuration>
                                    <consoleOutput>true</consoleOutput>
                                    <logViolationsToConsole>true</logViolationsToConsole>
                                    <failsOnError>true</failsOnError>
                                    <failOnViolation>true</failOnViolation>
                                    <outputFile>${project.build.directory}/checkstyle-result.xml</outputFile>
                                    <configLocation>../checkstyle/checkstyle.xml</configLocation>
                                    <suppressionsLocation>../checkstyle/checkstyle-suppressions.xml</suppressionsLocation>
                                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>com.puppycrawl.tools</groupId>
                                <artifactId>checkstyle</artifactId>
                                <version>${checkstyle.puppycrawl.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>check-licenses</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <version>0.12</version>
                        <configuration>
                            <addDefaultLicenseMatchers>false</addDefaultLicenseMatchers>
                            <licenses>
                                <license implementation="org.apache.rat.analysis.license.FullTextMatchingLicense">
                                    <licenseFamilyCategory>IAL20</licenseFamilyCategory>
                                    <licenseFamilyName>Ignite Apache License 2.0</licenseFamilyName>
                                    <fullText>
                                        Licensed to the Apache Software Foundation (ASF) under one or more
                                        contributor license agreements.  See the NOTICE file distributed with
                                        this work for additional information regarding copyright ownership.
                                        The ASF licenses this file to You 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.
                                    </fullText>
                                </license>
                            </licenses>
                            <licenseFamilies>
                                <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
                                    <familyName>Ignite Apache License 2.0</familyName>
                                </licenseFamily>
                            </licenseFamilies>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <configuration>
                                    <excludes>
                                        <exclude>work/**</exclude>
                                        <exclude>**/target/**</exclude>
                                        <exclude>**/*.log</exclude>
                                        <exclude>**/*.m4</exclude><!--Free Software Foundation notice-->
                                        <exclude>**/*.dylib</exclude><!--bin-files-->
                                        <exclude>**/*.gar</exclude><!--bin-files-->
                                        <exclude>**/licenses/*.txt</exclude><!--files of licenses-->
                                        <exclude>**/*readme*.txt</exclude><!--readme files-->
                                        <exclude>**/*.sql</exclude><!--sql files-->
                                        <exclude>**/*README*.txt</exclude><!--readme files-->
                                        <exclude>**/*README*.md</exclude><!--readme files-->
                                        <exclude>**/*CONTRIBUTING*.md</exclude><!--readme files-->
                                        <exclude>**/*index*.md</exclude><!--readme files-->
                                        <exclude>**/*.timestamp</exclude><!--tmp-files-->
                                        <exclude>**/*.iml</exclude><!--IDEA files-->
                                        <exclude>**/*.csv</exclude><!--CSV files-->
                                        <exclude>**/*.jks</exclude><!--bin-files-->
                                        <exclude>**/pom-installed.xml</exclude><!--tmp-files-->
                                        <exclude>**/keystore</exclude><!--bin-files-->
                                        <exclude>**/keystore/*.jks</exclude><!--bin-files-->
                                        <exclude>**/keystore/*.pem</exclude><!--auto generated files-->
                                        <exclude>**/keystore/*.pfx</exclude><!--bin-files-->
                                        <exclude>**/keystore/ca/*.jks</exclude><!--bin-files-->
                                        <exclude>**/keystore/ca/*.key</exclude><!--bin-files-->
                                        <exclude>**/keystore/ca/*.txt</exclude><!--auto generated files-->
                                        <exclude>**/keystore/ca/*.txt.attr</exclude><!--auto generated files-->
                                        <exclude>**/keystore/ca/*serial</exclude><!--auto generated files-->
                                        <exclude>**/META-INF/services/**</exclude> <!-- Interface mappings: cannot be changed -->
                                        <!-- spring data 2.X modules, borrowed code from spring-jpa 5.2.0, Apache 2.0 licenses -->
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/QueryUtils.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/EmptyDeclaredQuery.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/ExpressionBasedStringQuery.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/spel/SpelEvaluator.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/spel/SpelQueryContext.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/DeclaredQuery.java</exclude>
                                        <exclude>src/main/java/org/apache/ignite/springdata2*/repository/query/StringQuery.java</exclude>
                                        <!--special excludes-->
                                        <exclude>idea/ignite_codeStyle.xml</exclude>
                                        <exclude>**/DEVNOTES*.txt</exclude>
                                        <exclude>**/NOTICE*</exclude>
                                        <exclude>**/LICENSE*</exclude>
                                        <exclude>**/MIGRATION_GUIDE*</exclude>
                                        <exclude>src/main/java/org/apache/ignite/internal/util/offheap/unsafe/GridOffHeapSnapTreeMap.java</exclude><!--BSD license-->
                                        <exclude>src/main/java/org/apache/ignite/internal/util/nio/SelectedSelectionKeySet.java</exclude><!-- Apache 2.0 license -->
                                        <exclude>src/main/java/org/apache/ignite/internal/util/snaptree/*.java</exclude><!--BSD license-->
                                        <exclude>src/main/java/org/jsr166/*.java</exclude>
                                        <exclude>src/main/java/org/mindrot/*.java</exclude>
                                        <exclude>src/test/java/org/apache/ignite/p2p/p2p.properties</exclude><!--test depends on file content-->
                                        <exclude>src/test/resources/org.apache.ignite.util/control.sh_cache_help.output</exclude><!--test depends on file content-->
                                        <exclude>src/test/resources/org.apache.ignite.util/control.sh_help.output</exclude><!--test depends on file content-->
                                        <exclude>src/test/resources/log/ignite.log.tst</exclude><!--test resource-->
                                        <exclude>src/test/java/org/apache/ignite/spi/deployment/uri/META-INF/ignite.incorrefs</exclude><!--test resource-->
                                        <exclude>src/test/java/org/apache/ignite/spi/deployment/uri/META-INF/ignite.empty</exclude><!--should be empty-->
                                        <exclude>src/test/java/org/apache/ignite/spi/deployment/uri/META-INF/ignite.brokenxml</exclude><!--test resource-->
                                        <exclude>**/books/*.txt</exclude><!--books examples-->
                                        <exclude>src/main/java/org/apache/ignite/examples/streaming/wordcount/*.txt</exclude><!--books examples-->
                                        <exclude>examples/src/main/java/org/apache/ignite/examples/streaming/wordcount/*.txt</exclude><!--books examples-->
                                        <exclude>**/resources/datasets/**/*</exclude><!--Datasets in ml module-->
                                        <exclude>**/resources/models/**/*</exclude><!--Pre-trained ml models-->
                                        <exclude>src/main/java/org/jetbrains/annotations/*.java</exclude><!--copyright-->
                                        <exclude>dev-tools/IGNITE-*.patch</exclude>
                                        <exclude>dev-tools/.gradle/**/*</exclude>
                                        <exclude>dev-tools/gradle/wrapper/**/*</exclude>
                                        <exclude>dev-tools/gradlew</exclude>
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test2/1.1/test2-1.1.pom</exclude>
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test2/maven-metadata-local.xml</exclude>
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test1/1.1/test1-1.1.pom</exclude>
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test1/maven-metadata-local.xml</exclude>
                                        <exclude>src/test/resources/org/apache/ignite/internal/managers/discovery/Wrapper.ser</exclude>
                                        <!--shmem-->
                                        <exclude>ipc/shmem/**/Makefile.in</exclude><!--auto generated files-->
                                        <exclude>ipc/shmem/**/Makefile</exclude><!--auto generated files-->
                                        <exclude>ipc/shmem/compile</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/config.guess</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/config.sub</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/configure</exclude><!--free software-->
                                        <exclude>ipc/shmem/config.h.in</exclude><!--auto generated-->
                                        <exclude>ipc/shmem/configure.ac</exclude><!--cannot be changed-->
                                        <exclude>ipc/shmem/ltmain.sh</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/install-sh</exclude><!--free license-->
                                        <exclude>ipc/shmem/depcomp</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/config.status</exclude><!--auto generated-->
                                        <exclude>ipc/shmem/libtool</exclude><!--auto generated-->
                                        <exclude>ipc/shmem/missing</exclude><!--generated by Autoconf and licensed under AL-->
                                        <exclude>ipc/shmem/stamp-h1</exclude><!--tmp timestamp-->
                                        <exclude>ipc/shmem/ltmain.sh</exclude><!--tmp (not under VCS)-->
                                        <exclude>ipc/shmem/include/org_apache_ignite_internal_util_ipc_shmem_IpcSharedMemoryUtils.h</exclude><!--auto generated files-->
                                        <exclude>ipc/shmem/igniteshmem/.libs/*</exclude><!--tmp files-->
                                        <exclude>ipc/shmem/igniteshmem/.deps/*</exclude><!--tmp files-->
                                        <exclude>ipc/shmem/igniteshmem/libigniteshmem.la</exclude><!--tmp (not under VCS)-->
                                        <exclude>ipc/shmem/igniteshmem/libigniteshmem_la-org_apache_ignite_internal_util_ipc_shmem_IpcSharedMemoryUtils.lo</exclude><!--tmp (not under VCS)-->
                                        <!--platforms-->
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test1/1.1/test1-1.1.jar</exclude>
                                        <exclude>src/test/binaries/repo/org/apache/ignite/binary/test2/1.1/test2-1.1.jar</exclude>
                                        <exclude>**/Makefile.am</exclude>
                                        <exclude>**/configure.ac</exclude>
                                        <exclude>**/Makefile.amrel</exclude>
                                        <exclude>**/configure.acrel</exclude>
                                        <exclude>**/*.pc.in</exclude>
                                        <exclude>**/*.sln</exclude>
                                        <exclude>**/*.snk</exclude>
                                        <exclude>**/*.slnrel</exclude>
                                        <exclude>**/*.ini</exclude>
                                        <exclude>**/*.DotSettings</exclude>
                                        <exclude>**/*.FxCop</exclude>
                                        <exclude>**/*.ruleset</exclude>
                                        <exclude>**/*.csproj</exclude>
                                        <exclude>**/*.ndproj</exclude>
                                        <exclude>**/*.csprojrel</exclude>
                                        <exclude>**/*.vcxproj</exclude>
                                        <exclude>**/*.vcxprojrel</exclude>
                                        <exclude>**/*.vcxproj.filters</exclude>
                                        <exclude>**/mkbuild.cmd</exclude>
                                        <exclude>**/module.def</exclude>
                                        <exclude>**/*.fxcop</exclude>
                                        <exclude>**/*.ruleset</exclude>
                                        <exclude>**/*.metaproj</exclude>
                                        <exclude>**/*.metaproj.tmp</exclude>
                                        <exclude>**/*.nunit</exclude>
                                        <exclude>**/teamcity_boost.cpp</exclude>
                                        <exclude>**/teamcity_messages.h</exclude>
                                        <exclude>**/teamcity_messages.cpp</exclude>
                                        <exclude>**/project/vs/**</exclude>
                                        <exclude>**/obj/x64/**</exclude>
                                        <exclude>**/obj/x86/**</exclude>
                                        <exclude>**/bin/x64/**</exclude>
                                        <exclude>**/bin/x86/**</exclude>
                                        <exclude>**/*.dxg</exclude>
                                        <exclude>**/*.cmd</exclude>
                                        <exclude>**/*.ps1</exclude>
                                        <exclude>**/*.json</exclude>
                                        <exclude>**/.dockerignore</exclude>
                                        <exclude>modules/platforms/nodejs/examples/certs/client.crt</exclude>
                                        <exclude>modules/platforms/nodejs/examples/certs/ca.crt</exclude>
                                        <exclude>modules/platforms/nodejs/examples/certs/client.key</exclude>
                                        <exclude>modules/platforms/nodejs/api_spec/**</exclude>
                                        <exclude>modules/platforms/python/**/*.md</exclude><!--markdown can not be commented-->
                                        <exclude>modules/platforms/python/docs/Makefile</exclude><!--sphinx files: BSD license-->
                                        <exclude>modules/platforms/python/docs/conf.py</exclude><!--sphinx files: BSD license-->
                                        <exclude>modules/platforms/python/docs/source/**/*.rst</exclude><!--sphinx-apidoc generated files-->
                                        <exclude>modules/platforms/python/requirements/**/*.txt</exclude><!--plain text can not be commented-->
                                        <!--web console-->
                                        <exclude>**/web-console/**/.eslintrc</exclude>
                                        <exclude>**/web-console/**/.babelrc</exclude>
                                        <exclude>**/web-console/**/*.json</exclude>
                                        <exclude>**/web-console/**/*.json.sample</exclude>
                                        <exclude>**/web-console/backend/build/**</exclude>
                                        <exclude>**/web-console/backend/node_modules/**</exclude>
                                        <exclude>**/web-console/e2e/testcafe/node_modules/**</exclude>
                                        <exclude>**/web-console/frontend/build/**</exclude>
                                        <exclude>**/web-console/frontend/node_modules/**</exclude>
                                        <exclude>**/web-console/frontend/**/*.png</exclude>
                                        <exclude>**/web-console/frontend/**/*.svg</exclude>
                                        <!--Packaging -->
                                        <exclude>packaging/**</exclude>
                                    </excludes>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>surefire-fork-count-1</id>
            <activation>
                <property>
                    <!-- To activate this profile set the following property. -->
                    <name>FORK_COUNT_SET_TO_1</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>${surefire.version}</version>
                        <configuration>
                            <forkCount>1</forkCount>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>java-9+</id>
            <activation>
                <jdk>[1.9,)</jdk>
            </activation>
            <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>11</maven.compiler.target>
                <scala.library.version>2.12.6</scala.library.version>
            </properties>
            <dependencies/>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>3.7.0</version>
                        <configuration>
                            <compilerArgs>
                                <arg>--add-exports</arg>
                                <arg>java.base/jdk.internal.misc=ALL-UNNAMED</arg>
                                <arg>--add-exports</arg>
                                <arg>java.base/sun.nio.ch=ALL-UNNAMED</arg>
                                <arg>--add-exports</arg>
                                <arg>java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED</arg>
                                <arg>--add-exports</arg>
                                <arg>jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED</arg>
                            </compilerArgs>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <argLine>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED --add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED --illegal-access=permit</argLine>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>tools.jar-default</id>
            <activation>
                <file>
                    <exists>${java.home}/../lib/tools.jar</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.sun</groupId>
                    <artifactId>tools</artifactId>
                    <scope>system</scope>
                    <version>${java.version}</version>
                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>tools.jar-mac</id>
            <activation>
                <file>
                    <exists>${java.home}/../Classes/classes.jar</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>com.sun</groupId>
                    <artifactId>tools</artifactId>
                    <scope>system</scope>
                    <version>${java.version}</version>
                    <systemPath>${java.home}/../Classes/classes.jar</systemPath>
                </dependency>
            </dependencies>
        </profile>

        <profile>
            <id>licenses</id>

            <dependencies>
                <dependency>
                    <groupId>org.apache.ignite</groupId>
                    <artifactId>ignite-apache-license-gen</artifactId>
                    <version>${ignite.version}</version>
                    <scope>test</scope><!-- hack to have ignite-apache-license-gen at first place at mvn reactor -->
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin><!-- generates dependencies licenses -->
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-remote-resources-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>ignite-dependencies</id>
                                <goals>
                                    <goal>process</goal>
                                </goals>
                                <configuration>
                                    <resourceBundles>
                                        <resourceBundle>org.apache.ignite:ignite-apache-license-gen:${ignite.version}
                                        </resourceBundle>
                                    </resourceBundles>
                                    <excludeTransitive>true</excludeTransitive>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.7</version>
                        <executions>
                            <execution>
                                <id>licenses-file-rename</id>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <phase>compile</phase>
                                <configuration>
                                    <target>
                                        <!-- moving licenses generated by "ignite-dependencies" -->
                                        <move file="${basedir}/target/classes/META-INF/licenses.txt" tofile="${basedir}/target/licenses/${project.artifactId}-licenses.txt"/>
                                    </target>
                                    <failOnError>false</failOnError>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>m2e</id>
            <!--This profile is activated when eclipse interacts with maven (using m2e).-->
            <activation>
                <property>
                    <name>m2e.version</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <!--eclipse do not support duplicated package-info.java, in both src and test.-->
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-testCompile</id>
                                <phase>test-compile</phase>
                                <configuration>
                                    <testExcludes>
                                        <exclude>**/package-info.java</exclude>
                                    </testExcludes>
                                </configuration>
                                <goals>
                                    <goal>testCompile</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
                <pluginManagement>
                    <plugins>
                        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
                        <plugin>
                            <groupId>org.eclipse.m2e</groupId>
                            <artifactId>lifecycle-mapping</artifactId>
                            <version>1.0.0</version>
                            <configuration>
                                <lifecycleMappingMetadata>
                                    <pluginExecutions>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.apache.maven.plugins</groupId>
                                                <artifactId>maven-antrun-plugin</artifactId>
                                                <versionRange>[1.7,)</versionRange>
                                                <goals>
                                                    <goal>run</goal>
                                                    <goal>properties-augmentation</goal>
                                                    <goal>licenses-file-rename</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <ignore></ignore>
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.codehaus.mojo</groupId>
                                                <artifactId>flatten-maven-plugin</artifactId>
                                                <versionRange>1.0.1</versionRange>
                                                <goals>
                                                    <goal>flatten</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <ignore></ignore>
                                            </action>
                                        </pluginExecution>
                                        <pluginExecution>
                                            <pluginExecutionFilter>
                                                <groupId>org.codehaus.mojo</groupId>
                                                <artifactId>exec-maven-plugin</artifactId>
                                                <versionRange>[1.3.2,)</versionRange>
                                                <goals>
                                                    <goal>java</goal>
                                                    <goal>default</goal>
                                                </goals>
                                            </pluginExecutionFilter>
                                            <action>
                                                <ignore></ignore>
                                            </action>
                                        </pluginExecution>
                                    </pluginExecutions>
                                </lifecycleMappingMetadata>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>
</project>
