mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 11:13:43 +08:00
498 lines
21 KiB
XML
498 lines
21 KiB
XML
<?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>vip.mate</groupId>
|
|
<artifactId>mateclaw</artifactId>
|
|
<version>${revision}</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>MateClaw</name>
|
|
<description>MateClaw monorepo reactor and Maven parent</description>
|
|
|
|
<!-- Reactor modules. Keep plugin-api before consumers for predictable local builds. -->
|
|
<modules>
|
|
<module>mateclaw-plugin-api</module>
|
|
<module>mateclaw-server</module>
|
|
<module>mateclaw-plugin-sample</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<!-- MateClaw release version shared by all Maven modules. -->
|
|
<revision>1.6.0</revision>
|
|
|
|
<!-- Java -->
|
|
<java.version>21</java.version>
|
|
<maven.compiler.release>${java.version}</maven.compiler.release>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
|
|
<!-- Spring ecosystem -->
|
|
<spring-boot.version>3.5.15</spring-boot.version>
|
|
<spring-ai.version>1.1.8</spring-ai.version>
|
|
<spring-ai-alibaba.version>1.1.2.3</spring-ai-alibaba.version>
|
|
<springdoc.version>2.8.16</springdoc.version>
|
|
|
|
<!-- Persistence and core utilities -->
|
|
<mybatis-plus.version>3.5.16</mybatis-plus.version>
|
|
<hutool.version>5.8.26</hutool.version>
|
|
<jjwt.version>0.12.6</jjwt.version>
|
|
<slf4j.version>2.0.16</slf4j.version>
|
|
<jackson.version>2.18.3</jackson.version>
|
|
|
|
<!-- Channel and platform SDKs -->
|
|
<dingtalk-stream.version>1.3.12</dingtalk-stream.version>
|
|
<lark-oapi.version>2.7.1</lark-oapi.version>
|
|
<jda.version>6.4.1</jda.version>
|
|
<slack.version>1.48.1</slack.version>
|
|
|
|
<!-- Browser automation and WebSocket runtime -->
|
|
<zxing.version>3.5.4</zxing.version>
|
|
<playwright.version>1.59.0</playwright.version>
|
|
<tyrus.version>2.2.2</tyrus.version>
|
|
|
|
<!-- Document, wiki, and rendering toolchain -->
|
|
<!-- POI must stay aligned with the POI version tika-parser-microsoft-module
|
|
pulls in transitively (poi-ooxml-full / poi-scratchpad). A skew between
|
|
poi-ooxml-lite and poi-ooxml-full silently breaks XSSF (xlsx) parsing. -->
|
|
<poi.version>5.5.1</poi.version>
|
|
<batik.version>1.19</batik.version>
|
|
<jsoup.version>1.22.2</jsoup.version>
|
|
<tika.version>3.3.0</tika.version>
|
|
<flying-saucer.version>10.2.0</flying-saucer.version>
|
|
<commonmark.version>0.28.0</commonmark.version>
|
|
<archunit.version>1.3.0</archunit.version>
|
|
<shedlock.version>7.7.0</shedlock.version>
|
|
<jgrapht.version>1.5.3</jgrapht.version>
|
|
<pdfbox.version>3.0.7</pdfbox.version>
|
|
<pebble.version>4.1.1</pebble.version>
|
|
|
|
<!-- Build plugin versions -->
|
|
<maven-compiler-plugin.version>3.14.1</maven-compiler-plugin.version>
|
|
<maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version>
|
|
<maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version>
|
|
<flatten-maven-plugin.version>1.7.3</flatten-maven-plugin.version>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- ==================== BOM Imports ==================== -->
|
|
<!-- Spring Boot replaces spring-boot-starter-parent while this root POM stays the project parent. -->
|
|
<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>
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-bom</artifactId>
|
|
<version>${springdoc.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
|
|
<!-- ==================== MateClaw Modules ==================== -->
|
|
<!-- Internal module dependencies share the same revision-controlled version. -->
|
|
<dependency>
|
|
<groupId>vip.mate</groupId>
|
|
<artifactId>mateclaw-plugin-api</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>vip.mate</groupId>
|
|
<artifactId>mateclaw-server</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>vip.mate</groupId>
|
|
<artifactId>mateclaw-plugin-sample</artifactId>
|
|
<version>${revision}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Spring AI Alibaba ==================== -->
|
|
<dependency>
|
|
<groupId>com.alibaba.cloud.ai</groupId>
|
|
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
|
|
<version>${spring-ai-alibaba.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.alibaba.cloud.ai</groupId>
|
|
<artifactId>spring-ai-alibaba-graph-core</artifactId>
|
|
<version>${spring-ai-alibaba.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Persistence ==================== -->
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
|
<version>${mybatis-plus.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.baomidou</groupId>
|
|
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
|
<version>${mybatis-plus.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Utilities and Security ==================== -->
|
|
<dependency>
|
|
<groupId>cn.hutool</groupId>
|
|
<artifactId>hutool-all</artifactId>
|
|
<version>${hutool.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-api</artifactId>
|
|
<version>${jjwt.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-impl</artifactId>
|
|
<version>${jjwt.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.jsonwebtoken</groupId>
|
|
<artifactId>jjwt-jackson</artifactId>
|
|
<version>${jjwt.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Channel and Automation SDKs ==================== -->
|
|
<dependency>
|
|
<groupId>com.dingtalk.open</groupId>
|
|
<artifactId>dingtalk-stream</artifactId>
|
|
<version>${dingtalk-stream.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.larksuite.oapi</groupId>
|
|
<artifactId>oapi-sdk</artifactId>
|
|
<version>${lark-oapi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.zxing</groupId>
|
|
<artifactId>core</artifactId>
|
|
<version>${zxing.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.zxing</groupId>
|
|
<artifactId>javase</artifactId>
|
|
<version>${zxing.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.microsoft.playwright</groupId>
|
|
<artifactId>playwright</artifactId>
|
|
<version>${playwright.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.dv8tion</groupId>
|
|
<artifactId>JDA</artifactId>
|
|
<version>${jda.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.slack.api</groupId>
|
|
<artifactId>slack-api-client</artifactId>
|
|
<version>${slack.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.slack.api</groupId>
|
|
<artifactId>bolt-socket-mode</artifactId>
|
|
<version>${slack.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.tyrus.bundles</groupId>
|
|
<artifactId>tyrus-standalone-client</artifactId>
|
|
<version>${tyrus.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Document and Rendering Toolchain ==================== -->
|
|
<dependency>
|
|
<groupId>org.apache.poi</groupId>
|
|
<artifactId>poi-ooxml</artifactId>
|
|
<version>${poi.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.xmlgraphics</groupId>
|
|
<artifactId>batik-transcoder</artifactId>
|
|
<version>${batik.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.xmlgraphics</groupId>
|
|
<artifactId>batik-codec</artifactId>
|
|
<version>${batik.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jsoup</groupId>
|
|
<artifactId>jsoup</artifactId>
|
|
<version>${jsoup.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.tika</groupId>
|
|
<artifactId>tika-core</artifactId>
|
|
<version>${tika.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.tika</groupId>
|
|
<artifactId>tika-parser-pdf-module</artifactId>
|
|
<version>${tika.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.tika</groupId>
|
|
<artifactId>tika-parser-microsoft-module</artifactId>
|
|
<version>${tika.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.xhtmlrenderer</groupId>
|
|
<artifactId>flying-saucer-pdf</artifactId>
|
|
<version>${flying-saucer.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.commonmark</groupId>
|
|
<artifactId>commonmark</artifactId>
|
|
<version>${commonmark.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.commonmark</groupId>
|
|
<artifactId>commonmark-ext-gfm-tables</artifactId>
|
|
<version>${commonmark.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.commonmark</groupId>
|
|
<artifactId>commonmark-ext-yaml-front-matter</artifactId>
|
|
<version>${commonmark.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.commonmark</groupId>
|
|
<artifactId>commonmark-ext-gfm-strikethrough</artifactId>
|
|
<version>${commonmark.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.commonmark</groupId>
|
|
<artifactId>commonmark-ext-autolink</artifactId>
|
|
<version>${commonmark.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Test and Scheduler Support ==================== -->
|
|
<dependency>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5</artifactId>
|
|
<version>${archunit.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.javacrumbs.shedlock</groupId>
|
|
<artifactId>shedlock-spring</artifactId>
|
|
<version>${shedlock.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.javacrumbs.shedlock</groupId>
|
|
<artifactId>shedlock-provider-jdbc-template</artifactId>
|
|
<version>${shedlock.version}</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Graph, PDF, and Workflow Helpers ==================== -->
|
|
<dependency>
|
|
<groupId>org.jgrapht</groupId>
|
|
<artifactId>jgrapht-core</artifactId>
|
|
<version>${jgrapht.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.pdfbox</groupId>
|
|
<artifactId>pdfbox</artifactId>
|
|
<version>${pdfbox.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.pebbletemplates</groupId>
|
|
<artifactId>pebble</artifactId>
|
|
<version>${pebble.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<build>
|
|
<!-- Central plugin versions for child modules. -->
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>${spring-boot.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${maven-dependency-plugin.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${maven-surefire-plugin.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
|
|
<!-- Shared build defaults inherited by every Maven module. -->
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<release>${maven.compiler.release}</release>
|
|
<encoding>${project.build.sourceEncoding}</encoding>
|
|
<!-- Emit method parameter names so Spring MVC can bind
|
|
@PathVariable/@RequestParam without explicit names. -->
|
|
<parameters>true</parameters>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- Resolve the ${revision} CI-friendly version into installed and
|
|
deployed POMs. Without this the literal ${revision} leaks into
|
|
the repository, breaking single-module builds and any consumer
|
|
of these artifacts. resolveCiFriendliesOnly leaves the rest of
|
|
the POM untouched. -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>flatten-maven-plugin</artifactId>
|
|
<version>${flatten-maven-plugin.version}</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>
|
|
</plugins>
|
|
</build>
|
|
|
|
<!--
|
|
Dependency repositories are declared with direct and mirrored endpoints.
|
|
Keep distinct IDs from Maven's built-in central repository so user-level
|
|
mirror rules do not silently collapse the fallback order.
|
|
-->
|
|
<repositories>
|
|
<repository>
|
|
<id>maven-central</id>
|
|
<name>Maven Central</name>
|
|
<url>https://repo.maven.apache.org/maven2</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>google-maven-central</id>
|
|
<name>Google Maven Central Mirror</name>
|
|
<url>https://maven-central.storage-download.googleapis.com/maven2</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>aliyun-public</id>
|
|
<name>Aliyun Public</name>
|
|
<url>https://maven.aliyun.com/repository/public</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>spring-milestones</id>
|
|
<name>Spring Milestones</name>
|
|
<url>https://repo.spring.io/milestone</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>aliyun-spring</id>
|
|
<name>Aliyun Spring Mirror</name>
|
|
<url>https://maven.aliyun.com/repository/spring</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<!-- Plugin lookups follow the same multi-region fallback strategy. -->
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>maven-central</id>
|
|
<name>Maven Central</name>
|
|
<url>https://repo.maven.apache.org/maven2</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</pluginRepository>
|
|
<pluginRepository>
|
|
<id>google-maven-central</id>
|
|
<name>Google Maven Central Mirror</name>
|
|
<url>https://maven-central.storage-download.googleapis.com/maven2</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</pluginRepository>
|
|
<pluginRepository>
|
|
<id>aliyun-public</id>
|
|
<name>Aliyun Public</name>
|
|
<url>https://maven.aliyun.com/repository/public</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
|
|
<!-- Optional profile for faster Maven resolution from mainland China. -->
|
|
<profiles>
|
|
<profile>
|
|
<id>aliyun-first</id>
|
|
<repositories>
|
|
<repository>
|
|
<id>aliyun-public-first</id>
|
|
<url>https://maven.aliyun.com/repository/public</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>aliyun-spring-first</id>
|
|
<url>https://maven.aliyun.com/repository/spring</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</repository>
|
|
</repositories>
|
|
<pluginRepositories>
|
|
<pluginRepository>
|
|
<id>aliyun-public-first</id>
|
|
<url>https://maven.aliyun.com/repository/public</url>
|
|
<releases><enabled>true</enabled></releases>
|
|
<snapshots><enabled>false</enabled></snapshots>
|
|
</pluginRepository>
|
|
</pluginRepositories>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|