<?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>
  <artifactId>muyie-dependencies</artifactId>
  <packaging>pom</packaging>
  <name>MuYie server-side dependencies</name>
  <description>MuYie Bill Of Materials</description>
  <url>https://github.com/zhycn/muyie/</url>

  <parent>
    <groupId>com.github.zhycn</groupId>
    <artifactId>muyie-parent</artifactId>
    <version>1.3.0</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <properties>
    <aerogear-otp-java.version>1.0.0</aerogear-otp-java.version>
    <alibaba-druid.version>1.2.12</alibaba-druid.version>
    <alibaba-fastjson2.version>2.0.15</alibaba-fastjson2.version>
    <apollo-client.version>2.0.1</apollo-client.version>
    <bucket4j.version>7.6.0</bucket4j.version>
    <commons-io.version>2.11.0</commons-io.version>
    <guava.version>31.1-jre</guava.version>
    <hutool.version>5.8.8</hutool.version>
    <htmlunit.version>2.65.1</htmlunit.version>
    <jsoup.version>1.15.3</jsoup.version>
    <jjwt.version>0.11.5</jjwt.version>
    <lz4-java.version>1.8.0</lz4-java.version>
    <mapstruct.version>1.5.3.Final</mapstruct.version>
    <mybatis-plus.version>3.5.2</mybatis-plus.version>
    <problem-spring.version>0.28.0-RC.0</problem-spring.version>
    <reflections.version>0.10.2</reflections.version>
    <retrofit2.version>2.9.0</retrofit2.version>
    <springdoc.version>1.6.12</springdoc.version>
    <zxing.version>3.5.0</zxing.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Alibaba druid @https://github.com/alibaba/druid -->
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>${alibaba-druid.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>${alibaba-druid.version}</version>
      </dependency>

      <!-- FastJSON2 @https://github.com/alibaba/fastjson2 -->
      <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2</artifactId>
        <version>${alibaba-fastjson2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba.fastjson2</groupId>
        <artifactId>fastjson2-extension</artifactId>
        <version>${alibaba-fastjson.version}</version>
      </dependency>

      <!-- Apollo client @https://www.apolloconfig.com/ -->
      <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-client</artifactId>
        <version>${apollo-client.version}</version>
      </dependency>

      <!-- commons-io -->
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io.version}</version>
      </dependency>

      <!-- Hutool @http://hutool.cn/ -->
      <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>${hutool.version}</version>
      </dependency>

      <!-- JJWT @https://github.com/jwtk/jjwt -->
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <version>${jjwt.version}</version>
        <scope>runtime</scope>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>${jjwt.version}</version>
        <scope>runtime</scope>
      </dependency>

      <!-- Guava @https://github.com/google/guava -->
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>

      <!-- Mybatis-Plus @https://baomidou.com/ -->
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>${mybatis-plus.version}</version>
      </dependency>

      <!-- Java One Time Password API @https://github.com/aerogear-attic/aerogear-otp-java -->
      <dependency>
        <groupId>org.jboss.aerogear</groupId>
        <artifactId>aerogear-otp-java</artifactId>
        <version>${aerogear-otp-java.version}</version>
      </dependency>

      <!-- barcode scanning library for Java, Android @https://github.com/zxing/zxing -->
      <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>${google.zxing.version}</version>
      </dependency>

      <!-- Java runtime metadata analysis @https://github.com/ronmamo/reflections -->
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
      </dependency>

      <!-- Java rate-limiting library based on token-bucket algorithm @https://github.com/bucket4j/bucket4j -->
      <dependency>
        <groupId>com.github.vladimir-bukhtoyarov</groupId>
        <artifactId>bucket4j-core</artifactId>
        <version>${bucket4j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.vladimir-bukhtoyarov</groupId>
        <artifactId>bucket4j-jcache</artifactId>
        <version>${bucket4j.version}</version>
      </dependency>

      <!-- LZ4 compression for Java @https://github.com/lz4/lz4-java/ -->
      <dependency>
        <groupId>org.lz4</groupId>
        <artifactId>lz4-java</artifactId>
        <version>${lz4-java.version}</version>
      </dependency>

      <!-- MapStruct @https://mapstruct.org/ -->
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${mapstruct.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
        <version>${mapstruct.version}</version>
      </dependency>

      <!-- SpringDoc OpenAPI @https://springdoc.org/ -->
      <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>${springdoc.version}</version>
      </dependency>

      <!-- Problem @https://github.com/zalando/problem -->
      <dependency>
        <groupId>org.zalando</groupId>
        <artifactId>problem-spring-web</artifactId>
        <version>${problem-spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.zalando</groupId>
        <artifactId>problem-spring-webflux</artifactId>
        <version>${problem-spring.version}</version>
      </dependency>

      <!-- Retrofit client @https://square.github.io/retrofit/ -->
      <dependency>
        <groupId>com.squareup.retrofit2</groupId>
        <artifactId>retrofit</artifactId>
        <version>${retrofit2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.retrofit2</groupId>
        <artifactId>converter-jackson</artifactId>
        <version>${retrofit2.version}</version>
      </dependency>

      <!-- jsoup HTML parser library @https://jsoup.org/ -->
      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${jsoup.version}</version>
      </dependency>

      <!-- A java GUI-Less browser library @https://htmlunit.sourceforge.io/ -->
      <dependency>
        <groupId>net.sourceforge.htmlunit</groupId>
        <artifactId>htmlunit</artifactId>
        <version>${htmlunit.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

</project>
