| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466 | <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>3.3.10</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <groupId>com.aizuda</groupId>    <artifactId>snail-job</artifactId>    <version>${revision}</version>    <name>snail-job</name>    <description>snail-job</description>    <properties>        <java.version>17</java.version>        <maven.compiler.source>17</maven.compiler.source>        <maven.compiler.target>17</maven.compiler.target>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <revision>1.7.1</revision>        <skipTests>true</skipTests>        <hutool.version>5.8.32</hutool.version>        <mybatis-spring.version>3.0.3</mybatis-spring.version>        <mybatis-plus.version>3.5.9</mybatis-plus.version>        <guava.version>33.3.0-jre</guava.version>        <guava-retrying.version>2.0.0</guava-retrying.version>        <mapstruct.version>1.5.3.Final</mapstruct.version>        <pekko.version>1.2.0-M1</pekko.version>        <scala.version>2.13.9</scala.version>        <java-jwt.version>4.4.0</java-jwt.version>        <perf4j.version>0.9.16</perf4j.version>        <aviator.version>5.3.3</aviator.version>        <hessian.version>4.0.66</hessian.version>        <QLExpress.version>3.3.4</QLExpress.version>        <fury.version>0.10.2</fury.version>        <zstd.version>1.5.5-5</zstd.version>        <!--    grpc & protobuf    -->        <grpc-java.version>1.71.0</grpc-java.version>        <proto-google-common-protos.version>2.54.1</proto-google-common-protos.version>        <protobuf-java.version>3.25.6</protobuf-java.version>        <!--   non-springboot database connectors  -->        <mariadb.version>3.1.4</mariadb.version>        <kingbase.version>8.6.0</kingbase.version>        <dameng.version>8.1.3.62</dameng.version>        <!--   server-ui build tool     -->        <node.version>v20.19.0</node.version>        <pnpm.version>10.6.3</pnpm.version>        <!--    plugins    -->        <central-publishing-maven-plugin.version>0.5.0</central-publishing-maven-plugin.version>        <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>        <flatten-maven-plugin.version>1.1.0</flatten-maven-plugin.version>    </properties>    <dependencyManagement>        <dependencies>            <!--      SnailJob common      -->            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-common-core</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-common-log</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-common-model</artifactId>                <version>${revision}</version>            </dependency>            <!--      SnailJob datasource      -->            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-datasource-template</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-mariadb-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-mysql-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-postgres-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-oracle-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-sqlserver-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-dm8-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-kingbase-datasource</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-openapi</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-service</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-web</artifactId>                <version>${revision}</version>            </dependency>            <!--      SnailJob client      -->            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-client-retry-core</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-client-job-core</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-job-task</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-retry-task</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-common</artifactId>                <version>${revision}</version>            </dependency>            <dependency>                <groupId>com.aizuda</groupId>                <artifactId>snail-job-server-ui</artifactId>                <version>${revision}</version>            </dependency>            <!--     MyBatis & Plus       -->            <dependency>                <groupId>org.mybatis</groupId>                <artifactId>mybatis-spring</artifactId>                <version>${mybatis-spring.version}</version>            </dependency>            <dependency>                <groupId>com.baomidou</groupId>                <artifactId>mybatis-plus-spring-boot3-starter</artifactId>                <version>${mybatis-plus.version}</version>            </dependency>            <!-- >= 3.5.9 PaginationInnerInterceptor 需要单独引入 -->            <dependency>                <groupId>com.baomidou</groupId>                <artifactId>mybatis-plus-jsqlparser</artifactId>                <version>${mybatis-plus.version}</version>            </dependency>            <!--    utils        --><!--            <dependency>--><!--                <groupId>io.netty</groupId>--><!--                <artifactId>netty-all</artifactId>--><!--                <version>${netty-all.version}</version>--><!--            </dependency>-->            <dependency>                <groupId>cn.hutool</groupId>                <artifactId>hutool-bom</artifactId>                <version>${hutool.version}</version>                <type>pom</type>                <scope>import</scope>            </dependency>            <dependency>                <groupId>com.github.rholder</groupId>                <artifactId>guava-retrying</artifactId>                <version>${guava-retrying.version}</version>            </dependency>            <dependency>                <groupId>com.google.guava</groupId>                <artifactId>guava</artifactId>                <version>${guava.version}</version>            </dependency>            <dependency>                <groupId>com.caucho</groupId>                <artifactId>hessian</artifactId>                <version>${hessian.version}</version>            </dependency>            <dependency>                <groupId>com.googlecode.aviator</groupId>                <artifactId>aviator</artifactId>                <version>${aviator.version}</version>            </dependency>            <dependency>                <groupId>com.alibaba</groupId>                <artifactId>QLExpress</artifactId>                <version>${QLExpress.version}</version>            </dependency>            <dependency>                <groupId>org.mapstruct</groupId>                <artifactId>mapstruct</artifactId>                <version>${mapstruct.version}</version>            </dependency>            <dependency>                <groupId>org.mapstruct</groupId>                <artifactId>mapstruct-processor</artifactId>                <version>${mapstruct.version}</version>            </dependency>            <dependency>                <groupId>com.auth0</groupId>                <artifactId>java-jwt</artifactId>                <version>${java-jwt.version}</version>            </dependency>            <dependency>                <groupId>org.apache.pekko</groupId>                <artifactId>pekko-actor-typed_2.13</artifactId>                <version>${pekko.version}</version>            </dependency>            <dependency>                <groupId>org.apache.pekko</groupId>                <artifactId>pekko-actor-testkit-typed_2.13</artifactId>                <version>${pekko.version}</version>            </dependency>            <dependency>                <groupId>org.scala-lang</groupId>                <artifactId>scala-library</artifactId>                <version>${scala.version}</version>            </dependency>            <dependency>                <groupId>org.perf4j</groupId>                <artifactId>perf4j</artifactId>                <version>${perf4j.version}</version>            </dependency>            <!--  gRPC  -->            <dependency>                <groupId>io.grpc</groupId>                <artifactId>grpc-netty-shaded</artifactId>                <version>${grpc-java.version}</version>            </dependency>            <dependency>                <groupId>io.grpc</groupId>                <artifactId>grpc-api</artifactId>                <version>${grpc-java.version}</version>            </dependency>            <dependency>                <groupId>io.grpc</groupId>                <artifactId>grpc-protobuf</artifactId>                <version>${grpc-java.version}</version>            </dependency>            <dependency>                <groupId>io.grpc</groupId>                <artifactId>grpc-stub</artifactId>                <version>${grpc-java.version}</version>            </dependency>            <dependency>                <groupId>io.grpc</groupId>                <artifactId>grpc-util</artifactId>                <version>${grpc-java.version}</version>            </dependency>            <dependency>                <groupId>com.google.api.grpc</groupId>                <artifactId>proto-google-common-protos</artifactId>                <version>${proto-google-common-protos.version}</version>            </dependency>            <dependency>                <groupId>com.google.protobuf</groupId>                <artifactId>protobuf-java</artifactId>                <version>${protobuf-java.version}</version>            </dependency>            <dependency>                <groupId>org.apache.fury</groupId>                <artifactId>fury-core</artifactId>                <version>${fury.version}</version>            </dependency>            <dependency>                <groupId>com.github.luben</groupId>                <artifactId>zstd-jni</artifactId>                <version>${zstd.version}</version>            </dependency>        </dependencies>    </dependencyManagement>    <modules>        <module>snail-job-common</module>        <module>snail-job-server-dispatcher</module>        <module>snail-job-client-starter</module>        <module>snail-job-datasource</module>        <module>snail-job-client</module>        <module>snail-job-server-interface</module>        <module>snail-job-server-starter</module>    </modules>    <packaging>pom</packaging>    <licenses>        <license>            <name>Apache License 2.0</name>            <url>https://www.apache.org/licenses/LICENSE-2.0</url>        </license>    </licenses>    <scm>        <url>https://gitee.com/aizuda/snail-job</url>        <connection>https://gitee.com/aizuda/snail-job</connection>        <developerConnection>https://gitee.com/aizuda/</developerConnection>    </scm>    <developers>        <developer>            <name>opensnail</name>            <email>snailjob@opensnail.com</email>            <url>https://gitee.com/opensnail</url>        </developer>    </developers>    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <configuration>                    <source>${java.version}</source>                    <target>${java.version}</target>                    <encoding>${project.build.sourceEncoding}</encoding>                </configuration>            </plugin>            <plugin>                <groupId>org.codehaus.mojo</groupId>                <artifactId>flatten-maven-plugin</artifactId>                <version>${flatten-maven-plugin.version}</version>                <configuration>                    <updatePomFile>true</updatePomFile>                    <flattenMode>oss</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>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-source-plugin</artifactId>            </plugin>        </plugins>    </build>    <profiles>        <profile>            <id>release</id>            <build>                <plugins>                    <plugin>                        <groupId>org.apache.maven.plugins</groupId>                        <artifactId>maven-gpg-plugin</artifactId>                        <version>${maven-gpg-plugin.version}</version>                        <executions>                            <execution>                                <phase>verify</phase>                                <goals>                                    <goal>sign</goal>                                </goals>                                <configuration>                                    <!-- Prevent `gpg` from using pinentry programs -->                                    <gpgArguments>                                        <arg>--pinentry-mode</arg>                                        <arg>loopback</arg>                                    </gpgArguments>                                </configuration>                            </execution>                        </executions>                    </plugin>                    <plugin>                        <groupId>org.apache.maven.plugins</groupId>                        <artifactId>maven-source-plugin</artifactId>                        <executions>                            <execution>                                <id>attach-sources</id>                                <goals>                                    <goal>jar-no-fork</goal>                                </goals>                            </execution>                        </executions>                    </plugin>                    <plugin>                        <groupId>org.apache.maven.plugins</groupId>                        <artifactId>maven-javadoc-plugin</artifactId>                        <executions>                            <execution>                                <id>attach-javadocs</id>                                <goals>                                    <goal>jar</goal>                                </goals>                                <configuration>                                    <doclint>none</doclint>                                    <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>                                </configuration>                            </execution>                        </executions>                    </plugin>                    <plugin>                        <groupId>org.sonatype.central</groupId>                        <artifactId>central-publishing-maven-plugin</artifactId>                        <version>${central-publishing-maven-plugin.version}</version>                        <extensions>true</extensions>                        <configuration>                            <publishingServerId>ossrh</publishingServerId>                            <autoPublish>false</autoPublish>                        </configuration>                    </plugin>                </plugins>            </build>            <distributionManagement>                <snapshotRepository>                    <id>ossrh</id>                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>                </snapshotRepository>                <repository>                    <id>ossrh</id>                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>                </repository>            </distributionManagement>        </profile>    </profiles></project>
 |