<?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>apijson.boot</groupId>
    <artifactId>apijson-boot-multi-datasource</artifactId>
    <version>8.3.0</version>
    <packaging>jar</packaging>

    <name>APIJSONBoot-MultiDataSource</name>
    <description>Demo project for APIJSON Server based on SpringBoot</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>17</java.version>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <version>3.2.5</version>
    </properties>

    <dependencies>
        <!-- APIJSON 需要用的依赖库，1.2.0 以上 -->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.64</version>
        </dependency>

        <!-- apijson-framework 需要用的依赖库，6.0.0 以上 -->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>6.0.0</version>
        </dependency>

        <!-- 单元测试：可使用 libs 目录的 unitauto-java.jar 和 unitauto-jar.jar 来替代，两种方式二选一 <<<<<<<<< -->
        <dependency>
            <groupId>com.github.TommyLemon</groupId>
            <artifactId>unitauto-java</artifactId>
            <version>3.0.5</version>
        </dependency>
        <dependency>
            <groupId>com.github.TommyLemon</groupId>
            <artifactId>unitauto-jar</artifactId>
            <version>3.0.5</version>
        </dependency>
        <dependency>
            <groupId>io.github.classgraph</groupId>
            <artifactId>classgraph</artifactId>
            <version>4.8.146</version>
        </dependency>
        <!-- 单元测试：可使用 libs 目录的 unitauto-java.jar 和 unitauto-jar.jar 来替代，两种方式二选一 >>>>>>>>> -->


        <!-- 可使用 libs 目录的 apijson-orm.jar, apijson-framework.jar, apijson-column.jar 来替代，两种方式二选一 <<<<<<<<<< -->
        <dependency>
            <groupId>com.github.Tencent</groupId>
            <artifactId>APIJSON</artifactId>
            <version>8.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.APIJSON</groupId>
            <artifactId>apijson-framework</artifactId>
            <version>8.3.0</version>
        </dependency>
        <!--   fastjson2, jackson, gson 等 JSON 库插件选其中一个即可 <<<<<<<<<<<<<<<     -->
        <dependency>
            <groupId>com.github.APIJSON</groupId>
            <artifactId>apijson-fastjson2</artifactId>
            <version>1.3.0</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-jackson</artifactId>-->
<!--            <version>1.3.0</version>-->
<!--        </dependency>-->
        <!--   fastjson2, jackson, gson 等 JSON 库插件选其中一个即可 >>>>>>>>>>>>>>>     -->

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
            <version>1.11.0</version>
        </dependency>

        <dependency>
            <groupId>com.databend</groupId>
            <artifactId>databend-jdbc</artifactId>
            <version>0.3.9</version>
        </dependency>

<!--        7.9.0 及以下需要依赖 apijson-column -->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-column</artifactId>-->
<!--            <version>2.1.5</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>com.github.Tencent</groupId>-->
<!--                    <artifactId>APIJSON</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.surrealdb</groupId>-->
<!--            <artifactId>surrealdb</artifactId>-->
<!--            <version>0.2.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-surrealdb</artifactId>-->
<!--            <version>1.0.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.duckdb</groupId>-->
<!--            <artifactId>duckdb_jdbc</artifactId>-->
<!--            <version>1.1.3</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.apache.iotdb</groupId>-->
<!--            <artifactId>iotdb-jdbc</artifactId>-->
<!--            <version>1.3.1</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.apache.iotdb</groupId>-->
<!--            <artifactId>iotdb-session</artifactId>-->
<!--            <version>1.3.1</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-milvus</artifactId>-->
<!--            <version>1.1.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-influxdb</artifactId>-->
<!--            <version>1.1.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-mongodb</artifactId>-->
<!--            <version>1.0.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-cassandra</artifactId>-->
<!--            <version>0.9.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-milvus</artifactId>-->
<!--            <version>1.1.0</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>com.github.Tencent</groupId>-->
<!--                    <artifactId>APIJSON</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
<!--&lt;!&ndash;        <dependency>&ndash;&gt;-->
<!--&lt;!&ndash;            <groupId>com.github.APIJSON</groupId>&ndash;&gt;-->
<!--&lt;!&ndash;            <artifactId>apijson-influxdb</artifactId>&ndash;&gt;-->
<!--&lt;!&ndash;            <version>1.1.0</version>&ndash;&gt;-->
<!--&lt;!&ndash;        </dependency>&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-mongodb</artifactId>-->
<!--            <version>1.0.0</version>-->
<!--&lt;!&ndash;            <scope>provided</scope>&ndash;&gt;-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>com.github.Tencent</groupId>-->
<!--                    <artifactId>APIJSON</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.github.APIJSON</groupId>-->
<!--            <artifactId>apijson-cassandra</artifactId>-->
<!--            <version>0.9.0</version>-->
<!--&lt;!&ndash;            <scope>provided</scope>&ndash;&gt;-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>com.github.Tencent</groupId>-->
<!--                    <artifactId>APIJSON</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
        <!-- 可使用 libs 目录的 apijson-orm.jar, apijson-framework.jar, apijson-column.jar 来替代，两种方式二选一 >>>>>>>>>> -->

        <!-- 需要用的数据库 JDBC 驱动 -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>9.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>42.7.3</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.jtds</groupId>
            <artifactId>jtds</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>3.39.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>Dm7JdbcDriver15</artifactId>
            <version>7.6.0.165</version>
        </dependency>
        <dependency>
            <groupId>com.taosdata.jdbc</groupId>
            <artifactId>taos-jdbcdriver</artifactId>
            <version>2.0.38</version>
        </dependency>
        <dependency>
            <groupId>org.influxdb</groupId>
            <artifactId>influxdb-java</artifactId>
            <version>2.23</version>
        </dependency>
        <dependency>
            <groupId>net.snowflake</groupId>
            <artifactId>snowflake-jdbc</artifactId>
            <version>3.0.1</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.datastax.oss</groupId>-->
