<?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/xsd/maven-4.0.0.xsd">
      
    <modelVersion>4.0.0</modelVersion>
      
    <parent>
            
        <groupId>io.vertx</groupId>
            
        <artifactId>vertx-ext-parent</artifactId>
            
        <version>38</version>
          
    </parent>
      
    <artifactId>vertx-hazelcast</artifactId>
      
    <version>3.9.11</version>
      
    <name>Vert.x Hazelcast Cluster Manager</name>
      
    <properties>
            
        <stack.version>3.9.11</stack.version>
            
        <asciidoc.dir>${project.basedir}/src/main/asciidoc</asciidoc.dir>
            
        <hazelcast.version>3.12.2</hazelcast.version>
            
        <hazelcast-kubernetes.version>1.5.1</hazelcast-kubernetes.version>
            
        <skipUnitTests>${skipTests}</skipUnitTests>
          
    </properties>
      
    <dependencyManagement>
            
        <dependencies>
                  
            <dependency>
                        
                <groupId>io.vertx</groupId>
                        
                <artifactId>vertx-dependencies</artifactId>
                        
                <version>${stack.version}</version>
                        
                <type>pom</type>
                        
                <scope>import</scope>
                      
            </dependency>
                
        </dependencies>
          
    </dependencyManagement>
      
    <dependencies>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-core</artifactId>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-health-check</artifactId>
                  
            <optional>true</optional>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-web</artifactId>
                  
            <optional>true</optional>
                
        </dependency>
            
        <dependency>
                  
            <groupId>com.hazelcast</groupId>
                  
            <artifactId>hazelcast</artifactId>
                  
            <version>${hazelcast.version}</version>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-docgen</artifactId>
                  
            <scope>provided</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-codetrans</artifactId>
                  
            <scope>provided</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>junit</groupId>
                  
            <artifactId>junit</artifactId>
                  
            <version>4.13.1</version>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-core</artifactId>
                  
            <type>test-jar</type>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-web</artifactId>
                  
            <version>${project.version}</version>
                  
            <type>test-jar</type>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-service-discovery</artifactId>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-service-proxy</artifactId>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-service-discovery</artifactId>
                  
            <version>${project.version}</version>
                  
            <type>test-jar</type>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.assertj</groupId>
                  
            <artifactId>assertj-core</artifactId>
                  
            <version>3.3.0</version>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>com.jayway.awaitility</groupId>
                  
            <artifactId>awaitility</artifactId>
                  
            <version>1.7.0</version>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>com.hazelcast</groupId>
                  
            <artifactId>hazelcast-client</artifactId>
                  
            <version>${hazelcast.version}</version>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>ch.qos.logback</groupId>
                  
            <artifactId>logback-classic</artifactId>
                  
            <version>1.1.7</version>
                  
            <scope>test</scope>
                
        </dependency>
          
    </dependencies>
      
    <build>
            
        <pluginManagement>
                  
            <plugins>
                        
                <plugin>
                              
                    <groupId>org.bsc.maven</groupId>
                              
                    <artifactId>maven-processor-plugin</artifactId>
                              
                    <executions>
                                    
                        <execution>
                                          
                            <id>generate-sources</id>
                                          
                            <configuration>
                                                
                                <optionMap>
                                                      
                                    <hazelcast.version>${hazelcast.version}</hazelcast.version>
                                                    
                                </optionMap>
                                              
                            </configuration>
                                        
                        </execution>
                                  
                    </executions>
                            
                </plugin>
                        
                <plugin>
                              
                    <artifactId>maven-surefire-plugin</artifactId>
                              
                    <configuration>
                                    
                        <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
                                    
                        <systemPropertyVariables>
                                          
                            <io.netty.leakDetectionLevel>PARANOID</io.netty.leakDetectionLevel>
                                          
                            <buildDirectory>${project.build.directory}</buildDirectory>
                                          
                            <vertxVersion>${project.version}</vertxVersion>
                                          
                            <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                                          
                            <vertx.logger-delegate-factory-class-name>io.vertx.core.logging.SLF4JLogDelegateFactory</vertx.logger-delegate-factory-class-name>
                                          
                            <hazelcast.logging.type>slf4j</hazelcast.logging.type>
                                        
                        </systemPropertyVariables>
                                    
                        <!-- Needs to be small enough to run in a EC2 1.7GB small instance -->
                                    
                        <argLine>-Xmx1200M</argLine>
                                    
                        <forkCount>1</forkCount>
                                    
                        <reuseForks>true</reuseForks>
                                  
                    </configuration>
                            
                </plugin>
                        
                <plugin>
                              
                    <artifactId>maven-failsafe-plugin</artifactId>
                              
                    <version>2.19.1</version>
                              
                    <configuration>
                                    
                        <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
                                    
                        <systemPropertyVariables>
                                          
                            <io.netty.leakDetectionLevel>PARANOID</io.netty.leakDetectionLevel>
                                          
                            <buildDirectory>${project.build.directory}</buildDirectory>
                                          
                            <vertxVersion>${project.version}</vertxVersion>
                                          
                            <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                                          
                            <vertx.logger-delegate-factory-class-name>io.vertx.core.logging.SLF4JLogDelegateFactory</vertx.logger-delegate-factory-class-name>
                                          
                            <hazelcast.logging.type>slf4j</hazelcast.logging.type>
                                        
                        </systemPropertyVariables>
                                    
                        <!-- Needs to be small enough to run in a EC2 1.7GB small instance -->
                                    
                        <argLine>-Xmx1200M</argLine>
                                    
                        <forkCount>1</forkCount>
                                    
                        <reuseForks>true</reuseForks>
                                  
                    </configuration>
                            
                </plugin>
                      
            </plugins>
                
        </pluginManagement>
            
        <plugins>
                  
            <plugin>
                        
                <artifactId>maven-surefire-plugin</artifactId>
                        
                <configuration>
                              
                    <skipTests>${skipUnitTests}</skipTests>
                              
                    <excludes>
                                    
                        <exclude>**/it/**/*Test.java</exclude>
                                  
                    </excludes>
                            
                </configuration>
                      
            </plugin>
                  
            <plugin>
                        
                <groupId>biz.aQute.bnd</groupId>
                        
                <artifactId>bnd-maven-plugin</artifactId>
                        
                <version>3.2.0</version>
                        
                <executions>
                              
                    <execution>
                                    
                        <id>default-bnd-process</id>
                                    
                        <goals>
                                          
                            <goal>bnd-process</goal>
                                        
                        </goals>
                                  
                    </execution>
                            
                </executions>
                        
                <configuration>
                              
                    <bnd><![CDATA[
          Import-Package: \
	          *
	        -exportcontents: !*impl, !examples, *
          ]]></bnd>
                            
                </configuration>
                      
            </plugin>
                  
            <plugin>
                        
                <artifactId>maven-jar-plugin</artifactId>
                        
                <configuration>
                              
                    <archive>
                                    
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                                  
                    </archive>
                            
                </configuration>
                      
            </plugin>
                  
            <plugin>
                        
                <artifactId>maven-failsafe-plugin</artifactId>
                        
                <executions>
                              
                    <execution>
                                    
                        <id>lite-members</id>
                                    
                        <goals>
                                          
                            <goal>integration-test</goal>
                                          
                            <goal>verify</goal>
                                        
                        </goals>
                                    
                        <phase>integration-test</phase>
                                    
                        <configuration>
                                          
                            <includes>
                                                
                                <include>**/it/litemembers/*Test.java</include>
                                              
                            </includes>
                                        
                        </configuration>
                                  
                    </execution>
                            
                </executions>
                      
            </plugin>
                
        </plugins>
          
    </build>
      
    <profiles>
            
        <profile>
                  
            <id>coverage</id>
                  
            <build>
                        
                <pluginManagement>
                              
                    <plugins>
                                    
                        <plugin>
                                          
                            <artifactId>maven-surefire-plugin</artifactId>
                                          
                            <configuration>
                                                
                                <failIfNoSpecifiedTests>false</failIfNoSpecifiedTests>
                                                
                                <systemPropertyVariables>
                                                      
                                    <io.netty.leakDetectionLevel>PARANOID</io.netty.leakDetectionLevel>
                                                      
                                    <buildDirectory>${project.build.directory}</buildDirectory>
                                                      
                                    <vertxVersion>${project.version}</vertxVersion>
                                                      
                                    <java.net.preferIPv4Stack>true</java.net.preferIPv4Stack>
                                                    
                                </systemPropertyVariables>
                                                
                                <!-- Needs to be small enough to run in a EC2 1.7GB small instance -->
                                                
                                <!-- append computed argLine computed by jacoco -->
                                                
                                <argLine>-Xmx1200M</argLine>
                                                
                                <forkCount>1</forkCount>
                                                
                                <reuseForks>true</reuseForks>
                                              
                            </configuration>
                                        
                        </plugin>
                                  
                    </plugins>
                            
                </pluginManagement>
                      
            </build>
                
        </profile>
          
    </profiles>
    
</project>
