<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>io.gitee.sander-o</groupId>
    <artifactId>tools</artifactId>
    <version>1.0.6.5</version>

    <packaging>pom</packaging>

    <name>${project.artifactId}</name>

    <description>Portable toolbox to make coding easier!
        Most of the tools and methods of the project are searchable on the Internet, and the concept of this project is
        to solve the problem that searching on the Internet is time-consuming and laborious, and it is not very easy to
        use
    </description>

    <url>https://gitee.com/sander-o/tools</url>

    <licenses>
        <license>
            <name>The MIT License</name>
            <url>https://gitee.com/sander-o/tools/blob/release/LICENSE</url>
        </license>
    </licenses>

    <organization>
        <name>sander-o</name>
        <url>https://gitee.com/sander-o</url>
    </organization>

    <developers>
        <developer>
            <id>sander</id>
            <name>sander-o</name>
            <email>ailuoli.tao@gmail.com</email>
            <roles>
                <role>Committer</role>
            </roles>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:svn://gitee.com/sander-o/tools.git</connection>
        <developerConnection>scm:git:ssh://gitee.com/sander-o/tools.git</developerConnection>
        <url>https://gitee.com/sander-o/tools/tree/release/</url>
    </scm>

    <modules>
        <module>bedrock</module>
        <module>encrypt</module>
        <module>fortify</module>
        <module>tools-spring-boot-starter</module>
    </modules>

    <properties>
        <copyright>2024</copyright>
        <spring.application.name>tools</spring.application.name>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!--    maven-compiler-plugin    -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <!--    plugin.version    -->
        <versions-maven-plugin.version>2.7</versions-maven-plugin.version>
        <git-commit-id-plugin.version>2.1.15</git-commit-id-plugin.version>
        <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
        <maven-surefire-plugin.version>2.5</maven-surefire-plugin.version>
        <maven-compiler-plugin.version>3.3</maven-compiler-plugin.version>
        <maven-site-plugin.version>3.7.1</maven-site-plugin.version>
        <maven-project-info-reports-plugin.version>3.0.0</maven-project-info-reports-plugin.version>
        <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
        <central-publishing-maven-plugin.version>0.4.0</central-publishing-maven-plugin.version>
        <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
        <maven-javadoc-plugin.version>2.9.1</maven-javadoc-plugin.version>

        <!-- framework.dependencies -->
        <!-- spring.dependencies -->
        <spring-boot-starter.version>2.7.1</spring-boot-starter.version>
        <spring-cloud.varsion>2021.0.6</spring-cloud.varsion>
        <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
        <!-- log4j.dependencies -->
        <lombk.version>1.18.24</lombk.version>
        <slf4j.version>1.7.21</slf4j.version>
        <logback.version>1.1.7</logback.version>

        <!--    module.dependency    -->
        <fastjson.version>1.2.83</fastjson.version>
        <commons-codec.version>1.15</commons-codec.version>
        <java-jwt.version>4.3.0</java-jwt.version>
        <byte-buddy.version>1.11.22</byte-buddy.version>
        <aspectjrt.version>1.9.4</aspectjrt.version>
        <aspectjweaver.version>1.9.7</aspectjweaver.version>
        <thumbnailator.version>0.4.8</thumbnailator.version>
        <poi.version>5.2.2</poi.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/io.gitee.sander-o/bedrock -->
            <dependency>
                <groupId>io.gitee.sander-o</groupId>
                <artifactId>bedrock</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/io.gitee.sander-o/encrypt -->
            <dependency>
                <groupId>io.gitee.sander-o</groupId>
                <artifactId>encrypt</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/io.gitee.sander-o/fortify -->
            <dependency>
                <groupId>io.gitee.sander-o</groupId>
                <artifactId>fortify</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot-starter.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.varsion}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-alibaba-dependencies -->
            <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>

            <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombk.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
                <scope>compile</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.auth0/java-jwt -->
            <dependency>
                <groupId>com.auth0</groupId>
                <artifactId>java-jwt</artifactId>
                <version>${java-jwt.version}</version>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${byte-buddy.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectjrt.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectjweaver.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
            <dependency>
                <groupId>net.coobird</groupId>
                <artifactId>thumbnailator</artifactId>
                <version>${thumbnailator.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi.version}</version>
                <optional>true</optional>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi.version}</version>
                <optional>true</optional>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <finalName>${project.name}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/**</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <!-- Maven插件发布 -->
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>${central-publishing-maven-plugin.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <publishingServerId>central</publishingServerId>
                    <tokenAuth>true</tokenAuth>
                    <autoPublish>true</autoPublish>
                </configuration>
            </plugin>
            <!-- 签名插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <version>${maven-gpg-plugin.version}</version>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 一键更新子模块版本号 mvn -N versions:update-child-modules -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>${versions-maven-plugin.version}</version>
                <configuration>
                    <generateBackupPoms>false</generateBackupPoms>
                </configuration>
            </plugin>
            <!--git的版本信息-->
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>${git-commit-id-plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>${maven-resources-plugin.version}</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <delimiters>
                        <delimit>$</delimit>
                    </delimiters>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <!-- 不执行单元测试，但会编译测试类，并在target/test-classes目录下生成相应的class -->
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <compilerArgument>-Xlint:unchecked</compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>${maven-site-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${maven-project-info-reports-plugin.version}</version>
            </plugin>
            <!--生成源码jar包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven-source-plugin.version}</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 生成javadoc 文件 java注释规范存在问题需要调整后在生成javadoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc-plugin.version}</version>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>aliyun</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>ailuoli</id>
            <url>http://ailuoli.com.cn:17993/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>aliyun-plugin</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>ailuoli-plugin</id>
            <url>http://ailuoli.com.cn:17993/repository/maven-public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <profiles>
        <profile>
            <id>ossrh</id>
            <properties>
                <gpg.executable>gpg</gpg.executable>
                <gpg.passphrase>Ailuoli@123</gpg.passphrase>
            </properties>
        </profile>
        <!--        <profile>-->
        <!--            <id>dev</id>-->
        <!--            <properties>-->
        <!--                <repository-id>ailuoli-dev-releases</repository-id>-->
        <!--                <repository-url>http://ailuoli.com.cn:17993/repository/ailuoli-dev-releases/</repository-url>-->
        <!--                <snapshot-id>ailuoli-dev-snapshots</snapshot-id>-->
        <!--                <snapshot-url>http://ailuoli.com.cn:17993/repository/ailuoli-dev-snapshots/</snapshot-url>-->
        <!--            </properties>-->
        <!--        </profile>-->
        <!--        <profile>-->
        <!--            <id>sit</id>-->
        <!--            <properties>-->
        <!--                <repository-id>ailuoli-sit-releases</repository-id>-->
        <!--                <repository-url>http://ailuoli.com.cn:17993/repository/ailuoli-sit-releases/</repository-url>-->
        <!--                <snapshot-id>ailuoli-sit-snapshots</snapshot-id>-->
        <!--                <snapshot-url>http://ailuoli.com.cn:17993/repository/ailuoli-sit-snapshots/</snapshot-url>-->
        <!--            </properties>-->
        <!--        </profile>-->
        <!--        <profile>-->
        <!--            <id>uat</id>-->
        <!--            <properties>-->
        <!--                <repository-id>ailuoli-uat-releases</repository-id>-->
        <!--                <repository-url>http://ailuoli.com.cn:17993/repository/ailuoli-uat-releases/</repository-url>-->
        <!--                <snapshot-id>ailuoli-uat-snapshots</snapshot-id>-->
        <!--                <snapshot-url>http://ailuoli.com.cn:17993/repository/ailuoli-uat-snapshots/</snapshot-url>-->
        <!--            </properties>-->
        <!--        </profile>-->
        <!--        <profile>-->
        <!--            <id>pre</id>-->
        <!--            <properties>-->
        <!--                <repository-id>ailuoli-pre-releases</repository-id>-->
        <!--                <repository-url>http://ailuoli.com.cn:17993/repository/ailuoli-pre-releases/</repository-url>-->
        <!--                <snapshot-id>ailuoli-pre-snapshots</snapshot-id>-->
        <!--                <snapshot-url>http://ailuoli.com.cn:17993/repository/ailuoli-pre-snapshots/</snapshot-url>-->
        <!--            </properties>-->
        <!--        </profile>-->
        <!--        <profile>-->
        <!--            <id>pro</id>-->
        <!--            <activation>-->
        <!--                <activeByDefault>true</activeByDefault>-->
        <!--            </activation>-->
        <!--            <properties>-->
        <!--                <repository-id>ailuoli-releases</repository-id>-->
        <!--                <repository-url>http://ailuoli.com.cn:17993/repository/ailuoli-releases/</repository-url>-->
        <!--                <snapshot-id>ailuoli-snapshots</snapshot-id>-->
        <!--                <snapshot-url>http://ailuoli.com.cn:17993/repository/ailuoli-snapshots/</snapshot-url>-->
        <!--            </properties>-->
        <!--        </profile>-->
    </profiles>

    <distributionManagement>
        <repository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2</url>
        </snapshotRepository>
        <!--        <repository>-->
        <!--            <id>${repository-id}</id>-->
        <!--            <url>${repository-url}</url>-->
        <!--        </repository>-->
        <!--        <snapshotRepository>-->
        <!--            <id>${snapshot-id}</id>-->
        <!--            <url>${snapshot-url}</url>-->
        <!--        </snapshotRepository>-->
    </distributionManagement>

</project>