<!--            <artifactId>java-driver-core</artifactId>-->
<!--            <version>4.15.0</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.databricks</groupId>
            <artifactId>databricks-jdbc</artifactId>
            <version>2.6.25-1</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-jdbc</artifactId>
            <version>2.0.3</version>
        </dependency>

        <!--        <dependency>-->
        <!--            <groupId>org.opengauss</groupId>-->
        <!--            <artifactId>opengauss-jdbc</artifactId>-->
        <!--            <version>6.0.0-og</version>-->
        <!--        </dependency>-->
        <!--        <dependency>-->
        <!--            <groupId>org.opengauss</groupId>-->
        <!--            <artifactId>opengauss-jdbc</artifactId>-->
        <!--            <version>5.1.0-og</version>-->
        <!--        </dependency>-->

        <!-- Oracle, SQLServer 等其它数据库的 JDBC 驱动，可以在这里加上 Maven 依赖或 libs 目录放 Jar 包并依赖 -->
        <!-- 数据库 JDBC 驱动 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -->

<!--        <dependency>-->
<!--            <groupId>org.datayoo.moql</groupId>-->
<!--            <artifactId>moql-querier-milvus</artifactId>-->
<!--            <version>1.0.3</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.logging.log4j</groupId>-->
<!--                    <artifactId>log4j-slf4j-impl</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>io.milvus</groupId>-->
<!--            <artifactId>milvus-sdk-java</artifactId>-->
<!--            <version>2.2.2</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.logging.log4j</groupId>-->
<!--                    <artifactId>log4j-slf4j-impl</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->
        <!-- APIJSONBoot 需要用的 SpringBoot 框架，1.4.0 以上 -->
<!--        <dependency>-->
<!--            <groupId>org.datayoo.moql</groupId>-->
<!--            <artifactId>moql-querier-milvus</artifactId>-->
<!--            <version>1.0.0</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>io.milvus</groupId>-->
<!--            <artifactId>milvus-sdk-java</artifactId>-->
<!--            <version>2.2.2</version>-->
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.logging.log4j</groupId>-->
<!--                    <artifactId>log4j-slf4j-impl</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
<!--        </dependency>-->


        <!-- APIJSONBoot 需要用的 SpringBoot 框架，JDK 17+ 对应 SpringBoot 3.0+，排除导致编译报错的 snakeyaml 和 logback，重新依赖 snakeyaml -->
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>2.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>3.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
<!--                <exclusion>-->
<!--                    <groupId>org.slf4j</groupId>-->
<!--                    <artifactId>slf4j-simple</artifactId>-->
<!--                </exclusion>-->
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
            <version>3.2.5</version>
        </dependency>


        <!-- DemoController /delegate 代理转发请求 HTTP PATCH 方法需要，使用 PATCH 可以取消注释 -->
                <dependency>
                    <groupId>org.apache.httpcomponents.client5</groupId>
                    <artifactId>httpclient5</artifactId>
                    <version>5.3</version>
                </dependency>

<!--        &lt;!&ndash; 需要用的 HikariCP 数据库连接池库，3.1.0 以上 &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>com.zaxxer</groupId>-->
<!--            <artifactId>HikariCP</artifactId>-->
<!--            <version>5.0.1</version>-->
<!--        </dependency>-->

        <!-- 需要用的 Druid 数据库连接池库，1.0.29 以上 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.9</version>
        </dependency>

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>5.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>3.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>redis.clients</groupId>
                    <artifactId>jedis</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.datayoo.moql</groupId>-->
<!--            <artifactId>moql-meta</artifactId>-->
<!--            <version>1.1.8</version>-->
<!--            <scope>compile</scope>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.datayoo.moql</groupId>-->
<!--            <artifactId>moql-engine</artifactId>-->
<!--            <version>1.4.6</version>-->
<!--            <scope>compile</scope>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.datayoo.moql</groupId>-->
<!--            <artifactId>moql-querier</artifactId>-->
<!--            <version>1.2.3</version>-->
<!--            <scope>compile</scope>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>4.0.3</version>
<!--            <exclusions>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.poi</groupId>-->
<!--                    <artifactId>poi-ooxml-schemas</artifactId>-->
<!--                </exclusion>-->
<!--                <exclusion>-->
<!--                    <groupId>org.apache.xmlbeans</groupId>-->
<!--                    <artifactId>xmlbeans</artifactId>-->
<!--                </exclusion>-->
<!--            </exclusions>-->
        </dependency>

<!--        &lt;!&ndash; 重新引入合适版本 &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>org.apache.xmlbeans</groupId>-->
<!--            <artifactId>xmlbeans</artifactId>-->
<!--            <version>5.1.1</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.apache.poi</groupId>-->
<!--            <artifactId>poi-ooxml</artifactId>-->
<!--            <version>5.2.5</version>-->
<!--        </dependency>-->

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>3.2.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <!-- Allow access to Spring milestones and snapshots -->
    <!-- (you don't need this if you are using anything after 0.5.0.RELEASE) -->
    <repositories>
        <!-- APIJSON 必须用到的托管平台 -->
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>

        <repository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>

</project>
