<?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">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.tencent</groupId>
    <artifactId>materialFaceJar</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>materialFaceJar</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>17</java.version>
        <springboot.version>3.2.6</springboot.version>
        <httpcore.version>5.2.5</httpcore.version>
        <httpclilent.version>5.3.1</httpclilent.version>
    </properties>
    <dependencies>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>

        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
            <version>2.3.0</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
        </dependency>


        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.16</version>
        </dependency>


        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.2</version>
        </dependency>


        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.6</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.13.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
            <version>4.4</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
            <version>1.12.0</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.16.1</version>
        </dependency>

        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.5.0</version>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.10.2</version>
            <scope>test</scope>

        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents.core5</groupId>
            <artifactId>httpcore5</artifactId>
            <version>${httpcore.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents.core5</groupId>
            <artifactId>httpcore5-h2</artifactId>
            <version>${httpcore.version}</version>
        </dependency>


        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>${httpclilent.version}</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.3.4</version>
        </dependency>

        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java-common</artifactId>
            <version>3.1.1216</version>
        </dependency>

        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java-facefusion</artifactId>
            <version>3.1.1201</version>
        </dependency>



        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-logging</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>


        <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>



        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>33.2.0-jre</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-commons -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-commons</artifactId>
            <version>4.1.3</version>
        </dependency>

    </dependencies>

    <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <profile.active>dev</profile.active>
                <swaggerEnable>true</swaggerEnable>
                <jdbcUser>edu_train_dev_user</jdbcUser>
                <jdbcPassword>dev_user_123#!45*)6</jdbcPassword>
                <jdbcUrl>jdbc:mysql://${jdbcIp}:${jdbcPort}/edu-train-dev?useUnicode=true&amp;characterEncoding=UTF-8&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=Hongkong&amp;useSSL=false&amp;allowMultiQueries=true</jdbcUrl>
                <jdbcIp>47.97.80.223</jdbcIp>
                <jdbcPort>13307</jdbcPort>
                <log4jFile>log4j2-dev.xml</log4jFile>
                <sqlPrintClass>org.apache.ibatis.logging.stdout.StdOutImpl</sqlPrintClass>
                <MAX_FILE_SIZE>300MB</MAX_FILE_SIZE>
                <MAX_REQUEST_FILE_SIZE>500MB</MAX_REQUEST_FILE_SIZE>
                <HTTP_DEFAULT_PROXY_HOST></HTTP_DEFAULT_PROXY_HOST>
                <HTTP_DEFAULT_PROXY_PORT>8080</HTTP_DEFAULT_PROXY_PORT>
                <HTTP_DEFAULT_PROXY_ENABLE>false</HTTP_DEFAULT_PROXY_ENABLE>
            </properties>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profile.active>test</profile.active>
                <swaggerEnable>true</swaggerEnable>
                <jdbcUser>edu_train_dev_user</jdbcUser>
                <jdbcPassword>dev_user_123#!45*)6</jdbcPassword>
                <jdbcUrl>jdbc:mysql://${jdbcIp}:${jdbcPort}/edu-train-dev?useUnicode=true&amp;characterEncoding=UTF-8&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=Hongkong&amp;useSSL=false&amp;allowMultiQueries=true</jdbcUrl>
                <jdbcIp>47.97.80.223</jdbcIp>
                <jdbcPort>13307</jdbcPort>
                <log4jFile>log4j2</log4jFile>
                <MAX_FILE_SIZE>300MB</MAX_FILE_SIZE>
                <MAX_REQUEST_FILE_SIZE>500MB</MAX_REQUEST_FILE_SIZE>
                <sqlPrintClass>org.apache.ibatis.logging.stdout.StdOutImpl</sqlPrintClass>
                <HTTP_DEFAULT_PROXY_HOST></HTTP_DEFAULT_PROXY_HOST>
                <HTTP_DEFAULT_PROXY_PORT>8080</HTTP_DEFAULT_PROXY_PORT>
                <HTTP_DEFAULT_PROXY_ENABLE>false</HTTP_DEFAULT_PROXY_ENABLE>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <swaggerEnable>false</swaggerEnable>
                <jdbcUser>edu_train_dev_user</jdbcUser>
                <jdbcPassword>dev_user_123#!45*)6</jdbcPassword>
                <jdbcUrl>jdbc:mysql://${jdbcIp}:${jdbcPort}/edu-train-dev?useUnicode=true&amp;characterEncoding=UTF-8&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=Hongkong&amp;useSSL=false&amp;allowMultiQueries=true</jdbcUrl>
                <jdbcIp>47.97.80.223</jdbcIp>
                <jdbcPort>13307</jdbcPort>
                <MAX_FILE_SIZE>300MB</MAX_FILE_SIZE>
                <MAX_REQUEST_FILE_SIZE>500MB</MAX_REQUEST_FILE_SIZE>
                <log4jFile>log4j2.xml</log4jFile>
                <sqlPrintClass>org.apache.ibatis.logging.log4j2.Log4j2Impl</sqlPrintClass>
                <HTTP_DEFAULT_PROXY_HOST></HTTP_DEFAULT_PROXY_HOST>
                <HTTP_DEFAULT_PROXY_PORT>8080</HTTP_DEFAULT_PROXY_PORT>
                <HTTP_DEFAULT_PROXY_ENABLE>false</HTTP_DEFAULT_PROXY_ENABLE>
            </properties>
        </profile>
    </profiles>


    <build>
    <resources>
        <resource>
            <directory>
                src/main/resources
            </directory>
            <includes>
                <include>rcb-${profile.active}/*</include>
                <include>application.yml</include>
                <include>application-${profile.active}.yml</include>
                <include>${log4jFile}</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>
                src/main/resources
            </directory>
            <includes>
                <include>i18n/*</include>
                <include>mapper/*</include>
                <include>*/*.xlsx</include>
                <include>*/*.xls</include>
                <include>fonts/*</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.13.0</version>
            <configuration>
                <compilerVersion>17</compilerVersion>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.face.Application</mainClass>
                <includeSystemScope>true</includeSystemScope>
                <layout>JAR</layout>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
   </build>
</project>