<?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>23</version>
    </parent>

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

        <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>
        <failIfNoTests>false</failIfNoTests>

        <!-- 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>
        <azure.sdk.version>12.0.0</azure.sdk.version>
        <netty.version>4.1.66.Final</netty.version>
        <camel.version>2.22.0</camel.version>
        <aws.encryption.sdk.version>1.3.2</aws.encryption.sdk.version>
        <bouncycastle.version>1.69</bouncycastle.version>
        <commons.beanutils.bundle.version>1.9.2_1</commons.beanutils.bundle.version>
        <commons.beanutils.version>1.9.4</commons.beanutils.version>
        <commons.codec.version>1.13</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>
        <commons.dbcp.version>1.4</commons.dbcp.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>
        <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>2.2</hamcrest.version>
        <httpclient.version>4.5.13</httpclient.version>
        <httpcore.version>4.4.14</httpcore.version>
        <jackson.version>2.12.4</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.1.0</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.39.v20210325</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.3.1-M1</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.1.1</maven.checkstyle.plugin.version>
        <checkstyle.puppycrawl.version>8.37</checkstyle.puppycrawl.version>
        <mockito.version>3.4.6</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>
        <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.version>4.3.26.RELEASE</spring.version>
        <spring-5.0.version>5.0.16.RELEASE</spring-5.0.version>
        <spring-5.2.version>5.2.3.RELEASE</spring-5.2.version>
        <spring41.osgi.feature.version>4.1.7.RELEASE_1</spring41.osgi.feature.version>
        <storm.version>1.1.1</storm.version>
        <surefire.version>3.0.0-M4</surefire.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>
        <commons.lang3.version>3.9</commons.lang3.version>
        <!--Spark 2.4 version support -->
        <spark24.hadoop.version>2.6.5</spark24.hadoop.version>
        <spark24.version>2.4.4</spark24.version>
        <ignite-kafka-ext.version>1.0.0</ignite-kafka-ext.version>

        <!-- Maven plugins versions -->
        <maven.javadoc.plugin.version>3.2.0</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-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>

    <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-checkstyle-plugin</artifactId>
                    <version>${maven.checkstyle.plugin.version}</version>
                    <configuration>
                        <skip>true</skip>
                        <sourceDirectories>
                            <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                            <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
                        </sourceDirectories>
                        <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>
                        <excludes>**/generated/**/*</excludes>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>com.puppycrawl.tools</groupId>
                            <artifactId>checkstyle</artifactId>
                            <version>${checkstyle.puppycrawl.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>scala-maven-plugin</artifactId>
                    <version>3.3.2</version>
                    <configuration>
                        <jvmArgs>
                            <jvmArg>-Xms512m</jvmArg>
                            <jvmArg>-Xmx1024m</jvmArg>
                        </jvmArgs>
                        <args>
                            <arg>-nobootcp</arg>
                        </args>
                    </configuration>
                    <executions>
                        <execution>
                            <id>scala-compile-first</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>add-source</goal>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>scala-test-compile</id>
                            <phase>process-test-resources</phase>
                            <goals>
                                <goal>testCompile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                </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>${project.version}</version>
                                </tagletArtifact>
                            </taglet>
                        </taglets>
                        <doctitle>Ignite ${project.version}</doctitle>
                        <windowtitle>Ignite ${project.version}</windowtitle>
                        <breakiterator>true</breakiterator>
                        <verbose>true</verbose>
                        <show>protected</show>
                        <use>true</use>
                        <author>false</author>
                        <version>false</version>
                        <additionalOptions>${javadoc.opts}</additionalOptions>
                        <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>Service Grid APIs</title>
                                <packages>org.apache.ignite.services</packages>
                            </group>
                            <group>
                                <title>Ignite Thin Client APIs</title>
                                <packages>org.apache.ignite.client</packages>
                            </group>
                            <group>
                                <title>Streaming APIs</title>
                                <packages>org.apache.ignite.streamer*:org.apache.ignite.stream*</packages>
                            </group>
                            <group>
                                <title>Security APIs</title>
                                <packages>org.apache.ignite.plugin.security:org.apache.ignite.ssl</packages>
                            </group>
                            <group>
                                <title>Maintenance APIs</title>
                                <packages>org.apache.ignite.maintenance</packages>
                            </group>
                            <group>
                                <title>MXBeans classes</title>
                                <packages>org.apache.ignite.mbean:org.apache.ignite.mxbean</packages>
                            </group>
                            <group>
                                <title>SPI: CheckPoint</title>
                                <packages>org.apache.ignite.spi.checkpoint*</packages>
                            </group>
                            <group>
                                <title>SPI: Collision</title>
                                <packages>org.apache.ignite.spi.collision*</packages>
                            </group>
                            <group>
                                <title>SPI: Indexing</title>
                                <packages>org.apache.ignite.spi.indexing*</packages>
                            </group>
                            <group>
                                <title>SPI: Load Balancing</title>
                                <packages>org.apache.ignite.spi.loadbalancing*</packages>
                            </group>
                            <group>
                                <title>SPI: Communication</title>
                                <packages>org.apache.ignite.spi.communication*</packages>
                            </group>
                            <group>
                                <title>SPI: Deployment</title>
                                <packages>org.apache.ignite.spi.deployment*</packages>
                            </group>
                            <group>
                                <title>SPI: Swap Space</title>
                                <packages>org.apache.ignite.spi.swapspace*</packages>
                            </group>
                            <group>
                                <title>SPI: Discovery</title>
                                <packages>org.apache.ignite.spi.discovery*</packages>
                            </group>
                            <group>
                                <title>SPI: Failover</title>
                                <packages>org.apache.ignite.spi.failover*</packages>
                            </group>
                            <group>
                                <title>SPI: Event Storage</title>
                                <packages>org.apache.ignite.spi.eventstorage*</packages>
                            </group>
                            <group>
                                <title>Communication Failure Detection</title>
                                <packages>org.apache.ignite.failure</packages>
                            </group>
                            <group>
                                <title>Segmentation Detection</title>
                                <packages>org.apache.ignite.plugin.segmentation</packages>
                            </group>
                            <group>
                                <title>Ignite plugin API</title>
                                <packages>org.apache.ignite.plugin*</packages>
                            </group>
                            <group>
                                <title>Logging</title>
                                <packages>org.apache.ignite.logger*</packages>
                            </group>
                            <group>
                                <title>Loaders</title>
                                <packages>org.apache.ignite.startup*</packages>
                            </group>
                            <group>
                                <title>Marshallers</title>
                                <packages>org.apache.ignite.marshaller*</packages>
                            </group>
                            <group>
                                <title>Ignite Binary Objects API</title>
                                <packages>org.apache.ignite.binary*</packages>
                            </group>
                            <group>
                                <title>Visor Plugins</title>
                                <packages>org.apache.ignite.visor.plugin</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>Kubernetes Integration</title>
                                <packages>org.apache.ignite.kubernetes*</packages>
                            </group>
                            <group>
                                <title>Platforms</title>
                                <packages>org.apache.ignite.platform*</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>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>Ignite ML</title>
                                <packages>org.apache.ignite.ml*</packages>
                            </group>
                            <group>
                                <title>Encryption SPI</title>
                                <packages>org.apache.ignite.spi.encryption*</packages>
                            </group>
                            <group>
                                <title>Metric SPI</title>
                                <packages>org.apache.ignite.spi.metric*</packages>
                            </group>
                            <group>
                                <title>System view SPI</title>
                                <packages>org.apache.ignite.spi.systemview*</packages>
                            </group>
                            <group>
                                <title>Tracing SPI</title>
                                <packages>org.apache.ignite.spi.tracing*</packages>
                            </group>
                            <group>
                                <title>Capture Data Change API</title>
                                <packages>org.apache.ignite.cdc*</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>${project.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>
                    <statelessTestsetInfoReporter implementation="org.apache.ignite.tools.surefire.TestSuiteAwareTestsetReporter"/>
                    <properties>
                        <property>
                            <name>listener</name>
                            <value>org.apache.ignite.tools.junit.JUnitTeamcityReporter</value>
                        </property>
                    </properties>
                    <includes>
                        <!-- Check all classes that may have any test. -->
                        <include>**/*.java</include>
                    </includes>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.ignite</groupId>
                        <artifactId>ignite-tools</artifactId>
                        <version>${project.version}</version>
                    </dependency>
                </dependencies>
            </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>
                <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.7.0-* or >= 1.8.0-u40.
                            </message>
                            <version>[1.7,1.8),[1.8.0-40,)</version>
                        </requireJavaVersion>
                    </rules>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-libs</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <excludeGroupIds>org.apache.ignite</excludeGroupIds>
                            <outputDirectory>target/libs</outputDirectory>
                            <includeScope>runtime</includeScope>
                            <excludeTransitive>true</excludeTransitive>
                        </configuration>
                    </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>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <executions>
                    <execution>
                        <id>style</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>validate</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>
                        <configuration>
                            <skip>false</skip>
                        </configuration>
                    </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>true</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>**/*DEVNOTES*.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 -->
                                        <exclude>**/id_rsa**</exclude>  <!--SSH-->
                                        <!--special excludes-->
                                        <exclude>.travis.yml</exclude>
                                        <exclude>.github/PULL_REQUEST_TEMPLATE.md</exclude>
                                        <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/*.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>**/*.cmake</exclude>
                                        <exclude>**/CMakeLists.txt</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/dotnet/Apache.Ignite.Core.Tests/Examples/ExpectedOutput/*.txt</exclude>
                                        <!--Packaging -->
                                        <exclude>packaging/**</exclude>
                                        <!-- Ignite Documentation-->
                                        <exclude>docs/_site/**</exclude>
                                        <exclude>docs/assets/images/**</exclude>
                                        <exclude>docs/Gemfile.lock</exclude>
                                        <exclude>docs/.jekyll-cache/**</exclude>
                                        <exclude>docs/_docs/images/**</exclude>
                                        <exclude>docs/Gemfile</exclude>
                                        <exclude>docs/assets/js/anchor.min.js</exclude><!-- Distributed under the MIT license. The original license header is badly formatted. -->
                                    </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>
                        <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>
            </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 --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --illegal-access=permit</argLine>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <!-- TODO https://issues.apache.org/jira/browse/IGNITE-13202 -->
                            <additionalOptions>${javadoc.opts} --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED</additionalOptions>
                            <detectJavaApiLink>false</detectJavaApiLink>
                        </configuration>
                    </plugin>
                </plugins>
            </build>

            <dependencyManagement>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-common</artifactId>
                        <exclusions>
                            <exclusion>
                                <!-- This dependency is not available with java 9.-->
                                <groupId>jdk.tools</groupId>
                                <artifactId>jdk.tools</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.hadoop</groupId>
                        <artifactId>hadoop-common</artifactId>
                        <type>test-jar</type>
                        <exclusions>
                            <exclusion>
                                <!-- This dependency is not available with java 9.-->
                                <groupId>jdk.tools</groupId>
                                <artifactId>jdk.tools</artifactId>
                            </exclusion>
                        </exclusions>
                    </dependency>
                </dependencies>
            </dependencyManagement>

        </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>${project.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:${project.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>
        <profile>
            <id>skip-docs</id>
            <properties>
                <maven.javadoc.skip>true</maven.javadoc.skip>
            </properties>
        </profile>
    </profiles>
</project>
