blob: 4b9cd6db98944613ee15f87e2fa31a05c7bc447f [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>23</version>
</parent>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<revision>2.13.0-SNAPSHOT</revision>
<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>
<netty.version>4.1.66.Final</netty.version>
<camel.version>2.22.0</camel.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>5.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>
<jaxb.api.version>2.1</jaxb.api.version>
<jaxb.impl.version>2.1.14</jaxb.impl.version>
<javassist.version>3.28.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.1.15</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.17.1</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>
<maven.model.version>3.8.4</maven.model.version>
<checkstyle.puppycrawl.version>8.45</checkstyle.puppycrawl.version>
<mockito.version>3.4.6</mockito.version>
<mysql.connector.version>8.0.26</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.3.3</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.33</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.7.0</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>${project.groupId}</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>Memory allocator APIs</title>
<packages>org.apache.ignite.mem</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>
<group>
<title>Calcite-based SQL engine</title>
<packages>org.apache.ignite.calcite</packages>
</group>
<group>
<title>Ignite-indexing SQL engine</title>
<packages>org.apache.ignite.indexing</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>${project.groupId}</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>
<requireMavenVersion>
<version>[3.5.0,)</version>
</requireMavenVersion>
</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>${project.groupId}</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/apache/ignite/internal/processors/query/calcite/sql/generated/*.java</exclude><!--auto generated files-->
<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>
<!--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>**/CMakeSettings.json.in</exclude>
<exclude>**/cmake-build-*/</exclude>
<exclude>**/.idea/**</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>**/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>**/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>
<!-- Calcite test scripts -->
<exclude>src/test/sql/**</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,15)</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>java-15+</id>
<activation>
<jdk>[15,)</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
<scala.library.version>2.12.15</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>
<arg>--add-exports</arg>
<arg>java.base/java.io=ALL-UNNAMED</arg>
<arg>--add-exports</arg>
<arg>java.base/java.nio=ALL-UNNAMED</arg>
<arg>--add-exports</arg>
<arg>java.base/java.util=ALL-UNNAMED</arg>
<arg>--add-exports</arg>
<arg>java.base/java.lang=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>tools.jar-default</id>
<activation>
<file>
<exists>${java.home}/../lib/tools.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<version>${java.version}</version>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>tools.jar-mac</id>
<activation>
<file>
<exists>${java.home}/../Classes/classes.jar</exists>
</file>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<scope>system</scope>
<version>${java.version}</version>
<systemPath>${java.home}/../Classes/classes.jar</systemPath>
</dependency>
</dependencies>
</profile>
<profile>
<id>licenses</id>
<dependencies>
<dependency>
<groupId>${project.groupId}</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>${project.groupId}: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>