<?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不能自定义，需要与sonatype网站建好的namespace名称对应，有多个namespace无所谓，选择一个即可，否则上传失败一直报not allow groupId -->
    <groupId>io.gitee.javasme</groupId>
    <artifactId>jbolt-framework</artifactId>
    <!-- 此处版本号每次上传发布的时候需要修改,否则上传报错Deployment Deployment failed while publishing-->
    <version>1.2.02</version>
    <packaging>pom</packaging>
    <name>JBolt框架</name>
    <description>框架</description>
    <url>https://gitee.com/javasme/jbolt-framework</url>

    <developers>
        <developer>
            <name>边疆</name>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>Apache License 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <!--  填写自己的git地址  -->
    <scm>
        <connection>scm:git:git://gitee.com/javasme</connection>
        <developerConnection>scm:git:git@gitee.com/javasme</developerConnection>
        <url>https://gitee.com/javasme</url>
        <tag>HEAD</tag>
    </scm>

    <modules>
        <module>jbolt-framework-common</module>
        <module>jbolt-framework-jdbc</module>
        <module>jbolt-framework-redis</module>
        <module>jbolt-framework-distribute</module>
        <module>jbolt-framework-formula</module>
        <module>jbolt-framework-spring</module>
        <module>jbolt-framework-jdbi</module>
        <module>jbolt-framework-qrcode</module>
        <module>jbolt-framework-opencv</module>
    </modules>

    <properties>
        <java.version>21</java.version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <version.log4j-core>2.17.2</version.log4j-core>
        <version.log4j-slf4j-impl>2.17.2</version.log4j-slf4j-impl>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.36</version>
            </dependency>
            <dependency>
                <groupId>org.fusesource.jansi</groupId>
                <artifactId>jansi</artifactId>
                <version>2.4.0</version>
            </dependency>
            <dependency>
                <groupId>jakarta.servlet</groupId>
                <artifactId>jakarta.servlet-api</artifactId>
                <version>5.0.0</version>
            </dependency>
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>4.2.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.json</groupId>
                        <artifactId>json</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20231013</version>
            </dependency>

            <!---->

            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-jdbc</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-jdbi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-redis</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-distribute</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-opencv</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-qrcode</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>io.gitee.javasme</groupId>
                <artifactId>jbolt-framework-springboot-redis-starter</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <compilerArgs>
                        <arg>-Xlint:none</arg> <!-- 关闭所有警告 -->
                    </compilerArgs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.1.0</version>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <excludeResources>true</excludeResources>
                    <useDefaultExcludes>true</useDefaultExcludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.6.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!-- 忽略错误，继续构建 -->
                    <failOnError>false</failOnError>
                    <!-- 忽略警告，也可以不设置，因为failOnError为false时，警告不会导致失败 -->
                    <failOnWarnings>false</failOnWarnings>
                    <!-- 禁用doclint，这样就不会检查注释的规范性和缺失问题 -->
                    <additionalOptions>-Xdoclint:none</additionalOptions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>1.6</version>
                <configuration>
                    <executable>C:\App\GnuPG\bin\gpg.exe</executable>
                </configuration>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>0.4.0</version>
                <extensions>true</extensions>
                <configuration>
                    <publishingServerId>maven-central-repository</publishingServerId>
                    <tokenAuth>true</tokenAuth>
                </configuration>
            </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://oss.sonatype.org/</nexusUrl>
                    <autoReleaseAfterClose>true</autoReleaseAfterClose> <!-- 自动发布 -->
                </configuration>
            </plugin>

        </plugins>
    </build>
</project>