Files
incubator-seata/pom.xml
wangchunxiang 60713be579 chore(build): 更新构建配置添加Java版本属性并修改仓库地址
- 添加 java.version 属性设置为 1.8
- 修改 distributionManagement 中的仓库 URL 从 coding.net 迁移到本地 Nexus
- 移除外部仓库依赖,使用内部 Maven 仓库地址 http://192.168.3.25:18081/nexus/repository/maven-releases/
2026-03-27 17:52:28 +08:00

536 lines
24 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 1999-2019 Seata.io Group.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<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>io.seata</groupId>
<artifactId>seata-parent</artifactId>
<version>${revision}</version>
<modules>
<module>all</module>
<module>bom</module>
<module>common</module>
<module>config</module>
<module>core</module>
<module>discovery</module>
<module>distribution</module>
<module>integration/dubbo</module>
<module>integration/dubbo-alibaba</module>
<module>integration/sofa-rpc</module>
<module>integration/motan</module>
<module>integration/grpc</module>
<module>integration/http</module>
<module>rm</module>
<module>rm-datasource</module>
<module>server</module>
<module>spring</module>
<module>tcc</module>
<module>test</module>
<module>tm</module>
<module>metrics</module>
<module>serializer</module>
<module>seata-spring-boot-starter</module>
<module>compressor</module>
<module>saga</module>
<module>sqlparser</module>
</modules>
<packaging>pom</packaging>
<name>Seata Parent POM ${project.version}</name>
<url>http://seata.io</url>
<description>top seata project pom.xml file</description>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
<distribution>repo</distribution>
</license>
</licenses>
<!-- <developers>-->
<!-- <developer>-->
<!-- <id>Seata</id>-->
<!-- <name>Seata</name>-->
<!-- <url>https://seata.io</url>-->
<!-- <email>dev-seata@googlegroups.com</email>-->
<!-- </developer>-->
<!-- </developers>-->
<!-- <organization>-->
<!-- <name>Seata</name>-->
<!-- <url>https://github.com/seata</url>-->
<!-- </organization>-->
<!-- <issueManagement>-->
<!-- <system>github</system>-->
<!-- <url>https://github.com/seata/seata/issues</url>-->
<!-- </issueManagement>-->
<!-- <scm>-->
<!-- <url>git@github.com:seata/seata.git</url>-->
<!-- <connection>scm:git@github.com:seata/seata.git</connection>-->
<!-- <developerConnection>scm:git@github.com:seata/seata.git</developerConnection>-->
<!-- </scm>-->
<properties>
<!-- seata version -->
<revision>1.4.2</revision>
<!-- Compiler settings properties -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!-- Maven plugins -->
<maven.test.skip>false</maven.test.skip>
<jacoco-maven-plugin.version>0.8.3</jacoco-maven-plugin.version>
<flatten-maven-plugin.version>1.1.0</flatten-maven-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-compiler-plugin.version>3.6.0</maven-compiler-plugin.version>
<p3c-pmd.version>1.3.6</p3c-pmd.version>
<maven-pmd-plugin.version>3.8</maven-pmd-plugin.version>
<maven-javadoc-plugin.version>3.0.0</maven-javadoc-plugin.version>
<maven-source-plugin.version>2.2.1</maven-source-plugin.version>
<protobuf-maven-plugin.version>0.5.0</protobuf-maven-plugin.version>
<license-maven-plugin.version>3.0</license-maven-plugin.version>
<maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
<!-- for test -->
<junit-jupiter.version>5.4.2</junit-jupiter.version>
<mockito.version>2.23.4</mockito.version>
<assertj-core.version>3.12.2</assertj-core.version>
<junit-platform-launcher.version>1.4.2</junit-platform-launcher.version>
<!-- for docker image-->
<image.publish.skip>true</image.publish.skip>
<image.tags>latest</image.tags>
<checkstyle.skip>true</checkstyle.skip>
<license.skip>true</license.skip>
<!-- for jdbc driver when package -->
<mysql.jdbc.version>5.1.35</mysql.jdbc.version>
<mysql8.jdbc.version>8.0.19</mysql8.jdbc.version>
<java.version>1.8</java.version>
</properties>
<!--test-->
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>${junit-platform-launcher.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-core.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-bom</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- <profiles>-->
<!-- <profile>-->
<!-- <id>release</id>-->
<!-- <build>-->
<!-- <plugins>-->
<!-- &lt;!&ndash; Javadoc &ndash;&gt;-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-javadoc-plugin</artifactId>-->
<!-- <version>${maven-javadoc-plugin.version}</version>-->
<!-- <configuration>-->
<!-- <charset>UTF-8</charset>-->
<!-- <failOnError>false</failOnError>-->
<!-- </configuration>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>jar</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- GPG -->
<!-- <plugin>-->
<!-- <groupId>org.sonatype.plugins</groupId>-->
<!-- <artifactId>nexus-staging-maven-plugin</artifactId>-->
<!-- <version>1.6.7</version>-->
<!-- <extensions>true</extensions>-->
<!-- <configuration>-->
<!-- <serverId>oss_seata</serverId>-->
<!-- <nexusUrl>https://oss.sonatype.org/</nexusUrl>-->
<!-- <autoReleaseAfterClose>false</autoReleaseAfterClose>-->
<!-- <skipStagingRepositoryClose>true</skipStagingRepositoryClose>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-gpg-plugin</artifactId>-->
<!-- <version>1.6</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>sign-artifacts</id>-->
<!-- <phase>verify</phase>-->
<!-- <goals>-->
<!-- <goal>sign</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <keyname>A1C4DAB9B220DBA0C277E945D6A1420D747D1EE0</keyname>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
<!-- <distributionManagement>-->
<!-- <snapshotRepository>-->
<!-- <id>oss_seata</id>-->
<!-- <url>https://oss.sonatype.org/content/repositories/snapshots</url>-->
<!-- </snapshotRepository>-->
<!-- <repository>-->
<!-- <id>oss_seata</id>-->
<!-- <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>-->
<!-- </repository>-->
<!-- </distributionManagement>-->
<!-- <properties>-->
<!-- <image.publish.skip>false</image.publish.skip>-->
<!-- <image.tags>${project.version},latest</image.tags>-->
<!-- </properties>-->
<!-- </profile>-->
<!-- <profile>-->
<!-- <id>licenseCheck</id>-->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>org.codehaus.mojo</groupId>-->
<!-- <artifactId>license-maven-plugin</artifactId>-->
<!-- <version>1.20</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>license-check</id>-->
<!-- <phase>generate-sources</phase>-->
<!-- <goals>-->
<!-- <goal>add-third-party</goal>-->
<!-- </goals>-->
<!-- <configuration>-->
<!-- <includeOptional>false</includeOptional>-->
<!-- <useMissingFile>false</useMissingFile>-->
<!-- <failOnMissing>false</failOnMissing>-->
<!-- <licenseMerges>-->
<!-- <licenseMerge>Apache License, Version 2.0|The Apache Software License, Version-->
<!-- 2.0|ASF 2.0|Apache 2|Apache-2.0|Apache 2.0 License|Apache 2.0|Apache License v2.0|Apache License 2.0|The Apache License, Version 2.0|The Apache Software License, Version 2.0-->
<!-- </licenseMerge>-->
<!-- <licenseMerge>The MIT License|MIT License</licenseMerge>-->
<!-- <licenseMerge>The 3-Clause BSD License|New BSD License|3-Clause BSD-->
<!-- License|BSD|3-Clause BSD License|The New BSD License-->
<!-- </licenseMerge>-->
<!-- </licenseMerges>-->
<!-- </configuration>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
<!-- </profile>-->
<!-- <profile>-->
<!-- <id>image</id>-->
<!-- <properties>-->
<!-- <image.publish.skip>false</image.publish.skip>-->
<!-- <image.tags>latest</image.tags>-->
<!-- </properties>-->
<!-- </profile>-->
<!-- <profile>-->
<!-- <id>checkstyle</id>-->
<!-- <activation>-->
<!-- <jdk>[1.8,)</jdk>-->
<!-- </activation>-->
<!-- <build>-->
<!-- <plugins>-->
<!-- <plugin>-->
<!-- <groupId>com.mycila</groupId>-->
<!-- <artifactId>license-maven-plugin</artifactId>-->
<!-- <version>${license-maven-plugin.version}</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <phase>generate-sources</phase>-->
<!-- <goals>-->
<!-- <goal>remove</goal>-->
<!-- <goal>format</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- <quiet>true</quiet>-->
<!-- <header>${user.dir}/style/copyright</header>-->
<!-- <includes>-->
<!-- <include>**/src/main/java/**</include>-->
<!-- <include>**/src/test/java/**</include>-->
<!-- </includes>-->
<!-- <excludes>-->
<!-- <exclude>**/generated/**</exclude>-->
<!-- <exclude>**/antlr/mysql/parser/*.*</exclude>-->
<!-- <exclude>**/antlr/mysql/antlr/*.*</exclude>-->
<!-- <exclude>**/antlr/mysql/stream/ANTLRNoCaseStringStream.java</exclude>-->
<!-- </excludes>-->
<!-- <strictCheck>true</strictCheck>-->
<!-- <mapping>-->
<!-- <java>SLASHSTAR_STYLE</java>-->
<!-- </mapping>-->
<!-- </configuration>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>org.apache.maven.plugins</groupId>-->
<!-- <artifactId>maven-checkstyle-plugin</artifactId>-->
<!-- <version>${maven-checkstyle-plugin.version}</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>validate</id>-->
<!-- <phase>validate</phase>-->
<!-- <configuration>-->
<!-- <configLocation>${user.dir}/style/seata_checkstyle.xml</configLocation>-->
<!-- <suppressionsLocation>${user.dir}/style/seata_suppressions.xml</suppressionsLocation>-->
<!-- <encoding>UTF-8</encoding>-->
<!-- <consoleOutput>true</consoleOutput>-->
<!-- <failsOnError>true</failsOnError>-->
<!-- </configuration>-->
<!-- <goals>-->
<!-- <goal>checkstyle</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- </plugin>-->
<!-- </plugins>-->
<!-- </build>-->
<!-- </profile>-->
<!-- </profiles>-->
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.5.0.Final</version>
</extension>
</extensions>
<plugins>
<!-- Source -->
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${protobuf-maven-plugin.version}</version>
<configuration>
<protoSourceRoot>${project.basedir}/src/main/resources/protobuf/io/seata/protocol/transcation/</protoSourceRoot>
<protocArtifact>
com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
</protocArtifact>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</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-pmd-plugin</artifactId>
<version>${maven-pmd-plugin.version}</version>
<configuration>
<sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
<minimumPriority>2</minimumPriority>
<printFailingErrors>true</printFailingErrors>
<rulesets>
<ruleset>rulesets/java/ali-comment.xml</ruleset>
<ruleset>rulesets/java/ali-concurrent.xml</ruleset>
<ruleset>rulesets/java/ali-constant.xml</ruleset>
<ruleset>rulesets/java/ali-exception.xml</ruleset>
<ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
<ruleset>rulesets/java/ali-naming.xml</ruleset>
<ruleset>rulesets/java/ali-oop.xml</ruleset>
<ruleset>rulesets/java/ali-orm.xml</ruleset>
<ruleset>rulesets/java/ali-other.xml</ruleset>
<ruleset>rulesets/java/ali-set.xml</ruleset>
</rulesets>
<excludes>
<exclude>**/generated/*.java</exclude>
<exclude>**/antlr/mysql/parser/*.*</exclude>
<exclude>**/antlr/mysql/antlr/*.*</exclude>
<exclude>**/antlr/mysql/stream/ANTLRNoCaseStringStream.java</exclude>
</excludes>
</configuration>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.alibaba.p3c</groupId>
<artifactId>p3c-pmd</artifactId>
<version>${p3c-pmd.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
<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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.6.0,)</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!--增加私服仓库配置-->
<distributionManagement>
<repository>
<!--必须与 settings.xml 的 id 一致-->
<id>fantaibao-fantaibao-maven-repository</id>
<name>maven-repository</name>
<url>http://192.168.3.25:18081/nexus/repository/maven-releases/</url>
</repository>
</distributionManagement>
</project>