<?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>
    <parent>
        <groupId>top.continew</groupId>
        <artifactId>continew-starter-dependencies</artifactId>
        <version>${revision}</version>
        <relativePath>./continew-starter-dependencies</relativePath>
    </parent>

    <artifactId>continew-starter</artifactId>
    <packaging>pom</packaging>
    <name>ContiNew Starter</name>
    <description>
        ContiNew Starter（Continue New Starter）基于“约定优于配置”的理念，
        再次精简常规配置，提供一个更为完整的配置解决方案，帮助开发人员更加快速的集成常用第三方库或工具到 Spring Boot Web 应用程序中。
        ContiNew Starter 包含了一系列经过企业实践优化的依赖包（如 MyBatis-Plus、SaToken），
        可轻松集成到应用中，为开发人员减少手动引入依赖及配置的麻烦，为 Spring Boot Web 项目的灵活快速构建提供支持。
    </description>

    <properties>
        <!-- Maven Environment Versions -->
        <java.version>17</java.version>
        <resource.delimiter>@</resource.delimiter>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <maven.javadoc.failOnError>false</maven.javadoc.failOnError>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <modules>
        <module>continew-starter-dependencies</module>
        <module>continew-starter-bom</module>
        <module>continew-starter-core</module>
        <module>continew-starter-json</module>
        <module>continew-starter-api-doc</module>
        <module>continew-starter-web</module>
        <module>continew-starter-auth</module>
        <module>continew-starter-data</module>
        <module>continew-starter-cache</module>
        <module>continew-starter-security</module>
        <module>continew-starter-ratelimiter</module>
        <module>continew-starter-idempotent</module>
        <module>continew-starter-trace</module>
        <module>continew-starter-captcha</module>
        <module>continew-starter-messaging</module>
        <module>continew-starter-log</module>
        <module>continew-starter-file</module>
        <module>continew-starter-storage</module>
        <module>continew-starter-license</module>
        <module>continew-starter-extension</module>
    </modules>

    <build>
        <plugins>
            <!-- 编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <compilerArgument>-parameters</compilerArgument>
                </configuration>
            </plugin>
            <!-- 代码格式化插件 -->
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>apply</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <java>
                        <removeUnusedImports/>
                        <eclipse>
                            <file>.style/p3c-codestyle.xml</file>
                        </eclipse>
                        <licenseHeader>
                            <file>.style/license-header</file>
                        </licenseHeader>
                    </java>
                </configuration>
            </plugin>
            <!-- 统一版本号插件 -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <configuration>
                    <updatePomFile>true</updatePomFile>
                    <flattenMode>oss</flattenMode>
                    <pomElements>
                        <parent>expand</parent>
                        <properties>keep</properties>
                    </pomElements>
                </configuration>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>flatten-clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <url>https://github.com/continew-org/continew-starter</url>
    <licenses>
        <license>
            <name>GNU LESSER GENERAL PUBLIC LICENSE</name>
            <url>http://www.gnu.org/licenses/lgpl.html</url>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>charles7c</id>
            <name>Charles7c</name>
            <email>charles7c@126.com</email>
            <roles>
                <role>Creator</role>
                <role>Java Development Engineer</role>
            </roles>
            <timezone>+8</timezone>
            <url>https://github.com/Charles7c</url>
        </developer>
    </developers>
    <scm>
        <connection>scm:git:git@github.com:continew-org/continew-starter.git</connection>
        <developerConnection>scm:git:git@github.com:continew-org/continew-starter.git</developerConnection>
        <url>https://github.com/continew-org/continew-starter</url>
    </scm>
</project>