<?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>

    <!-- GAV信息 -->
    <groupId>cloud.mofayun</groupId>
    <artifactId>mofayun-cloud-dependencies</artifactId>
    <version>3.0.2</version><!-- .BUILD-SNAPSHOT -->
    <packaging>pom</packaging>

    <!-- 项目信息 -->
    <name>Mofayun Cloud Dependencies</name>
    <description>用于进行工程/项目的统一构建，确保构建过程的一致性</description>
    <url>https://gitee.com/mofayun/mofayun-cloud-dependencies</url>

    <!-- 开源协议 -->
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <organization>
        <name>成都魔法云科技有限公司</name>
        <url>https://www.mofayun.cloud</url>
    </organization>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <main.basedir>${basedir}</main.basedir>

        <!-- 自主开发的依赖的“版本” -->


        <!-- 第三方依赖的“版本” -->
        <apache.commons-text.version>1.9</apache.commons-text.version>
        <apache.commons-lang3.version>3.12.0</apache.commons-lang3.version>
        <apache.commons-collections4.version>4.4</apache.commons-collections4.version>
        <apache.commons-math3.version>3.6.1</apache.commons-math3.version>
        <apache.commons-fileupload.version>1.5</apache.commons-fileupload.version>
        <apache.commons-codec.version>1.15</apache.commons-codec.version>
        <apache.commons-beanutils.version>1.9.4</apache.commons-beanutils.version>
        <apache.commons-io.version>2.11.0</apache.commons-io.version>
        <apache.commons-csv.version>1.10.0</apache.commons-csv.version>
        <apache.httpclient.version>4.5.13</apache.httpclient.version>
        <apache.httpclient5.version>5.2.1</apache.httpclient5.version>
        <apache.poi.version>5.2.3</apache.poi.version>
        <io.jsonwebtoken.jjwt.version>0.11.5</io.jsonwebtoken.jjwt.version>
        <com.nimbusds.nimbus-jose-jwt.version>9.31</com.nimbusds.nimbus-jose-jwt.version>
        <org.bouncycastle.bcprov-jdk15on.version>1.70</org.bouncycastle.bcprov-jdk15on.version>
        <com.google.code.gson.version>2.10.1</com.google.code.gson.version>
        <com.google.zxing.javase.version>3.5.0</com.google.zxing.javase.version>
        <org.hibernate.hibernate-validator.version>7.0.5.Final</org.hibernate.hibernate-validator.version>
        <io.minio.minio.version>7.0.2</io.minio.minio.version>
        <com.ramostear.Happy-Captcha.version>1.0.1</com.ramostear.Happy-Captcha.version>
        <cn.hutool.hutool.version>5.8.15</cn.hutool.hutool.version>
        <org.springdoc.springdoc-openapi-ui.version>1.6.15</org.springdoc.springdoc-openapi-ui.version>
        <com.clickhouse.clickhouse-jdbc.version>0.4.1</com.clickhouse.clickhouse-jdbc.version>
        <mysql.mysql-connector-java.version>8.0.32</mysql.mysql-connector-java.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--
                第二方依赖，即公司内部的依赖
            -->

            <!--
                第三方依赖
            -->
            <!-- Apache Commons Text -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${apache.commons-text.version}</version>
            </dependency>

            <!-- Apache Commons Lang -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${apache.commons-lang3.version}</version>
            </dependency>

            <!-- Apache Commons Collections -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${apache.commons-collections4.version}</version>
            </dependency>

            <!-- Apache Commons Math -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>${apache.commons-math3.version}</version>
            </dependency>

            <!-- Apache Commons FileUpload -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${apache.commons-fileupload.version}</version>
            </dependency>

            <!-- Apache Commons Codec -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${apache.commons-codec.version}</version>
            </dependency>

            <!-- Apache Commons BeanUtils -->
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>${apache.commons-beanutils.version}</version>
            </dependency>

            <!-- Apache Commons IO -->
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${apache.commons-io.version}</version>
            </dependency>

            <!-- The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types. -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-csv</artifactId>
                <version>${apache.commons-csv.version}</version>
            </dependency>

            <!-- Apache HttpComponents Client -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${apache.httpclient.version}</version>
            </dependency>

            <!-- Apache HttpComponents Client 5 -->
            <dependency>
                <groupId>org.apache.httpcomponents.client5</groupId>
                <artifactId>httpclient5</artifactId>
                <version>${apache.httpclient5.version}</version>
            </dependency>

            <!-- Apache POI - Java API To Access Microsoft Format Files -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${apache.poi.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${apache.poi.version}</version>
            </dependency>
            <!--            <dependency>-->
            <!--                <groupId>org.apache.poi</groupId>-->
            <!--                <artifactId>poi-ooxml-schemas</artifactId>-->
            <!--                <version>4.1.2</version>-->
            <!--            </dependency>-->

            <!-- Java JWT: JSON Web Token for Java and Android -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-api</artifactId>
                <version>${io.jsonwebtoken.jjwt.version}</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-impl</artifactId>
                <version>${io.jsonwebtoken.jjwt.version}</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-jackson</artifactId>
                <version>${io.jsonwebtoken.jjwt.version}</version>
            </dependency>
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-orgjson</artifactId>
                <version>${io.jsonwebtoken.jjwt.version}</version>
            </dependency>

            <!-- Java library for Javascript Object Signing and Encryption (JOSE) and JSON Web Tokens (JWT) -->
            <dependency>
                <groupId>com.nimbusds</groupId>
                <artifactId>nimbus-jose-jwt</artifactId>
                <version>${com.nimbusds.nimbus-jose-jwt.version}</version>
            </dependency>

            <!-- The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms.
                This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
                PS: if you want to use RSASSA-PSS (PS256, PS384, PS512) algorithms in "jjwt" above, should be declare this dependency -->
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15on</artifactId>
                <version>${org.bouncycastle.bcprov-jdk15on.version}</version>
            </dependency>

            <!-- Google Gson -->
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${com.google.code.gson.version}</version>
            </dependency>

            <!-- Google ZXing Java SE extensions -->
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>javase</artifactId>
                <version>${com.google.zxing.javase.version}</version>
            </dependency>

            <!-- MyBatis SQL mapper framework -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${org.mybatis.version}</version>
            </dependency>

            <!-- Hibernate Validator, The Bean Validation reference implementation -->
            <dependency>
                <groupId>org.hibernate.validator</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${org.hibernate.hibernate-validator.version}</version>
            </dependency>

            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${io.minio.minio.version}</version>
            </dependency>

            <!-- 验证码
                    https://gitee.com/ramostear/Happy-Captcha -->
            <dependency>
                <groupId>com.ramostear</groupId>
                <artifactId>Happy-Captcha</artifactId>
                <version>${com.ramostear.Happy-Captcha.version}</version>
            </dependency>

            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${cn.hutool.hutool.version}</version>
            </dependency>

            <!-- Library for OpenAPI 3 with spring-boot
                    https://springdoc.org/
                    https://github.com/springdoc/springdoc-openapi
            -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-ui</artifactId>
                <version>${org.springdoc.springdoc-openapi-ui.version}</version>
            </dependency>

            <!-- JDBC driver for ClickHouse -->
            <dependency>
                <groupId>com.clickhouse</groupId>
                <artifactId>clickhouse-jdbc</artifactId>
                <version>${com.clickhouse.clickhouse-jdbc.version}</version>
            </dependency>

            <!-- JDBC driver for MySQL 8 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.mysql-connector-java.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <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>

    <profiles>
        <profile>
            <id>ossrh</id>

            <build>
                <plugins>
                    <!-- gpg插件 -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>3.0.1</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                    <!-- 发布到中央仓库的插件 -->
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.13</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                </plugins>
            </build>

        </profile>
    </profiles>

    <scm>
        <url>https://gitee.com/mofayun/mofayun-cloud-dependencies</url>
        <connection>https://gitee.com/mofayun/mofayun-cloud-dependencies.git</connection>
    </scm>

    <developers>
        <developer>
            <id>Li Xinjie</id>
            <name>Li Xinjie</name>
            <email>lixinjie@mofayun.cloud</email>
            <roles>
                <role>Project Manager</role>
                <role>Architect</role>
            </roles>
            <timezone>+8</timezone>
        </developer>
    </developers>
</project>