blob: 7f2af3df26c98767ccf0ea1cd326cd6b3df8adde [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.
-->
<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>
<relativePath/>
</parent>
<!--
NOTE:
The ignite-parent module is used as a shared pom between the Ignite internal submodules and the Ignite Extensions.
This parent module will be released each time a new Ignite release occurs, so, if you're adding a new
maven profile, plugin or dependency only for Ignite submodule in this scm use the `parent-internal`
maven project instead.
Also, please, use the maven `$project` substitution variables in this pom.xml carefully (e.g. `${project.version}`)
since for in the Ignite Extension projects they may be inlined the different values.
-->
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<revision>2.15.0-SNAPSHOT</revision>
<!-- Ignite version will be substituted with the flatten-maven-plugin and used as
a version dependency for Ignite extensions. -->
<ignite.version>${revision}</ignite.version>
<ignite.edition>apache-ignite</ignite.edition>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<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.79.Final</netty.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.15</commons.codec.version>
<commons.collections.version>3.2.2</commons.collections.version>
<commons.lang.version>2.6</commons.lang.version>
<commons.io.version>2.11.0</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.7</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.49.v20220914</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>
<log4j2.version>2.18.0</log4j2.version>
<lucene.bundle.version>7.4.0_1</lucene.bundle.version>
<lucene.version>8.11.2</lucene.version>
<lz4.version>1.8.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.flatten.plugin.version>1.2.7</maven.flatten.plugin.version>
<maven.flatten.file.name>pom-installed.xml</maven.flatten.file.name>
<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.30</mysql.connector.version>
<netlibjava.version>1.1.2</netlibjava.version>
<oro.bundle.version>2.0.8_6</oro.bundle.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>
<spring.version>5.2.22.RELEASE</spring.version>
<storm.version>1.1.1</storm.version>
<surefire.version>3.0.0-M4</surefire.version>
<tomcat.version>9.0.63</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.6.3</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>
<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>
<flattenMode>clean</flattenMode>
<ignite.platform.full.version>
${ignite.majorVersion}.${ignite.minorVersion}.${ignite.incrementalVersion}.${ignite.buildNumber}
</ignite.platform.full.version>
</properties>
<url>https://ignite.apache.org</url>
<description>Apache Ignite® is a Distributed Database For High-Performance Computing With In-Memory Speed.</description>
<scm>
<url>https://gitbox.apache.org/repos/asf/ignite.git</url>
<connection>scm:git:https://gitbox.apache.org/repos/asf/ignite.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/ignite.git</developerConnection>
<tag>HEAD</tag>
</scm>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://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>https://mail-archives.apache.org/mod_mbox/ignite-dev</archive>
</mailingList>
<mailingList>
<name>Ignite User List</name>
<subscribe>user-subscribe@ignite.apache.org</subscribe>
<unsubscribe>user-unsubscribe@ignite.apache.org</unsubscribe>
<post>user@ignites.apache.org</post>
<archive>https://mail-archives.apache.org/mod_mbox/ignite-user/</archive>
</mailingList>
</mailingLists>
<issueManagement>
<system>jira</system>
<url>https://issues.apache.org/jira/browse/IGNITE</url>
</issueManagement>
<ciManagement>
<system>teamcity</system>
<url>https://ci.ignite.apache.org/</url>
</ciManagement>
<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>
<!-- The source directories tag below is used to dynamically add the sources in case
additional build profiles are activated (combine.children="append" is used). -->
<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>
<!-- This configuration checkstyle files will be obtained from the 'ignite-checkstyle' resources. -->
<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>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ignite-checkstyle</artifactId>
<version>${ignite.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>${ignite.version}</version>
</tagletArtifact>
</taglet>
</taglets>
<doctitle>Ignite ${ignite.version}</doctitle>
<windowtitle>Ignite ${ignite.version}</windowtitle>
<breakiterator>true</breakiterator>
<verbose>true</verbose>
<show>protected</show>
<use>true</use>
<author>false</author>
<version>false</version>
<additionalOptions>${javadoc.opts}</additionalOptions>
<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>false</Embed-Dependency>
<Embed-Directory>lib</Embed-Directory>
<Embed-Transitive>false</Embed-Transitive>
<_failok>false</_failok>
<_invalidfilenames/>
</instructions>
</configuration>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ignite-tools</artifactId>
<version>${ignite.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.2</version>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>ignite-tools</artifactId>
<version>${ignite.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${maven.flatten.plugin.version}</version>
<executions>
<execution>
<id>flatten</id>
<configuration>
<flattenMode>oss</flattenMode>
<flattenedPomFilename>${maven.flatten.file.name}</flattenedPomFilename>
</configuration>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<!-- ensure proper cleanup before start -->
<execution>
<id>flatten.clean.before</id>
<configuration>
<flattenedPomFilename>${maven.flatten.file.name}</flattenedPomFilename>
</configuration>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<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>
</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>
<executions>
<!-- disable flattering for parent pom. -->
<execution>
<id>flatten</id>
<inherited>false</inherited>
<phase/>
</execution>
<execution>
<id>flatten-parent</id>
<inherited>false</inherited>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
<flattenedPomFilename>${maven.flatten.file.name}</flattenedPomFilename>
<pomElements>
<properties>resolve</properties>
</pomElements>
</configuration>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M2</version>
<configuration>
<rules>
<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>
<!-- Thin clients have the own versions format. We need to prepare required properties.-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<!--
This will create the following properties:
ignite.majorVersion, ignite.minorVersion, ignite.incrementalVersion
-->
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
<phase>validate</phase>
<configuration>
<propertyPrefix>ignite</propertyPrefix>
</configuration>
</execution>
<execution>
<id>thin-timestamp-property</id>
<goals>
<goal>timestamp-property</goal>
</goals>
<phase>validate</phase>
<configuration>
<name>ignite.buildNumber</name>
<!-- See: https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html -->
<pattern>yywwu</pattern>
</configuration>
</execution>
</executions>
</plugin>
<!-- Generate the OSGi MANIFEST.MF for this bundle. -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
</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>
<executions>
<execution>
<id>style</id>
<goals>
<goal>check</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</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>
<id>check-licenses</id>
<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>
<arg>--add-exports</arg>
<arg>java.base/java.lang.invoke=ALL-UNNAMED</arg>
<arg>--add-exports</arg>
<arg>java.sql/java.sql=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.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.math=ALL-UNNAMED
--add-opens=java.sql/java.sql=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>org.apache.ignite</groupId>
<artifactId>ignite-apache-license-gen</artifactId>
<version>1.4.0</version>
</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:1.4.0</resourceBundle>
</resourceBundles>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<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>skip-docs</id>
<properties>
<maven.javadoc.skip>true</maven.javadoc.skip>
</properties>
</profile>
</profiles>
</project>