<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>org.jeecgframework.boot</groupId>
    <artifactId>physical-parent</artifactId>
    <version>3.7.0</version>
    <packaging>pom</packaging>
    <name>physical ${project.version}</name>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.5</version>
        <relativePath/>
    </parent>

    <properties>
        <jeecgboot.version>3.7.0</jeecgboot.version>
        <java.version>17</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- 微服务 -->
        <spring-cloud.version>2022.0.4</spring-cloud.version>
        <spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version>
        <alibaba.nacos.version>2.0.4</alibaba.nacos.version>
        <seata.version>1.5.2</seata.version>

        <xxl-job-core.version>2.2.0</xxl-job-core.version>
        <fastjson.version>2.0.43</fastjson.version>
        <aviator.version>5.2.6</aviator.version>
        <pegdown.version>1.6.0</pegdown.version>
        <knife4j-spring-boot-starter.version>4.4.0</knife4j-spring-boot-starter.version>
        <!-- 数据库驱动 -->
        <postgresql.version>42.2.25</postgresql.version>
        <ojdbc6.version>11.2.0.3</ojdbc6.version>
        <sqljdbc4.version>4.0</sqljdbc4.version>
        <mysql-connector-java.version>8.0.27</mysql-connector-java.version>
        <hutool.version>5.8.32</hutool.version>
        <!-- 国产数据库驱动 -->
        <kingbase8.version>9.0.0</kingbase8.version>
        <dm8.version>8.1.1.49</dm8.version>

        <!-- 持久层 -->
        <mybatis-plus.version>3.5.3.2</mybatis-plus.version>
        <dynamic-datasource-spring-boot-starter.version>4.1.3</dynamic-datasource-spring-boot-starter.version>
        <druid.version>1.2.22</druid.version>

        <!-- 积木报表-->
        <jimureport-spring-boot-starter.version>1.7.8</jimureport-spring-boot-starter.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons.version>2.6</commons.version>
        <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version>
        <aliyun.oss.version>3.17.3</aliyun.oss.version>
        <!-- shiro -->
        <shiro.version>1.12.0</shiro.version>
        <java-jwt.version>3.11.0</java-jwt.version>
        <shiro-redis.version>3.2.2</shiro-redis.version>
        <codegenerate.version>1.4.9</codegenerate.version>
        <autopoi-web.version>3.7.0</autopoi-web.version>
        <minio.version>8.5.7</minio.version>
        <justauth-spring-boot-starter.version>1.4.0</justauth-spring-boot-starter.version>
        <dom4j.version>1.6.1</dom4j.version>
        <qiniu-java-sdk.version>7.4.0</qiniu-java-sdk.version>
        <jedis.version>3.8.0</jedis.version>
        <!-- Log4j2爆雷漏洞 -->
        <!-- spring boot 3 不支持下列两个版本-->
        <!--<log4j2.version>2.17.0</log4j2.version>
        <logback.version>1.2.9</logback.version>-->
    </properties>

    <modules>
        <module>autopoi</module>
        <module>physical-base-core</module>
        <module>physical-module-system</module>
        <module>physical-launcher</module>
    </modules>

    <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun Repository</name>
            <url>https://maven.aliyun.com/repository/public</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>jeecg</id>
            <name>jeecg Repository</name>
            <url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>jeecg-snapshots</id>
            <name>jeecg-snapshots Repository</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- json -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <!-- markdown -->
        <dependency>
            <groupId>org.pegdown</groupId>
            <artifactId>pegdown</artifactId>
            <version>${pegdown.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>asm</artifactId>
                    <groupId>org.ow2.asm</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!-- spring-cloud-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- spring-cloud-alibaba -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>io.seata</groupId>
                <artifactId>seata-spring-boot-starter</artifactId>
                <version>${seata.version}</version>
            </dependency>

            <!-- system 模块-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-system-biz</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>

            <!-- jeecg tools -->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-common3</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!-- jeecg core -->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-base-core</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!-- system 单体 api -->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-system-api</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!-- system 微服务 api -->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-system-cloud-api</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>

            <!--微服务启动依赖-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-cloud</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--xxl-job定时任务-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-job</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--redis分布式锁-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>jeecg-boot-starter3-lock</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--rabbitmq消息队列-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-rabbitmq</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--rocketmq-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-rocketmq</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--分库分表shardingsphere-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-shardingsphere</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.6.7.Final</version>
                <exclusions>
                    <exclusion>
                        <groupId>commons-collections</groupId>
                        <artifactId>commons-collections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jeecgframework.boot3</groupId>
                <artifactId>hibernate-re</artifactId>
                <version>3.7.0</version>
            </dependency>
            <!-- update-begin-author:chenrui -date:20240104  for：[issue/5723]指定jaxb-runtime版本 -->
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>2.3.3</version>
            </dependency>
            <!-- update-end-author:chenrui -date:20240104  for：[issue/5723]指定jaxb-runtime版本 -->

            <!--mongon db-->
            <dependency>
                <groupId>org.jeecgframework.boot</groupId>
                <artifactId>physical-boot-starter3-mongon</artifactId>
                <version>${jeecgboot.version}</version>
            </dependency>
            <!--人大金仓驱动 版本号V008R006C005B0013 -->
            <dependency>
                <groupId>org.jeecgframework</groupId>
                <artifactId>kingbase8</artifactId>
                <version>9.0.0</version>
                <scope>runtime</scope>
            </dependency>
            <!--达梦8数据库最新驱动 版本号1-3-26-2023.07.26-197096-20046-ENT -->
            <dependency>
                <groupId>com.dameng</groupId>
                <artifactId>Dm8JdbcDriver18</artifactId>
                <version>8.1.1.49</version>
            </dependency>
            <dependency>
                <groupId>com.dameng</groupId>
                <artifactId>DmDialect-for-hibernate5.0</artifactId>
                <version>8.1.1.49</version>
            </dependency>
            <!-- 七牛云SDK -->
            <dependency>
                <groupId>com.qiniu</groupId>
                <artifactId>qiniu-java-sdk</artifactId>
                <version>${qiniu-java-sdk.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>okhttp</artifactId>
                        <groupId>com.squareup.okhttp3</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- dom4j -->
            <dependency>
                <groupId>dom4j</groupId>
                <artifactId>dom4j</artifactId>
                <version>${dom4j.version}</version>
            </dependency>
            <!-- fileupload -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.5</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-io</artifactId>
                        <groupId>commons-io</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- justauth第三方登录  -->
            <dependency>
                <groupId>com.xkcoding.justauth</groupId>
                <artifactId>justauth-spring-boot-starter</artifactId>
                <version>${justauth-spring-boot-starter.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>hutool-core</artifactId>
                        <groupId>cn.hutool</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>fastjson</artifactId>
                        <groupId>com.alibaba</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>4.4.1</version>
            </dependency>
            <!-- hutool工具类-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-core</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-crypto</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-http</artifactId>
                <version>${hutool.version}</version>
            </dependency>
            <!--minio-->
            <dependency>
                <groupId>io.minio</groupId>
                <artifactId>minio</artifactId>
                <version>${minio.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>okio</artifactId>
                        <groupId>com.squareup.okio</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>okhttp</artifactId>
                        <groupId>com.squareup.okhttp3</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- 企业微信和钉钉 api -->
            <dependency>
                <groupId>org.jeecgframework</groupId>
                <artifactId>jeewx-api</artifactId>
                <version>1.5.2</version>
                <exclusions>
                    <exclusion>
                        <artifactId>commons-beanutils</artifactId>
                        <groupId>commons-beanutils</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-lang</artifactId>
                        <groupId>commons-lang</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-collections</artifactId>
                        <groupId>commons-collections</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-logging</artifactId>
                        <groupId>commons-logging</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-io</artifactId>
                        <groupId>commons-io</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- 积木报表-->
            <dependency>
                <groupId>org.jeecgframework.jimureport</groupId>
                <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
                <version>${jimureport-spring-boot-starter.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>autopoi-web</artifactId>
                        <groupId>org.jeecgframework</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>druid</artifactId>
                        <groupId>com.alibaba</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jeecgframework.jimureport</groupId>
                <artifactId>jimureport-nosql-starter</artifactId>
                <version>1.6.0</version>
            </dependency>

            <!--flyway 支持 mysql5.7+、MariaDB10.3.16-->
            <!--mysql5.6，需要把版本号改成5.2.1-->
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>7.15.0</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <!-- 指定JDK编译版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- 打包跳过测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <!-- 避免font文件的二进制文件格式压缩破坏 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>woff</nonFilteredFileExtension>
                        <nonFilteredFileExtension>woff2</nonFilteredFileExtension>
                        <nonFilteredFileExtension>eot</nonFilteredFileExtension>
                        <nonFilteredFileExtension>ttf</nonFilteredFileExtension>
                        <nonFilteredFileExtension>svg</nonFilteredFileExtension>
                        <nonFilteredFileExtension>doc</nonFilteredFileExtension>
                        <nonFilteredFileExtension>docx</nonFilteredFileExtension>
                        <nonFilteredFileExtension>xls</nonFilteredFileExtension>
                        <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.json</include>
                    <include>**/*.ftl</include>
                </includes>
            </resource>
        </resources>
    </build>

    <distributionManagement>
        <repository>
            <id>jeecg</id>
            <name>jeecg Repository</name>
            <url>http://maven.jeecg.com:8090/nexus/content/repositories/jeecg</url>
        </repository>
        <snapshotRepository>
            <id>jeecg-snapshots</id>
            <name>jeecg Snapshot Repository</name>
            <url>http://maven.jeecg.com:8090/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <!-- 环境 -->
    <profiles>
        <!-- 开发 -->
        <profile>
            <id>dev</id>
            <activation>
                <!--默认激活配置-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!--当前环境-->
                <profile.name>dev</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
                <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID，不能使用名称,默认为空-->
                <config.namespace>springboot3</config.namespace>
                <!--Nacos配置分组名称-->
                <config.group>DEFAULT_GROUP</config.group>
                <!--Nacos用户名-->
                <config.username></config.username>
                <!--Nacos密码-->
                <config.password></config.password>
            </properties>
        </profile>
        <!-- 测试Nacos开启鉴权、设置分组和命名空间
        <profile>
            <id>dev</id>
            <properties>
                <profile.name>dev</profile.name>
                <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
                <config.namespace>ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6</config.namespace>
                <config.group>JEECGDEV_GROUP</config.group>
                <config.username>nacos</config.username>
                <config.password>nacos</config.password>
            </properties>
        </profile> -->
        <!-- 测试 -->
        <profile>
            <id>test</id>
            <properties>
                <!--当前环境-->
                <profile.name>test</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
                <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID，不能使用名称,默认为空-->
                <config.namespace>springboot3</config.namespace>
                <!--Nacos配置分组名称-->
                <config.group>DEFAULT_GROUP</config.group>
                <!--Nacos用户名-->
                <config.username></config.username>
                <!--Nacos密码-->
                <config.password></config.password>
            </properties>
        </profile>
        <!-- 生产 -->
        <profile>
            <id>prod</id>
            <properties>
                <!--当前环境-->
                <profile.name>prod</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
                <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID，不能使用名称,默认为空-->
                <config.namespace>springboot3</config.namespace>
                <!--Nacos配置分组名称-->
                <config.group>DEFAULT_GROUP</config.group>
                <!--Nacos用户名-->
                <config.username></config.username>
                <!--Nacos密码-->
                <config.password></config.password>
            </properties>
        </profile>
    </profiles>
</project>