<?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>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.13.RELEASE</version>
    </parent>

    <groupId>com.alipay.sofa</groupId>
    <artifactId>sofaboot-dependencies</artifactId>
    <packaging>pom</packaging>
    <version>3.4.0</version>

    <properties>
        <!--project-->
        <java.version>1.7</java.version>
        <project.encoding>UTF-8</project.encoding>
        <project.build.encoding>UTF-8</project.build.encoding>
        <project.build.encoding>UTF-8</project.build.encoding>

        <sofa.boot.version>3.4.0</sofa.boot.version>

        <!--starter-->
        <sofa.ark.version>1.1.1</sofa.ark.version>
        <sofa.lookout.version>1.5.2</sofa.lookout.version>

        <!--core-->
        <tracer.core.version>3.0.8</tracer.core.version>
        <rpc.core.version>5.7.0</rpc.core.version>

        <!--2rd lib dependency-->
        <sofa.common.tools.version>1.0.22</sofa.common.tools.version>
        <sofa.bolt.version>1.5.6</sofa.bolt.version>
        <sofa.hessian.version>3.3.7</sofa.hessian.version>

        <!--3rd lib dependency-->
        <fastjson.version>1.2.61</fastjson.version>
        <grpc-all.version>1.0.3</grpc-all.version>
        <javassist.version>3.19.0-GA</javassist.version>
        <protobuf-java.version>3.5.1</protobuf-java.version>
        <guice.version>3.0</guice.version>
        <guava.version>28.2-jre</guava.version>
        <zipkin.version>2.11.3</zipkin.version>
        <zipkin.reporter.version>2.7.7</zipkin.reporter.version>
        <jackson.version>2.9.10</jackson.version>
        <jboss.jaxrs.api.version>1.0.2.Final</jboss.jaxrs.api.version>

        <resteasy.version>3.6.3.Final</resteasy.version>
        <curator.version>4.0.1</curator.version>
        <dubbo_version>2.6.7</dubbo_version>
        <zkclient.version>0.11</zkclient.version>
        <nacos.version>1.0.0</nacos.version>

        <!--maven plugin-->
        <maven.staging.plugin>1.6.7</maven.staging.plugin>
        <maven.gpg.pluign>1.5</maven.gpg.pluign>
    </properties>

    <licenses>
        <license>
            <name>The Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>guanchao.ygc</name>
            <email>guanchao.ygc@antfin.com</email>
            <organization>Ant Financial</organization>
            <organizationUrl>https://www.alipay.com/</organizationUrl>
        </developer>
        <developer>
            <name>wei.li</name>
            <email>lw111072@antfin.com</email>
            <organization>Ant Financial</organization>
            <organizationUrl>https://www.alipay.com/</organizationUrl>
        </developer>
        <developer>
            <name>jie.cao</name>
            <email>caojie.cj@alipay.com</email>
            <organization>Ant Financial</organization>
            <organizationUrl>https://www.alipay.com/</organizationUrl>
        </developer>
        <developer>
            <name>qilong.zql</name>
            <email>qilong.zql@alipay.com</email>
            <organization>Ant Financial</organization>
            <organizationUrl>https://www.alipay.com/</organizationUrl>
        </developer>
        <developer>
            <name>abby.zh</name>
            <email>abby.zh@antfin.com</email>
            <organization>Ant Financial</organization>
            <organizationUrl>https://www.alipay.com/</organizationUrl>
        </developer>
    </developers>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-boot-actuator</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-boot-autoconfigure</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-boot-actuator-autoconfigure</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>healthcheck-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>runtime-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>isle-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>test-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>rpc-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>tracer-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>log-sofa-boot</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <!-- starter management begin -->
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>infra-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>healthcheck-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>runtime-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>test-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>isle-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>rpc-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>tracer-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>log-sofa-boot-starter</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-sofa-boot-starter</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-springboot-starter</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <!-- starter management end -->

            <!-- Ark Plugin Management begin -->
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>runtime-sofa-boot-plugin</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>rpc-sofa-boot-plugin</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>tracer-sofa-boot-plugin</artifactId>
                <version>${sofa.boot.version}</version>
            </dependency>

            <!--tracer and its extension plugin-->
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>tracer-core</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>tracer-extensions</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-springmvc-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-httpclient-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-okhttp-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-datasource-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-spring-cloud-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-dubbo-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-dubbo-2.6.x-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-flexible-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-resttmplate-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-tracer-zipkin-plugin</artifactId>
                <version>${tracer.core.version}</version>
            </dependency>

            <!--rpc-->
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-rpc-all</artifactId>
                <version>${rpc.core.version}</version>
            </dependency>

            <!-- 2nd dependency begin -->
            <dependency>
                <groupId>com.alipay.sofa.common</groupId>
                <artifactId>sofa-common-tools</artifactId>
                <version>${sofa.common.tools.version}</version>
            </dependency>

            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>bolt</artifactId>
                <version>${sofa.bolt.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>hessian</artifactId>
                <version>${sofa.hessian.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-spi</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa</groupId>
                <artifactId>sofa-ark-archive</artifactId>
                <version>${sofa.ark.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-api</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-client</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-common</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-core</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-ext-jvm</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-ext-os</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-reg-dropwizard</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-reg-prometheus</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alipay.sofa.lookout</groupId>
                <artifactId>lookout-reg-server</artifactId>
                <version>${sofa.lookout.version}</version>
            </dependency>
            <!-- 2nd dependency end -->

            <!-- 3rd lib dependency begin -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-multibindings</artifactId>
                <version>${guice.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.protobuf</groupId>
                <artifactId>protobuf-java</artifactId>
                <version>${protobuf-java.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-all</artifactId>
                <version>${grpc-all.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>io.zipkin.zipkin2</groupId>
                <artifactId>zipkin</artifactId>
                <version>${zipkin.version}</version>
            </dependency>
            <dependency>
                <groupId>io.zipkin.reporter2</groupId>
                <artifactId>zipkin-reporter</artifactId>
                <version>${zipkin.reporter.version}</version>
            </dependency>

            <!--extension dependency -->
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-client</artifactId>
                <version>${curator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>${curator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-recipes</artifactId>
                <version>${curator.version}</version>
            </dependency>

            <!-- resteasy -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-netty4</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson2-provider</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxb-provider</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-multipart-provider</artifactId>
                <version>${resteasy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-validator-provider-11</artifactId>
                <version>${resteasy.version}</version>
            </dependency>

            <!-- jboss jaxrs api -->
            <dependency>
                <groupId>org.jboss.spec.javax.ws.rs</groupId>
                <artifactId>jboss-jaxrs-api_2.1_spec</artifactId>
                <version>${jboss.jaxrs.api.version}</version>
            </dependency>

            <!--dubbo-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo_version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>javassist</artifactId>
                        <groupId>org.javassist</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>spring</artifactId>
                        <groupId>org.springframework</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.zookeeper</groupId>
                        <artifactId>zookeeper</artifactId>
                    </exclusion>
                </exclusions>
                <version>${zkclient.version}</version>
            </dependency>

            <!--nacos-->
            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-api</artifactId>
                <version>${nacos.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
                <version>${nacos.version}</version>
            </dependency>
            <!-- 3rd lib dependency end -->
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.alipay.sofa</groupId>
                    <artifactId>sofa-ark-maven-plugin</artifactId>
                    <version>${sofa.ark.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.alipay.sofa</groupId>
                    <artifactId>sofa-ark-plugin-maven-plugin</artifactId>
                    <version>${sofa.ark.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>


    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>${maven.staging.plugin}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>false</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven.gpg.pluign}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <distributionManagement>
                <repository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                </repository>
            </distributionManagement>
        </profile>

        <profile>
            <id>snapshot</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>${maven.staging.plugin}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>false</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven.gpg.pluign}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <distributionManagement>
                <snapshotRepository>
                    <id>ossrh</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <id>release</id>
                    <url>https://oss.sonatype.org/content/repositories/releases</url>
                </repository>
                <repository>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <id>snapshot</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <id>releases</id>
                    <url>https://oss.sonatype.org/content/repositories/releases</url>
                </pluginRepository>
                <pluginRepository>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <id>snapshot</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>

</project>
