You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2022/06/19 09:36:45 UTC
[rocketmq-clients] branch master updated: Java: using maven-enforcer-plugin to keep unique dependency for each jar
This is an automated email from the ASF dual-hosted git repository.
aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git
The following commit(s) were added to refs/heads/master by this push:
new fd5c151 Java: using maven-enforcer-plugin to keep unique dependency for each jar
fd5c151 is described below
commit fd5c1519632344d36fbe0b6e5157d17d05f0cb0a
Author: Aaron Ai <ya...@gmail.com>
AuthorDate: Sun Jun 19 14:48:37 2022 +0800
Java: using maven-enforcer-plugin to keep unique dependency for each jar
---
java/client/pom.xml | 36 +++++++++++
java/pom.xml | 167 +++++++++++++++++++++++++++++++++++++++++++---------
2 files changed, 175 insertions(+), 28 deletions(-)
diff --git a/java/client/pom.xml b/java/client/pom.xml
index 3337ced..baf0581 100644
--- a/java/client/pom.xml
+++ b/java/client/pom.xml
@@ -30,6 +30,18 @@
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-proto</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty-shaded</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ </dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
@@ -76,6 +88,30 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>${assertj-core.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-core.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <version>${awaitility.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
diff --git a/java/pom.xml b/java/pom.xml
index abd7dc9..1b221d8 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -15,15 +15,27 @@
</modules>
<properties>
+ <!-- Make it compatible with Java8 -->
<maven.compiler.release>8</maven.compiler.release>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+ <rocketmq.sdk.wrapper.version>None</rocketmq.sdk.wrapper.version>
+ <!--
+ ~ Before add new dependencies, Here is what you should pay more attention to:
+ ~ 1. Whether it is essential, because the current shaded jar is fat enough.
+ ~ 2. Make sure that it is compatible with Java 8.
+ -->
<rocketmq-proto.version>2.0.0-SNAPSHOT</rocketmq-proto.version>
- <protobuf.version>3.20.0</protobuf.version>
+ <protobuf.version>3.19.2</protobuf.version>
+ <grpc.version>1.47.0</grpc.version>
<guava.version>31.1-jre</guava.version>
<slf4j.version>1.7.30</slf4j.version>
<logback.version>1.2.3</logback.version>
<commons-lang3.version>3.4</commons-lang3.version>
<opentelemetry.version>1.14.0</opentelemetry.version>
+ <kotlin-stdlib.version>1.4.10</kotlin-stdlib.version>
<future-coverter-java8-guava.version>1.2.0</future-coverter-java8-guava.version>
<junit.version>4.13.2</junit.version>
@@ -34,6 +46,8 @@
<!-- plugin -->
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
<maven-checkstyle-plugin.version>3.1.1</maven-checkstyle-plugin.version>
+ <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
+ <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
</properties>
<repositories>
@@ -51,33 +65,6 @@
</repository>
</repositories>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>${junit.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>${assertj-core.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <version>${mockito-core.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.awaitility</groupId>
- <artifactId>awaitility</artifactId>
- <version>${awaitility.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
<dependencyManagement>
<dependencies>
<dependency>
@@ -99,16 +86,67 @@
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-proto</artifactId>
<version>${rocketmq-proto.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty-shaded</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>${protobuf.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty-shaded</artifactId>
+ <version>${grpc.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ <version>${grpc.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.google.errorprone</groupId>
+ <artifactId>error_prone_annotations</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@@ -144,12 +182,42 @@
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-exporter-otlp-metrics</artifactId>
<version>${opentelemetry.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>com.squareup.okhttp3</groupId>
+ <artifactId>okhttp</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>net.javacrumbs.future-converter</groupId>
<artifactId>future-converter-java8-guava</artifactId>
<version>${future-coverter-java8-guava.version}</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>${assertj-core.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-core.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <version>${awaitility.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</dependencyManagement>
@@ -180,6 +248,49 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${maven-enforcer-plugin.version}</version>
+ <executions>
+ <execution>
+ <id>enforce</id>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>11</version>
+ </requireJavaVersion>
+ <dependencyConvergence/>
+ <!-- Ban lombok -->
+ <bannedDependencies>
+ <excludes>
+ <exclude>org.projectlombok:*</exclude>
+ </excludes>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>${maven-source-plugin.version}</version>
+ <configuration>
+ <attach>true</attach>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
\ No newline at end of file