<?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-zookeeper</artifactId>
      
    <version>4.1.5</version>
      
    <name>Vert.x Zookeeper Cluster Manager</name>
      
    <properties>
            
        <stack.version>4.1.5</stack.version>
            
        <curator.version>4.3.0</curator.version>
            
        <zookeeper.version>3.5.9</zookeeper.version>
            
        <guava.version>27.0.1-jre</guava.version>
            
        <junit.version>4.13.1</junit.version>
            
        <slf4j.version>1.7.25</slf4j.version>
            
        <log4j.version>1.2.17</log4j.version>
            
        <asciidoc.dir>${project.basedir}/src/main/asciidoc</asciidoc.dir>
            
        <jar.manifest>${project.basedir}/src/main/resources/META-INF/MANIFEST.MF</jar.manifest>
          
    </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>
      
    <scm>
            
        <connection>scm:git:git@github.com:vert-x3/vertx-zookeeper.git</connection>
            
        <developerConnection>scm:git:git@github.com:vert-x3/vertx-zookeeper.git</developerConnection>
            
        <url>git@github.com:vert-x3/vertx-zookeeper.git</url>
          
    </scm>
      
    <dependencies>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-codegen</artifactId>
                  
            <scope>provided</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-core</artifactId>
                  
            <scope>provided</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-web</artifactId>
                  
            <optional>true</optional>
                
        </dependency>
            
        <dependency>
                  
            <groupId>io.vertx</groupId>
                  
            <artifactId>vertx-docgen</artifactId>
                  
            <scope>provided</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.apache.curator</groupId>
                  
            <artifactId>curator-framework</artifactId>
                  
            <version>${curator.version}</version>
                  
            <exclusions>
                
                <!--        <exclusion>-->
                
                <!--          <groupId>org.apache.zookeeper</groupId>-->
                
                <!--          <artifactId>zookeeper</artifactId>-->
                
                <!--        </exclusion>-->
                        
                <exclusion>
                              
                    <groupId>org.slf4j</groupId>
                              
                    <artifactId>slf4j-api</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>jline</groupId>
                              
                    <artifactId>jline</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>log4j</groupId>
                              
                    <artifactId>log4j</artifactId>
                            
                </exclusion>
                        
                <!-- Curator client shades Guava so there is a dependency declared although it is shared  -->
                        
                <exclusion>
                              
                    <groupId>com.google.guava</groupId>
                              
                    <artifactId>guava</artifactId>
                            
                </exclusion>
                      
            </exclusions>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.apache.zookeeper</groupId>
                  
            <artifactId>zookeeper</artifactId>
                  
            <version>${zookeeper.version}</version>
                  
            <exclusions>
                        
                <exclusion>
                              
                    <groupId>io.netty</groupId>
                              
                    <artifactId>netty-handler</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>io.netty</groupId>
                              
                    <artifactId>netty-tranasport-native-epoll</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>org.slf4j</groupId>
                              
                    <artifactId>slf4j-api</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>org.slf4j</groupId>
                              
                    <artifactId>slf4j-log4j12</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>log4j</groupId>
                              
                    <artifactId>log4j</artifactId>
                            
                </exclusion>
                        
                <exclusion>
                              
                    <groupId>com.github.spotbugs</groupId>
                              
                    <artifactId>spotbugs-annotations</artifactId>
                            
                </exclusion>
                      
            </exclusions>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.apache.curator</groupId>
                  
            <artifactId>curator-recipes</artifactId>
                  
            <version>${curator.version}</version>
                
        </dependency>
            
        <!-- Curator requires these dependencies: declare this dependency to force this module to use this one. These are the versions used by vert.x -->
            
        <dependency>
                  
            <groupId>com.google.guava</groupId>
                  
            <artifactId>guava</artifactId>
                  
            <version>${guava.version}</version>
                
        </dependency>
            
        <!-- ZK requires these dependencies: declare this dependency to force this module to use this one. These are the versions used by vert.x -->
            
        <dependency>
                  
            <groupId>org.slf4j</groupId>
                  
            <artifactId>slf4j-api</artifactId>
                  
            <version>${slf4j.version}</version>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.slf4j</groupId>
                  
            <artifactId>slf4j-log4j12</artifactId>
                  
            <version>${slf4j.version}</version>
                
        </dependency>
            
        <dependency>
                  
            <groupId>log4j</groupId>
                  
            <artifactId>log4j</artifactId>
                  
            <version>${log4j.version}</version>
                
        </dependency>
            
        <dependency>
                  
            <groupId>junit</groupId>
                  
            <artifactId>junit</artifactId>
                  
            <version>${junit.version}</version>
                  
            <scope>test</scope>
                
        </dependency>
            
        <dependency>
                  
            <groupId>org.apache.curator</groupId>
                  
            <artifactId>curator-test</artifactId>
                  
            <version>${curator.version}</version>
                  
            <scope>test</scope>
                  
            <exclusions>
                        
                <exclusion>
                              
                    <groupId>com.google.guava</groupId>
                              
                    <artifactId>guava</artifactId>
                            
                </exclusion>
                      
            </exclusions>
                
        </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>
                  
            <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>
                  
            <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>
          
    </dependencies>
      
    <build>
            
        <pluginManagement>
                  
            <plugins>
                        
                <plugin>
                              
                    <groupId>org.bsc.maven</groupId>
                              
                    <artifactId>maven-processor-plugin</artifactId>
                              
                    <executions>
                                    
                        <execution>
                                          
                            <id>generate-sources</id>
                                          
                            <configuration>
                                                
                                <optionMap>
                                                      
                                    <curator.version>${curator.version}</curator.version>
                                                    
                                </optionMap>
                                              
                            </configuration>
                                        
                        </execution>
                                  
                    </executions>
                            
                </plugin>
                        
                <plugin>
                              
                    <groupId>org.apache.maven.plugins</groupId>
                              
                    <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 -->
                                    
                        <argLine>-Xmx1200M</argLine>
                                    
                        <forkCount>1</forkCount>
                                    
                        <reuseForks>true</reuseForks>
                                  
                    </configuration>
                            
                </plugin>
                      
            </plugins>
                
        </pluginManagement>
          
    </build>
      
    <profiles>
            
        <profile>
                  
            <id>coverage</id>
                  
            <build>
                        
                <pluginManagement>
                              
                    <plugins>
                                    
                        <plugin>
                                          
                            <groupId>org.apache.maven.plugins</groupId>
                                          
                            <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>
