<?xml version="1.0" encoding="UTF-8"?>
<!--

  ~ Copyright (C) 2020-2024 Huawei Technologies Co., Ltd. All rights reserved.

  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://maven.apache.org/POM/4.0.0"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <groupId>com.huaweicloud</groupId>
    <artifactId>spring-cloud-huawei</artifactId>
    <version>1.11.10-2023.0.x</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>

  <artifactId>spring-cloud-huawei-dependencies</artifactId>
  <packaging>pom</packaging>
  <version>1.11.10-2023.0.x</version>
  <name>Spring Cloud Huawei::Dependencies</name>

  <properties>
    <feign-core.version>12.3</feign-core.version>
    <httpclient.version>5.3.1</httpclient.version>
    <jackson.version>2.17.2</jackson.version>
    <commons-io.version>2.16.1</commons-io.version>
    <guava.version>33.2.1-jre</guava.version>
    <snakeyaml.version>2.2</snakeyaml.version>
    <commons-configuration.version>1.10</commons-configuration.version>
    <websocket.version>1.5.0</websocket.version>
    <resilience4j.version>1.7.0</resilience4j.version>
    <jasypt.version>3.0.5</jasypt.version>
    <annotations.version>3.0.1</annotations.version>
    <dubbo.hessian.version>2.7.23</dubbo.hessian.version>
    <springdoc.version>2.6.0</springdoc.version>
    <nacos.client.version>2.3.0</nacos.client.version>
    <alibaba.context.support.version>1.0.11</alibaba.context.support.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- put it first, otherwise it will be covered by spring-boot-dependencies -->
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson.version}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-bom</artifactId>
        <version>${resilience4j.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents.client5</groupId>
        <artifactId>httpclient5</artifactId>
        <version>${httpclient.version}</version>
      </dependency>

      <!-- core dependencies of spring cloud huawei, put it in the begging -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- this project -->
      <dependency>
        <groupId>com.huaweicloud</groupId>
        <artifactId>spring-cloud-huawei-bom</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- swagger -->
      <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
        <version>${springdoc.version}</version>
      </dependency>

      <!-- servicecomb -->
      <dependency>
        <groupId>org.apache.servicecomb</groupId>
        <artifactId>java-chassis-bom</artifactId>
        <version>${servicecomb.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <!-- other 3rd parties -->
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-core</artifactId>
        <version>${feign-core.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-hc5</artifactId>
        <version>${feign-core.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyaml.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>annotations</artifactId>
        <version>${annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons-configuration.version}</version>
      </dependency>
      <dependency>
        <groupId>org.java-websocket</groupId>
        <artifactId>Java-WebSocket</artifactId>
        <version>${websocket.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>${jasypt.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-serialization-hessian2</artifactId>
        <version>${dubbo.hessian.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-client</artifactId>
        <version>${nacos.client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba.spring</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${alibaba.context.support.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>