<?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>com.lanyuanxiaoyao</groupId>
  <artifactId>leopard</artifactId>
  <version>1.0.0</version>
  <packaging>pom</packaging>

  <modules>
    <module>leopard-core</module>
    <module>leopard-server</module>
    <module>leopard-strategy</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>

    <spring-boot.version>3.5.0</spring-boot.version>
    <spring-cloud.version>2025.0.0</spring-cloud.version>
    <spring-ai.version>1.0.1</spring-ai.version>
    <hibernate.version>6.6.15.Final</hibernate.version>

    <eclipse-collections.version>13.0.0</eclipse-collections.version>
    <hutool.version>5.8.39</hutool.version>
    <liteflow.version>2.15.0</liteflow.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.lanyuanxiaoyao</groupId>
        <artifactId>leopard-core</artifactId>
        <version>1.0.0</version>
      </dependency>

      <dependency>
        <groupId>com.lanyuanxiaoyao</groupId>
        <artifactId>spring-boot-service-template</artifactId>
        <version>1.0.0-SNAPSHOT</version>
      </dependency>

      <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-core</artifactId>
        <version>${hutool.version}</version>
      </dependency>
      <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-http</artifactId>
        <version>${hutool.version}</version>
      </dependency>

      <dependency>
        <groupId>com.yomahub</groupId>
        <artifactId>liteflow-spring-boot-starter</artifactId>
        <version>${liteflow.version}</version>
      </dependency>
      <dependency>
        <groupId>com.yomahub</groupId>
        <artifactId>liteflow-rule-sql</artifactId>
        <version>${liteflow.version}</version>
      </dependency>

      <dependency>
        <groupId>org.hibernate.orm</groupId>
        <artifactId>hibernate-ant</artifactId>
        <version>${hibernate.version}</version>
      </dependency>

      <dependency>
        <groupId>io.github.ralfkonrad.quantlib_for_maven</groupId>
        <artifactId>quantlib</artifactId>
        <version>1.39.0</version>
      </dependency>
      <dependency>
        <groupId>org.ta4j</groupId>
        <artifactId>ta4j-core</artifactId>
        <version>0.17</version>
      </dependency>

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

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.14.0</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring-boot.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <distributionManagement>
    <repository>
      <id>${releases.id}</id>
      <name>${releases.name}</name>
      <url>${releases.url}</url>
    </repository>
    <snapshotRepository>
      <id>${snapshots.id}</id>
      <name>${snapshots.name}</name>
      <url>${snapshots.url}</url>
    </snapshotRepository>
  </distributionManagement>

</project>