<?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>

  <groupId>cn.labzen</groupId>
  <artifactId>dependencies</artifactId>
  <packaging>pom</packaging>
  <version>1.2</version>
  <name>${organization.name}.Dependencies</name>
  <description>Labzen Dependencies</description>
  <url>https://github.com/labzen/dependencies</url>

  <licenses>
    <license>
      <name>Apache License 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <organization>
    <name>${organization.name}</name>
    <url>${organization.url}</url>
  </organization>

  <developers>
    <developer>
      <name>Dean Zhao</name>
      <email>rcarlosdasilva@163.com</email>
      <timezone>+8</timezone>
    </developer>
  </developers>

  <scm>
    <url>https://github.com/labzen/dependencies</url>
    <connection>scm:git:git@github.com:labzen/dependencies.git</connection>
    <developerConnection>scm:git:git@github.com:labzen/dependencies.git</developerConnection>
    <tag>HEAD</tag>
  </scm>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <organization.name>Labzen</organization.name>
    <organization.url>http://labzen.cn</organization.url>

    <kotlin.version>1.6.10</kotlin.version>

    <!--IO.Platform将会进入EOL，使用spring-boot-dependencies作为最新的BOM引入-->
    <bom.spring.boot>2.2.12.RELEASE</bom.spring.boot>
    <bom.spring.cloud>Hoxton.SR9</bom.spring.cloud>
    <bom.spring.cloud.alibaba>2.2.3.RELEASE</bom.spring.cloud.alibaba>
    <bom.spring.data>2020.0.1</bom.spring.data>
    <bom.spring.security>5.4.4</bom.spring.security>
    <bom.spring.session>2020.0.1</bom.spring.session>
    <bom.spring.statemachine>2.2.1.RELEASE</bom.spring.statemachine>
    <!-- it's NOT going to be imported -->
    <bom.spring.vault>2.3.1</bom.spring.vault>

    <spring.shell.version>2.0.1.RELEASE</spring.shell.version>
    <slf4j.version>1.7.36</slf4j.version>
    <slf4j2.version>2.0.0-alpha6</slf4j2.version>
    <logback.version>1.2.10</logback.version>
    <logback2.version>1.3.0-alpha13</logback2.version>
    <log4j2.version>2.17.1</log4j2.version>
    <jupiter.version>5.5.2</jupiter.version>
    <hamcrest.version>2.2</hamcrest.version>
    <mockito.version>3.1.0</mockito.version>
    <jmh.version>1.22</jmh.version>

    <javafx.version>17.0.0.1</javafx.version>
    <javafx.controlsfx.version>11.1.0</javafx.controlsfx.version>
    <javafx.animationfx.version>1.2.2</javafx.animationfx.version>
    <flatlaf.version>1.6</flatlaf.version>
    <jsr305.version>3.0.2</jsr305.version>
    <guava.version>30.0-jre</guava.version>
    <jackson.version>2.10.5.1</jackson.version>
    <lombok.version>1.18.4</lombok.version>
    <cglib.version>3.3.0</cglib.version>
    <jna.version>5.5.0</jna.version>
    <javacv.version>1.5.6</javacv.version>
    <caffeine.version>2.8.0</caffeine.version>
    <redisson.version>3.16.0</redisson.version>
    <jaxb.version>2.3.1</jaxb.version>
    <!--官方建议使用最新的8版本驱动，提供更好的兼容性-->
    <mysql.version>8.0.16</mysql.version>
    <postgresql.version>42.3.3</postgresql.version>
    <sqlite.version>3.32.3.2</sqlite.version>
    <h2.version>2.1.210</h2.version>
    <kotlin-logging.version>1.4.9</kotlin-logging.version>

    <commons.fileupload.version>1.4</commons.fileupload.version>
    <commons.compress.version>1.21</commons.compress.version>
    <commons.crypto.version>1.1.0</commons.crypto.version>
    <commons.email.version>1.5</commons.email.version>

    <bouncycastle.version>1.70</bouncycastle.version>
    <protobuf.version>3.17.2</protobuf.version>
    <grpc.version>1.39.0</grpc.version>
    <netty.version>4.1.42</netty.version>
    <okhttp3.version>3.14.0</okhttp3.version>
    <okhttp.digest.version>1.17</okhttp.digest.version>
    <retrofit.version>2.9.0</retrofit.version>
    <usb.version>1.3.0</usb.version>
    <ahc.version>2.8.0</ahc.version>
    <druid.version>1.2.8</druid.version>
    <mybatis-plus.version>3.4.1</mybatis-plus.version>
    <mybatis-page-helper.version>5.1.8</mybatis-page-helper.version>
    <user-agent-utils.version>1.21</user-agent-utils.version>
    <poi.version>4.0.1</poi.version>
    <xstream.version>1.4.19</xstream.version>
    <kxml2.version>2.3.0</kxml2.version>
    <reflections.version>0.9.11</reflections.version>
    <jjwt.version>0.11.1</jjwt.version>
    <mapstruct.version>1.4.2.Final</mapstruct.version>
    <maven.invoker.version>3.0.1</maven.invoker.version>
    <maven.model.version>3.6.3</maven.model.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Spring Boot IO Platform Bom Import -->
      <dependency>
        <!--Dec, 2020-->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${bom.spring.boot}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Spring Cloud Bom Import -->
      <dependency>
        <!--Nov, 2020-->
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${bom.spring.cloud}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Alibaba Could Bom Import -->
      <dependency>
        <!--Sep, 2020-->
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>${bom.spring.cloud.alibaba}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Spring Data Bom Import -->
      <dependency>
        <!--Nov, 2020-->
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-bom</artifactId>
        <version>${bom.spring.data}</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
      <!-- Spring Security Bom Import -->
      <dependency>
        <!--Dec, 2020-->
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-bom</artifactId>
        <version>${bom.spring.security}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Spring Session Bom Import -->
      <dependency>
        <!--Nov, 2020-->
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session-bom</artifactId>
        <version>${bom.spring.session}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- Spring State Machine Bom Import -->
      <dependency>
        <!-- Nov, 2020 -->
        <groupId>org.springframework.statemachine</groupId>
        <artifactId>spring-statemachine-bom</artifactId>
        <version>${bom.spring.statemachine}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about kotlin lang -->
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-reflect</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-common</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk7</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about Spring -->
      <dependency>
        <groupId>org.springframework.shell</groupId>
        <artifactId>spring-shell-starter</artifactId>
        <version>${spring.shell.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
        <version>${bom.spring.boot}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about GUI -->
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-media</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-swing</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-web</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-plugin</artifactId>
        <version>${javafx.version}</version>
      </dependency>
      <dependency>
        <groupId>org.controlsfx</groupId>
        <artifactId>controlsfx</artifactId>
        <version>${javafx.controlsfx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.typhon0</groupId>
        <artifactId>AnimateFX</artifactId>
        <version>${javafx.animationfx.version}</version>
      </dependency>
      <dependency>
        <groupId>com.formdev</groupId>
        <artifactId>flatlaf</artifactId>
        <version>${flatlaf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.formdev</groupId>
        <artifactId>flatlaf-extras</artifactId>
        <version>${flatlaf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.formdev</groupId>
        <artifactId>flatlaf-swingx</artifactId>
        <version>${flatlaf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.formdev</groupId>
        <artifactId>flatlaf-intellij-themes</artifactId>
        <version>${flatlaf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.formdev</groupId>
        <artifactId>flatlaf-jide-oss</artifactId>
        <version>${flatlaf.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about apache commons -->

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>${commons.fileupload.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons.compress.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-crypto</artifactId>
        <version>${commons.crypto.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>${commons.email.version}</version>
      </dependency>

      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about io -->
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java-util</artifactId>
        <version>${protobuf.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>${netty.version}</version>
      </dependency>
      <dependency>
        <groupId>org.asynchttpclient</groupId>
        <artifactId>async-http-client</artifactId>
        <version>${ahc.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>${okhttp3.version}</version>
      </dependency>
      <dependency>
        <groupId>com.burgstaller</groupId>
        <artifactId>okhttp-digest</artifactId>
        <version>${okhttp.digest.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.retrofit2</groupId>
        <artifactId>retrofit</artifactId>
        <version>${retrofit.version}</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.retrofit2</groupId>
        <artifactId>converter-jackson</artifactId>
        <version>${retrofit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.usb4java</groupId>
        <artifactId>usb4java-javax</artifactId>
        <version>${usb.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about crypto -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcutil-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcmail-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcjmail-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpg-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bctls-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bctest-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about utils -->
      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>${jsr305.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-xml</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-properties</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-kotlin</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>3.3.0</version>
      </dependency>
      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna</artifactId>
        <version>${jna.version}</version>
      </dependency>
      <dependency>
        <groupId>net.java.dev.jna</groupId>
        <artifactId>jna-platform</artifactId>
        <version>${jna.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv-platform</artifactId>
        <version>${javacv.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bytedeco</groupId>
        <artifactId>javacv</artifactId>
        <version>${javacv.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
        <version>${caffeine.version}</version>
      </dependency>
      <dependency>
        <groupId>org.redisson</groupId>
        <artifactId>redisson</artifactId>
        <version>${redisson.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>eu.bitwalker</groupId>
        <artifactId>UserAgentUtils</artifactId>
        <version>${user-agent-utils.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>${poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>${poi.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sf.kxml</groupId>
        <artifactId>kxml2</artifactId>
        <version>${kxml2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${xstream.version}</version>
      </dependency>
      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${reflections.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.microutils</groupId>
        <artifactId>kotlin-logging</artifactId>
        <version>${kotlin-logging.version}</version>
      </dependency>
      <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>
      </dependency>
      <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <version>${jjwt.version}</version>
      </dependency>
      <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>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about persistence -->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
      </dependency>
      <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>${postgresql.version}</version>
      </dependency>
      <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>${sqlite.version}</version>
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>${druid.version}</version>
      </dependency>
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>${druid.version}</version>
      </dependency>
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus</artifactId>
        <version>${mybatis-plus.version}</version>
      </dependency>
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>${mybatis-plus.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>${mybatis-page-helper.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about log -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about maven -->
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-invoker</artifactId>
        <version>${maven.invoker.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven.model.version}</version>
      </dependency>
      <!--//////////////////////////////////////////////////////////////////-->

      <!-- about test -->
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${jupiter.version}</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>${hamcrest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-generator-annprocess</artifactId>
        <version>${jmh.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>release</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.6.8</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>true</autoReleaseAfterClose>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.5</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
