<?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>cn.dreamfame</groupId>
  <artifactId>df-core</artifactId>
  <version>1.0.14</version>
  <packaging>pom</packaging>
  <name>df-core</name>
  <url>https://github.com/dreamfame/df-core</url>
  <description>df-core is the core of dream-framework</description>
  <developers>
    <developer>
      <id>dreamfame</id>
      <name>夏日凉风</name>
      <email>liuliuonlai@163.com</email>
      <roles>
        <role>Java Development Engineer</role>
      </roles>
      <timezone>2024-01-30 09:06:33</timezone>
    </developer>
  </developers>
  <licenses>
    <license>
      <name>GNU LESSER GENERAL PUBLIC LICENSE</name>
      <url>http://www.gnu.org/licenses/lgpl.html</url>
    </license>
  </licenses>
  <scm>
    <connection>https://github.com/dreamfame/df-core.git</connection>
    <developerConnection>https://github.com/dreamfame</developerConnection>
    <url>https://github.com/dreamfame/df-core.git</url>
  </scm>
  <modules>
    <module>df-core-launch</module>
    <module>df-core-tool</module>
    <module>df-core-cloud</module>
    <module>df-core-boot</module>
    <module>df-core-mp</module>
    <module>df-core-log</module>
    <module>df-core-secure</module>
  </modules>

  <properties>
    <df.core.version>1.0.14</df.core.version>

    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <skipTests>True</skipTests>

    <spring-boot.version>3.1.5</spring-boot.version>
    <spring-cloud.version>2022.0.4</spring-cloud.version>
    <spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version>
    <spring-cloud-starter-oauth2.version>2.2.5.RELEASE</spring-cloud-starter-oauth2.version>
    <spring-boot-admin.version>3.1.8</spring-boot-admin.version>
    <spring-cloud-bootstrap.version>4.0.4</spring-cloud-bootstrap.version>

    <fastjson.version>1.2.83_noneautotype</fastjson.version>
    <nacos.version>2.0.2</nacos.version>
    <velocity.version>1.7</velocity.version>
    <commons-lang3.version>3.7</commons-lang3.version>
    <mapstruct-plus.version>1.3.5</mapstruct-plus.version>
    <mybatis.version>3.5.14</mybatis.version>
    <mybatis-plus.version>3.5.4.1</mybatis-plus.version>
    <mybatis-plus-generator.version>3.4.1</mybatis-plus-generator.version>
    <mysql-connector.version>8.0.29</mysql-connector.version>
    <spring-data-commons.version>2.7.0</spring-data-commons.version>
    <jjwt.version>0.9.1</jjwt.version>
    <aliyun-oss.version>2.5.0</aliyun-oss.version>
    <logstash-logback.version>5.3</logstash-logback.version>
    <admin-starter-server.version>2.7.0</admin-starter-server.version>
    <minio.version>8.4.1</minio.version>
    <nimbus-jose-jwt.version>9.23</nimbus-jose-jwt.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${spring-boot.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>${spring-cloud.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <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>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-configuration-processor</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.retry</groupId>
      <artifactId>spring-retry</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>8.0.1.Final</version>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>release</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.2.1</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.10.1</version>
            <configuration>
              <source>21</source>
              <show>private</show>
              <nohelp>true</nohelp>
              <charset>UTF-8</charset>
              <encoding>UTF-8</encoding>
              <docencoding>UTF-8</docencoding>
              <doclint>none</doclint>
            </configuration>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <configuration>
              <!-- 改成你自己的路径 -->
              <executable>D:\Program Files (x86)\GnuPG\bin\gpg.exe</executable>
            </configuration>
            <version>3.1.0</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.12.1</version>
            <configuration>
              <source>21</source>
              <target>21</target>
              <encoding>UTF-8</encoding>
            </configuration>
          </plugin>
          <!--Release -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>3.0.1</version>
          </plugin>
          <plugin>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
            <executions>
              <execution>
                <id>default-deploy</id>
                <phase>deploy</phase>
                <goals>
                  <goal>deploy</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>central</publishingServerId>
              <tokenAuth>true</tokenAuth>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <version>2.0.1</version>
          </plugin>
        </plugins>
      </build>
      <!-- 这里配置的ossrh要与settings.xml的一致，不然发布会出错 -->
      <distributionManagement>
        <snapshotRepository>
          <!-- 与settings.xml的server.id保持一致 -->
          <id>central</id>
          <url>https://central.sonatype.com/</url>
        </snapshotRepository>
      </distributionManagement>
    </profile>
  </profiles>

</project>
