<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.hazelcast</groupId>
  <artifactId>hazelcast-java-client</artifactId>
  <name>Hazelcast Java Client</name>
  <version>5.5.0-BETA</version>
  <description>Hazelcast Java Client</description>
  <url>http://www.hazelcast.com/</url>
  <issueManagement>
    <system>Github</system>
    <url>https://github.com/hazelcast/hazelcast-java-client/issues</url>
  </issueManagement>
  <developers>
    <developer>
      <id>hazelcast-team</id>
      <name>Hazelcast team</name>
      <email>info@hazelcast.com</email>
      <organization>Hazelcast, Inc.</organization>
      <organizationUrl>https://hazelcast.com</organizationUrl>
    </developer>
  </developers>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:git://github.com/hazelcast/hazelcast-java-client.git</connection>
    <developerConnection>scm:git:git@github.com:hazelcast/hazelcast-java-client.git</developerConnection>
    <url>https://github.com/hazelcast/hazelcast-java-client/</url>
  </scm>
  <organization>
    <name>Hazelcast, Inc.</name>
    <url>http://www.hazelcast.com/</url>
  </organization>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven.shade.plugin.version}</version>
          <configuration>
            <filters>
              <filter>
                <artifact>*:*</artifact>
                <excludes>
                  <exclude>module-info.class</exclude>
                  <exclude>META-INF/versions/9/module-info.class</exclude>
                  <exclude>THIRD-PARTY.txt</exclude>
                  <exclude>LICENSE</exclude>
                  <exclude>NOTICE</exclude>
                  <exclude>META-INF/*.SF</exclude>
                  <exclude>META-INF/*.DSA</exclude>
                  <exclude>META-INF/*.RSA</exclude>
                  <exclude>META-INF/LICENSE</exclude>
                  <exclude>META-INF/MANIFEST.MF</exclude>
                  <exclude>META-INF/DEPENDENCIES</exclude>
                  <exclude>overview.html</exclude>
                </excludes>
              </filter>
            </filters>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.jar.plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <legacyMode>true</legacyMode>
          <detectJavaApiLink>false</detectJavaApiLink>
          <maxmemory>1024</maxmemory>
          <excludePackageNames>${maven.javadoc.plugin.excludePackageNames}</excludePackageNames>
          <doclint>-missing</doclint>
        </configuration>
      </plugin>
      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>${maven.git.commit.id.plugin.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>revision</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <useNativeGit>false</useNativeGit>
          <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <abbrevLength>7</abbrevLength>
          <gitDescribe>
            <skip>true</skip>
          </gitDescribe>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven.source.plugin.version}</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <forceCreation>true</forceCreation>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-maven-plugin</artifactId>
        <version>${kotlin.version}</version>
        <executions>
          <execution>
            <id>test-compile</id>
            <goals>
              <goal>test-compile</goal>
            </goals>
            <configuration>
              <sourceDirs>
                <sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
              </sourceDirs>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>${maven.assembly.plugin.version}</version>
        <executions>
          <execution>
            <id>usercodedeployment-entry-processor-with-anonymous-and-inner</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <attach>false</attach>
              <outputDirectory>${project.build.directory}/EntryProcessorWithAnonymousAndInner</outputDirectory>
              <descriptors>
                <descriptor>${project.basedir}/src/test/assembly/usercodedeployment-entry-processor-with-anonymous-and-inner.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-incrementing-entry-processor</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <attach>false</attach>
              <outputDirectory>${project.build.directory}/IncrementingEntryProcessor</outputDirectory>
              <descriptors>
                <descriptor>${project.basedir}/src/test/assembly/usercodedeployment-incrementing-entry-processor.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-incrementing-entry-processor-conflicting</id>
            <phase>process-test-classes</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <attach>false</attach>
              <outputDirectory>${project.build.directory}/IncrementingEntryProcessorConflicting</outputDirectory>
              <descriptors>
                <descriptor>${project.basedir}/src/test/assembly/usercodedeployment-incrementing-entry-processor-conflicting.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <phase>test-compile</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <excludes>
                <exclude>**/*.serialization.compatibility.binary</exclude>
              </excludes>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
            </manifest>
            <manifestEntries>
              <Automatic-Module-Name>com.hazelcast.client</Automatic-Module-Name>
            </manifestEntries>
          </archive>
          <excludes>
            <exclude>**/*.html</exclude>
            <exclude>**/*.sh</exclude>
            <exclude>**/*.bat</exclude>
            <exclude>META-INF/services/javax.annotation.processing.Processor</exclude>
          </excludes>
          <forceCreation>true</forceCreation>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <finalName>${project.build.finalName}</finalName>
              <createSourcesJar>true</createSourcesJar>
              <shadeSourcesContent>true</shadeSourcesContent>
              <shadeTestJar>true</shadeTestJar>
              <artifactSet>
                <excludes>
                  <exclude>com.fasterxml.jackson.core:jackson-annotations</exclude>
                </excludes>
              </artifactSet>
              <relocations>
                <relocation>
                  <pattern>com.fasterxml.jackson</pattern>
                  <shadedPattern>${relocation.root}.com.fasterxml.jackson</shadedPattern>
                  <excludes>
                    <exclude>com.fasterxml.jackson.annotation.*</exclude>
                  </excludes>
                </relocation>
                <relocation>
                  <pattern>org.snakeyaml</pattern>
                  <shadedPattern>${relocation.root}.org.snakeyaml</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.jctools</pattern>
                  <shadedPattern>${relocation.root}.org.jctools</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>io.github.classgraph</pattern>
                  <shadedPattern>${relocation.root}.io.github.classgraph</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>nonapi.io.github.classgraph</pattern>
                  <shadedPattern>${relocation.root}.nonapi.io.github.classgraph</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.everit.json.schema</pattern>
                  <shadedPattern>${relocation.root}.org.everit.json.schema</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.json</pattern>
                  <shadedPattern>${relocation.root}.org.json</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>org.objenesis</pattern>
                  <shadedPattern>${relocation.root}.org.objenesis</shadedPattern>
                </relocation>
                <relocation>
                  <pattern>com.zaxxer.hikari</pattern>
                  <shadedPattern>${relocation.root}.com.zaxxer.hikari</shadedPattern>
                </relocation>
              </relocations>
              <transformers>
                <transformer />
                <transformer />
              </transformers>
              <filters>
                <filter>
                  <artifact>org.jctools:jctools-core</artifact>
                  <includes>
                    <include>org/jctools/queues/*</include>
                    <include>org/jctools/util/*</include>
                  </includes>
                </filter>
                <filter>
                  <artifact>com.fasterxml.jackson.core:*</artifact>
                  <excludes>
                    <exclude>META-INF/MANIFEST.MF</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>org.*:*</artifact>
                  <excludes>
                    <exclude>META-INF/MANIFEST.MF</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>io.github.classgraph:*</artifact>
                  <excludes>
                    <exclude>META-INF/MANIFEST.MF</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>com.github.erosb:*</artifact>
                  <excludes>
                    <exclude>META-INF/MANIFEST.MF</exclude>
                  </excludes>
                </filter>
                <filter>
                  <artifact>*:*</artifact>
                  <excludes>
                    <exclude>**/module-info.class</exclude>
                  </excludes>
                </filter>
              </filters>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${maven.bundle.plugin.version}</version>
        <executions>
          <execution>
            <id>bundle-manifest</id>
            <phase>package</phase>
            <goals>
              <goal>manifest</goal>
            </goals>
            <configuration>
              <instructions>
                <Bundle-Activator>com.hazelcast.client.osgi.impl.Activator</Bundle-Activator>
                <Export-Package>com.hazelcast.*</Export-Package>
                <Import-Package>!org.junit,
                                    !com.hazelcast.*,
                                    !com.fasterxml.jackson.*,
                                    !com.zaxxer.hikari.*,
                                    !org.snakeyaml.*,
                                    !io.github.classgraph.*,
                                    !org.everit.json.*,
                                    !org.json.*,
                                    !org.objenesis.*,
                                    sun.misc;resolution:=optional,
                                    javax.cache;resolution:=optional,
                                    javax.cache.*;resolution:=optional,
                                    org.apache.log4j;resolution:=optional,
                                    org.apache.log4j.spi;resolution:=optional,
                                    org.apache.logging.log4j;resolution:=optional,
                                    org.apache.logging.log4j.spi;resolution:=optional,
                                    org.slf4j;resolution:=optional,
                                    org.codehaus.groovy.jsr223;resolution:=optional,
                                    com.damnhandy.uri.template;resolution:=optional,
                                    org.apache.commons.validator.routines;resolution:=optional,
                                    com.google.re2j;resolution:=optional,
                                    com.codahale.metrics;resolution:=optional,
                                    com.codahale.metrics.health;resolution:=optional,
                                    io.micrometer.core.instrument;resolution:=optional,
                                    io.prometheus.client;resolution:=optional,
                                    javassist;resolution:=optional,
                                    javassist.bytecode;resolution:=optional,
                                    org.hibernate;resolution:=optional,
                                    org.hibernate.engine.jdbc.connections.spi;resolution:=optional,
                                    org.hibernate.service;resolution:=optional,
                                    org.hibernate.service.spi;resolution:=optional,
                                    net.openhft.affinity;resolution:=optional,
                                    jakarta.jms;resolution:=optional,
                                    org.osgi.framework;resolution:=optional,
                                    *</Import-Package>
                <Bundle-Name>Hazelcast(Core)</Bundle-Name>
                <Embed-Transitive>true</Embed-Transitive>
              </instructions>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>${maven.antrun.plugin.version}</version>
        <executions>
          <execution>
            <id>copy-hazelcast-xml</id>
            <phase>generate-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <copy />
                <copy />
                <copy />
                <copy />
              </target>
            </configuration>
          </execution>
          <execution>
            <id>copy-and-fill-hazelcast-assembly-xml</id>
            <phase>process-resources</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <copy>
                  <fileset>
                    <include />
                  </fileset>
                  <globmapper />
                  <filterset>
                    <filter />
                    <filter />
                    <filter />
                  </filterset>
                </copy>
                <copy>
                  <fileset>
                    <include />
                  </fileset>
                  <globmapper />
                  <filterset>
                    <filter />
                    <filter />
                    <filter />
                  </filterset>
                </copy>
              </target>
            </configuration>
          </execution>
          <execution>
            <id>repack</id>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <unzip />
                <copy />
                <jar />
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>${maven-resources-plugin.version}</version>
        <executions>
          <execution>
            <phase>process-sources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <resources>
                <resource>
                  <directory>src/main/template</directory>
                  <includes>
                    <include>**/*.java</include>
                  </includes>
                  <filtering>true</filtering>
                </resource>
              </resources>
              <outputDirectory>src/main/java</outputDirectory>
              <overwrite>true</overwrite>
            </configuration>
          </execution>
          <execution>
            <id>add-notice-and-license</id>
            <phase>process-classes</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.3.2</version>
        <executions>
          <execution>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
            <configuration>
              <filesets>
                <fileset>
                  <directory>src/main/java</directory>
                  <includes>
                    <include>**/GeneratedBuildProperties.java</include>
                  </includes>
                </fileset>
              </filesets>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
        <executions>
          <execution>
            <id>usercodedeployment-sample</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/sample</compileSourceRoots>
              <outputDirectory>${project.build.directory}/sample</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-child-parent</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/ChildParent</compileSourceRoots>
              <outputDirectory>${project.build.directory}/ChildParent</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-entry-processor-with-anonymous-and-inner</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/EntryProcessorWithAnonymousAndInner</compileSourceRoots>
              <outputDirectory>${project.build.directory}/EntryProcessorWithAnonymousAndInner</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-incrementing-entry-processor</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/IncrementingEntryProcessor</compileSourceRoots>
              <outputDirectory>${project.build.directory}/IncrementingEntryProcessor</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-incrementing-entry-processor-conflicting</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/IncrementingEntryProcessorConflicting</compileSourceRoots>
              <outputDirectory>${project.build.directory}/IncrementingEntryProcessorConflicting</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>usercodedeployment-shaded-classes</id>
            <goals>
              <goal>testCompile</goal>
            </goals>
            <configuration>
              <compileSourceRoots>${project.basedir}/src/test/class/ShadedClasses</compileSourceRoots>
              <outputDirectory>${project.build.directory}/ShadedClasses</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${maven.checkstyle.plugin.version}</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>checkstyle</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <configLocation>${checkstyle.configLocation}</configLocation>
          <suppressionsLocation>${checkstyle.supressionsLocation}</suppressionsLocation>
          <headerLocation>${checkstyle.headerLocation}</headerLocation>
          <linkXRef>false</linkXRef>
          <consoleOutput>true</consoleOutput>
          <failsOnError>true</failsOnError>
          <failOnViolation>true</failOnViolation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <enableRulesSummary>true</enableRulesSummary>
          <propertyExpansion>main.basedir=${main.basedir}</propertyExpansion>
          <excludes>**/module-info.java</excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>code-coverage</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>${jacoco-maven-plugin.version}</version>
            <executions>
              <execution>
                <goals>
                  <goal>prepare-agent</goal>
                </goals>
              </execution>
              <execution>
                <id>report</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <excludes>
                <exclude>com/hazelcast/nio/ssl/*</exclude>
              </excludes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>default-arg-line</id>
      <properties />
    </profile>
    <profile>
      <id>integration-tests</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.7.1</version>
            <executions>
              <execution>
                <id>copy</id>
                <phase>compile</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>com.hazelcast</groupId>
                  <artifactId>hazelcast-remote-controller</artifactId>
                  <version>0.8-SNAPSHOT</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                  <outputDirectory>${project.build.directory}/test-artifacts</outputDirectory>
                  <destFileName>hazelcast-remote-controller.jar</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>com.hazelcast</groupId>
                  <artifactId>hazelcast</artifactId>
                  <version>${test.hazelcast-server.version}</version>
                  <type>test-jar</type>
                  <overWrite>false</overWrite>
                  <outputDirectory>${project.build.directory}/test-artifacts</outputDirectory>
                  <destFileName>hazelcast-tests.jar</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>com.hazelcast</groupId>
                  <artifactId>hazelcast</artifactId>
                  <version>${test.hazelcast-server.version}</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                  <outputDirectory>${project.build.directory}/test-artifacts</outputDirectory>
                  <destFileName>hazelcast.jar</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>com.hazelcast</groupId>
                  <artifactId>hazelcast-enterprise</artifactId>
                  <version>${test.hazelcast-server.version}</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                  <outputDirectory>${project.build.directory}/test-artifacts</outputDirectory>
                  <destFileName>hazelcast-enterprise.jar</destFileName>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.directory}/test-artifacts</outputDirectory>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
            </configuration>
          </plugin>
          <plugin>
            <groupId>com.bazaarvoice.maven.plugins</groupId>
            <artifactId>process-exec-maven-plugin</artifactId>
            <version>0.9</version>
            <executions>
              <execution>
                <id>remote-controller</id>
                <phase>test-compile</phase>
                <goals>
                  <goal>start</goal>
                </goals>
                <configuration>
                  <name>remote-controller</name>
                  <workingDir>../target/test-artifacts</workingDir>
                  <waitForInterrupt>false</waitForInterrupt>
                  <processLogFile>${project.build.directory}/server_log.txt</processLogFile>
                  <arguments>
                    <argument>java</argument>
                    <argument>-cp</argument>
                    <argument>${test.classpath}</argument>
                    <argument>-Djava.security.krb5.conf=${project.basedir}/src/test/resources/krb5.conf</argument>
                    <argument>-Dhazelcast.phone.home.enabled=false</argument>
                    <argument>-Dhazelcast.logging.details.enabled=true</argument>
                    <argument>com.hazelcast.remotecontroller.Main</argument>
                    <argument>--use-simple-server</argument>
                  </arguments>
                </configuration>
              </execution>
              <execution>
                <id>stop-all</id>
                <phase>package</phase>
                <goals>
                  <goal>stop-all</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven.surefire.plugin.version}</version>
            <configuration>
              <systemPropertyVariables>
                <hazelcast.test.server.version>${test.hazelcast-server.version}</hazelcast.test.server.version>
              </systemPropertyVariables>
              <argLine>${argLine}
                                ${vmHeapSettings}
                                ${javaModuleArgs}
                                ${extraVmArgs}</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>windows</id>
      <properties>
        <test.classpath>hazelcast-remote-controller.jar;hazelcast.jar;..\test-classes\jars\testsubjects.jar;..\test-classes\jars\test.jar</test.classpath>
      </properties>
    </profile>
    <profile>
      <id>unix</id>
      <properties>
        <test.classpath>hazelcast-remote-controller.jar:hazelcast.jar:../test-classes/jars/testsubjects.jar:../test-classes/jars/test.jar:</test.classpath>
      </properties>
    </profile>
    <profile>
      <id>windows-ent</id>
      <properties>
        <test.classpath>hazelcast-remote-controller.jar;hazelcast-enterprise.jar;..\test-classes\jars\testsubjects.jar;..\test-classes\jars\test.jar;</test.classpath>
      </properties>
    </profile>
    <profile>
      <id>unix-ent</id>
      <properties>
        <test.classpath>hazelcast-remote-controller.jar:hazelcast-enterprise.jar:../test-classes/jars/testsubjects.jar:../test-classes/jars/test.jar:</test.classpath>
      </properties>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${maven.gpg.plugin.version}</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <gpgArguments>
                <gpgArgument>--pinentry-mode</gpgArgument>
                <gpgArgument>loopback</gpgArgument>
              </gpgArguments>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>${nexus.staging.plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>release-repository</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>true</autoReleaseAfterClose>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <repositories>
    <repository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots />
      <id>snapshot-repository</id>
      <name>Maven2 Snapshot Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
    <repository>
      <releases />
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>hazelcast-private-repository</id>
      <name>Hazelcast Private Repository</name>
      <url>https://repository.hazelcast.com/release/</url>
    </repository>
    <repository>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots />
      <id>hazelcast-private-snapshot-repository</id>
      <name>Hazelcast Private Repository</name>
      <url>https://repository.hazelcast.com/snapshot/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>3.0.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>annotations</artifactId>
      <version>3.0.1u2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>2.0.12</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>net.openhft</groupId>
      <artifactId>affinity</artifactId>
      <version>3.23.3</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.reflections</groupId>
      <artifactId>reflections</artifactId>
      <version>0.10.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>slf4j-simple</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>javassist</artifactId>
          <groupId>org.javassist</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>ch.qos.reload4j</groupId>
      <artifactId>reload4j</artifactId>
      <version>1.2.25</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.23.0</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.23.0</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>com.hazelcast</groupId>
      <artifactId>hazelcast-remote-controller</artifactId>
      <version>0.8-SNAPSHOT</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>hamcrest-core</artifactId>
          <groupId>org.hamcrest</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>5.10.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
        <exclusion>
          <artifactId>byte-buddy-agent</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <version>1.19.6</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>commons-compress</artifactId>
          <groupId>org.apache.commons</groupId>
        </exclusion>
        <exclusion>
          <artifactId>duct-tape</artifactId>
          <groupId>org.rnorth.duct-tape</groupId>
        </exclusion>
        <exclusion>
          <artifactId>docker-java-api</artifactId>
          <groupId>com.github.docker-java</groupId>
        </exclusion>
        <exclusion>
          <artifactId>docker-java-transport-zerodep</artifactId>
          <groupId>com.github.docker-java</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>3.25.3</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>nl.jqno.equalsverifier</groupId>
      <artifactId>equalsverifier</artifactId>
      <version>3.15.7</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-interceptor-kerberos</artifactId>
      <version>2.0.0-M24</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>apacheds-core</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-core-api</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-i18n</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-kerberos-codec</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>api-asn1-api</artifactId>
          <groupId>org.apache.directory.api</groupId>
        </exclusion>
        <exclusion>
          <artifactId>api-ldap-model</artifactId>
          <groupId>org.apache.directory.api</groupId>
        </exclusion>
        <exclusion>
          <artifactId>api-util</artifactId>
          <groupId>org.apache.directory.api</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.directory.server</groupId>
      <artifactId>apacheds-test-framework</artifactId>
      <version>2.0.0-M24</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-core-annotations</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-protocol-kerberos</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-protocol-ldap</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-protocol-shared</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-server-annotations</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>api-ldap-codec-standalone</artifactId>
          <groupId>org.apache.directory.api</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-core-api</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apacheds-i18n</artifactId>
          <groupId>org.apache.directory.server</groupId>
        </exclusion>
        <exclusion>
          <artifactId>api-ldap-model</artifactId>
          <groupId>org.apache.directory.api</groupId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>${testcontainers.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <distributionManagement>
    <repository>
      <id>release-repository</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
    </repository>
    <snapshotRepository>
      <uniqueVersion>false</uniqueVersion>
      <id>snapshot-repository</id>
      <name>Maven2 Snapshot Repository</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>
  <properties>
    <wiremock.version>3.4.2</wiremock.version>
    <maven.bundle.plugin.version>5.1.9</maven.bundle.plugin.version>
    <maven.javadoc.plugin.version>3.6.3</maven.javadoc.plugin.version>
    <snakeyaml-engine.version>2.7</snakeyaml-engine.version>
    <slf4j.version>2.0.12</slf4j.version>
    <maven.antrun.plugin.version>3.1.0</maven.antrun.plugin.version>
    <equalsverifier.version>3.15.7</equalsverifier.version>
    <log4j.version>2.23.0</log4j.version>
    <commons-codec.version>1.16.1</commons-codec.version>
    <checkstyle.configLocation>${main.basedir}/checkstyle/checkstyle.xml</checkstyle.configLocation>
    <org.json.version>20231013</org.json.version>
    <testcontainers.version>1.19.6</testcontainers.version>
    <maven.javadoc.plugin.excludePackageNames>*.impl:*.impl.*:*.internal:*.internal.*:*.operations:*.proxy:
            com.hazelcast.aws.security:*.handlermigration:*.client.connection.nio:
            *.client.console:*.client.protocol.generator:*.cluster.client:
            *.concurrent:*.nio.ascii:*.nio.ssl:*.nio.tcp:*.partition.client:
            *.transaction.client:*.core.server:com.hazelcast.instance:com.hazelcast.PlaceHolder</maven.javadoc.plugin.excludePackageNames>
    <jdk.version>17</jdk.version>
    <jsr107.api.version>1.1.1</jsr107.api.version>
    <relocation.root>com.hazelcast.shaded</relocation.root>
    <hazelcast.distribution>Hazelcast</hazelcast.distribution>
    <activemq-artemis.version>2.32.0</activemq-artemis.version>
    <checkstyle.headerLocation>${main.basedir}/checkstyle/ClassHeaderApache.txt</checkstyle.headerLocation>
    <hazelcast.version>5.5.0</hazelcast.version>
    <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
    <maven.compiler.plugin.version>3.12.1</maven.compiler.plugin.version>
    <assertj.version>3.25.3</assertj.version>
    <atomikos.version>3.9.3</atomikos.version>
    <timestamp>${maven.build.timestamp}</timestamp>
    <target.dir>target</target.dir>
    <objenesis.version>3.3</objenesis.version>
    <mockito.version>5.10.0</mockito.version>
    <findbugs.annotations.version>3.0.1u2</findbugs.annotations.version>
    <maven.checkstyle.plugin.version>3.3.1</maven.checkstyle.plugin.version>
    <maven.assembly.plugin.version>3.7.1</maven.assembly.plugin.version>
    <maven.compiler.target>17</maven.compiler.target>
    <kotlin.version>1.9.22</kotlin.version>
    <checkstyle.supressionsLocation>${main.basedir}/checkstyle/suppressions.xml</checkstyle.supressionsLocation>
    <reflections.version>0.10.2</reflections.version>
    <maven.shade.plugin.version>3.5.2</maven.shade.plugin.version>
    <test.hazelcast-server.version>5.5.0</test.hazelcast-server.version>
    <maven.test.redirectTestOutputToFile>false</maven.test.redirectTestOutputToFile>
    <everit-json-schema.version>1.14.4</everit-json-schema.version>
    <maven.git.commit.id.plugin.version>2.1.10</maven.git.commit.id.plugin.version>
    <main.basedir>${project.basedir}</main.basedir>
    <junit.version>4.13.2</junit.version>
    <maven.gpg.plugin.version>3.2.5</maven.gpg.plugin.version>
    <classgraph.version>4.8.165</classgraph.version>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.jar.plugin.version>3.3.0</maven.jar.plugin.version>
    <hazelcast.serialization.version>1</hazelcast.serialization.version>
    <maven.surefire.plugin.version>3.2.5</maven.surefire.plugin.version>
    <maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
    <maven.source.plugin.version>3.3.0</maven.source.plugin.version>
    <reload4j.version>1.2.25</reload4j.version>
    <jsr305.version>3.0.2</jsr305.version>
    <vmHeapSettings>-Xms2g -Xmx2g</vmHeapSettings>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <javaModuleArgs>--add-exports java.base/jdk.internal.ref=ALL-UNNAMED
            --add-opens java.base/java.nio=ALL-UNNAMED
            --add-opens java.base/sun.nio.ch=ALL-UNNAMED
            --add-opens java.base/java.lang=ALL-UNNAMED
            --add-opens java.base/java.util=ALL-UNNAMED
            --add-opens java.base/java.util.concurrent=ALL-UNNAMED
            --add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED
            --add-opens java.management/sun.management=ALL-UNNAMED
            --add-exports jdk.management/com.ibm.lang.management.internal=ALL-UNNAMED</javaModuleArgs>
    <jacoco-maven-plugin.version>0.8.12</jacoco-maven-plugin.version>
    <affinity.version>3.23.3</affinity.version>
    <nexus.staging.plugin.version>1.7.0</nexus.staging.plugin.version>
  </properties>
</project>
