<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.dev33</groupId>
    <artifactId>sa-token-bom</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>
    <name>sa-token-bom</name>
    <description>Sa-Token Bom</description>
    <url>https://github.com/dromara/sa-token</url>

    <properties>
        <revision>1.45.0</revision>

        <!-- Maven GPG Plugin & Maven Central Portal -->
        <maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
        <central.publishing.maven.version>0.10.0</central.publishing.maven.version>
    </properties>

    <!-- 开源协议 apache 2.0 -->
    <licenses>
        <license>
            <name>Apache 2</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
            <comments>A business-friendly OSS license</comments>
        </license>
    </licenses>

    <!-- 仓库信息 -->
    <scm>
        <tag>master</tag>
        <url>https://github.com/dromara/sa-token.git</url>
        <connection>scm:git:https://github.com/dromara/sa-token.git</connection>
        <developerConnection>scm:git:https://github.com/dromara/sa-token.git</developerConnection>
    </scm>

    <!-- 作者信息 -->
    <developers>
        <developer>
            <name>click33</name>
            <email>2393584716@qq.com</email>
        </developer>
    </developers>

    <dependencyManagement>
        <dependencies>
            <!-- sa-token 核心 -->
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-core</artifactId>
                <version>${revision}</version>
            </dependency>

            <!-- region sa-token-starter -->
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jboot-plugin</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jfinal-plugin</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-reactor-spring-boot-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-reactor-spring-boot3-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-reactor-spring-boot4-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-servlet</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jakarta-servlet</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-solon-plugin</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot-webmvc-reactor-v2v3v4-common</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot-reactor-v2v3v4-common</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot-webmvc-v3v4-common</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot3-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot4-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <!-- endregion-->

            <!-- region sa-token-plugin -->
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-plugin</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-alone-redis</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-alone-redis-by-spring-boot4</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-dubbo</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-dubbo3</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-grpc</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redis-template</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jackson</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jackson3</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-fastjson</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-fastjson2</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-snack3</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redis-jackson</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-forest</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-okhttps</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redisson-spring-boot-starter</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redisson</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redisx</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-hutool-timed-cache</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-thymeleaf</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-freemarker</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-jwt</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-oauth2</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-apikey</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-sign</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-quick-login</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-aop</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-el</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-sso</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-temp-jwt</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redis-template-jdk-serializer</artifactId>
                <version>${revision}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-serializer-features</artifactId>
                <version>${revision}</version>
            </dependency>
            <!-- endregion-->

        </dependencies>
    </dependencyManagement>

    <!-- 项目构建 -->
    <build>
        <plugins>

            <!-- 源码编译 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.15.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

            <!-- flatten 统一版本号管理 -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>1.7.3</version>
                <configuration>
                    <updatePomFile>true</updatePomFile>
                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
                </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>

            <!-- gpg 签名 -->
            <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>

            <!-- 新版 Central Portal 中央仓库上传   -->
            <plugin>
                <groupId>org.sonatype.central</groupId>
                <artifactId>central-publishing-maven-plugin</artifactId>
                <version>${central.publishing.maven.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <!-- 必须与 settings.xml 中 server 的 id 一致 -->
                    <publishingServerId>central</publishingServerId>
                    <!-- 是否自动发布。设为 true 后，上传完成无需手动点击发布 -->
                    <!-- <autoPublish>true</autoPublish> -->
                    <!-- 等待直到发布完成，让构建过程等待最终结果 -->
                    <!-- <waitUntil>published</waitUntil> -->
                </configuration>
            </plugin>

        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-enforcer-plugin</artifactId>
                                        <versionRange>[1.0.0,)</versionRange>
                                        <goals>
                                            <goal>enforce</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>
