blob: 46a5f463c67826a8e98ad676b93c2ad651a03e31 [file] [log] [blame]
<?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.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>2.22.0</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.14.RELEASE</spring.data.version> <!-- don't forget to update spring version -->
<spring.version>4.3.18.RELEASE</spring.version><!-- don't forget to update spring-data version -->
<spring.data-2.0.version>2.0.9.RELEASE</spring.data-2.0.version> <!-- don't forget to update spring-5.0 version -->
<spring-5.0.version>5.0.8.RELEASE</spring-5.0.version><!-- don't forget to update spring-data-2.0 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>
<!-- 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-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>dsetrakyan</id>
<name>Dmitriy Setrakyan</name>
<email>dsetrakyan at apache dot org</email>
</developer>
<developer>
<id>agoncharuk</id>
<name>Alexey Goncharuk</name>
<email>agoncharuk at apache dot org</email>
</developer>
<developer>
<id>vkulichenko</id>
<name>Valentin Kulichenko</name>
<email>vkulichenko at apache dot org</email>
</developer>
<developer>
<id>svladykin</id>
<name>Sergi Vladykin</name>
<email>sergi dot vladykin at gmail dot com</email>
</developer>
<developer>
<id>yzhdanov</id>
<name>Yakov Zhdanov</name>
<email>yzhdanov at apache dot org</email>
</developer>
<developer>
<id>sboikov</id>
<name>Semyon Boikov</name>
<email>sboikov at gridgain dot com</email>
</developer>
<developer>
<id>vozerov</id>
<name>Vladimir Ozerov</name>
<email>vozerov at gridgain dot com</email>
</developer>
<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.11</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>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.3.2</version>
<configuration>
<jvmArgs>
<jvmArg>-Xms512m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</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>
<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>${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>
<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>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>File System APIs</title>
<packages>org.apache.ignite.igfs*</packages>
</group>
<group>
<title>Hadoop Accelerator APIs</title>
<packages>org.apache.ignite.hadoop*</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>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>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>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>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>Ignite ML</title>
<packages>org.apache.ignite.ml*</packages>
</group>
<group>
<title>Ignite TensorFlow</title>
<packages>org.apache.ignite.tensorflow*</packages>
</group>
<group>
<title>Encryption SPI</title>
<packages>org.apache.ignite.spi.encryption*</packages>
</group>
<group>
<title>Ignite Web Console</title>
<packages>org.apache.ignite.console*</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>
</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>3.0.0-M3</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.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>
</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 -->
<!--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>3.0.0-M3</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>
<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>
</profiles>
</project>