This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 88518e36686 [opt](build) move out grpc into a seperate module to speed
up compile (#61800)
88518e36686 is described below
commit 88518e366861d133acc977d12606b5711c93b4ea
Author: morrySnow <[email protected]>
AuthorDate: Fri Mar 27 17:12:07 2026 +0800
[opt](build) move out grpc into a seperate module to speed up compile
(#61800)
---
fe/fe-core/pom.xml | 78 ++---------------------------
fe/fe-grpc/pom.xml | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++++
fe/pom.xml | 1 +
3 files changed, 148 insertions(+), 73 deletions(-)
diff --git a/fe/fe-core/pom.xml b/fe/fe-core/pom.xml
index 8ca8f564ae3..7a6feee5e79 100644
--- a/fe/fe-core/pom.xml
+++ b/fe/fe-core/pom.xml
@@ -58,30 +58,6 @@ under the License.
<fe_ut_parallel>${env.FE_UT_PARALLEL}</fe_ut_parallel>
</properties>
</profile>
- <profile>
- <id>protoc_rosetta</id>
- <activation>
- <os>
- <family>mac</family>
- <arch>aarch64</arch>
- </os>
- </activation>
- <properties>
-
<protoc.artifact>com.google.protobuf:protoc:${protobuf.version}:exe:osx-x86_64</protoc.artifact>
-
<grpc.java.artifact>io.grpc:protoc-gen-grpc-java:${grpc-java.version}:exe:osx-x86_64</grpc.java.artifact>
- </properties>
- </profile>
- <profile>
- <id>protoc_command</id>
- <activation>
- <file>
- <exists>${doris.thirdparty}/installed/bin/protoc</exists>
- </file>
- </activation>
- <properties>
-
<protoc.command>${doris.thirdparty}/installed/bin/protoc</protoc.command>
- </properties>
- </profile>
</profiles>
<dependencies>
<dependency>
@@ -98,6 +74,11 @@ under the License.
<artifactId>fe-thrift</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>fe-grpc</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>fe-type</artifactId>
@@ -253,11 +234,6 @@ under the License.
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
</dependency>
- <!--
https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- </dependency>
<!-- https://mvnrepository.com/artifact/com.squareup/protoparser -->
<dependency>
<groupId>com.squareup</groupId>
@@ -439,18 +415,6 @@ under the License.
<groupId>hu.webarticum</groupId>
<artifactId>tree-printer</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>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
@@ -906,38 +870,6 @@ under the License.
<skip>true</skip>
</configuration>
</plugin>
- <!-- protobuf -->
- <plugin>
- <groupId>com.github.os72</groupId>
- <artifactId>protoc-jar-maven-plugin</artifactId>
- <version>3.11.4</version>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <protocCommand>${protoc.command}</protocCommand>
- <!--You can use following protocArtifact instead
of protocCommand, so that you don't need to install protobuf tools-->
- <protocArtifact>${protoc.artifact}</protocArtifact>
- <protocVersion>${protobuf.version}</protocVersion>
- <inputDirectories>
- <include>${doris.home}/gensrc/proto</include>
- </inputDirectories>
- <outputTargets>
- <outputTarget>
- <type>java</type>
- </outputTarget>
- <outputTarget>
- <type>grpc-java</type>
-
<pluginArtifact>${grpc.java.artifact}</pluginArtifact>
- </outputTarget>
- </outputTargets>
- </configuration>
- </execution>
- </executions>
- </plugin>
<!-- run make to generate Version and builtin -->
<!-- also parse the proto for FE -->
<plugin>
diff --git a/fe/fe-grpc/pom.xml b/fe/fe-grpc/pom.xml
new file mode 100644
index 00000000000..f873b28d074
--- /dev/null
+++ b/fe/fe-grpc/pom.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
+ 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>
+ <parent>
+ <groupId>org.apache.doris</groupId>
+ <version>${revision}</version>
+ <artifactId>fe</artifactId>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>fe-grpc</artifactId>
+ <packaging>jar</packaging>
+ <name>Doris FE GRPC</name>
+ <description>GRPC for Doris Frontend modules</description>
+ <properties>
+ <doris.home>${basedir}/../../</doris.home>
+ <doris.thirdparty>${basedir}/../../thirdparty</doris.thirdparty>
+ </properties>
+ <profiles>
+ <profile>
+ <id>protoc_command</id>
+ <activation>
+ <file>
+ <exists>${doris.thirdparty}/installed/bin/protoc</exists>
+ </file>
+ </activation>
+ <properties>
+
<protoc.command>${doris.thirdparty}/installed/bin/protoc</protoc.command>
+ </properties>
+ </profile>
+ <profile>
+ <id>protoc_rosetta</id>
+ <activation>
+ <os>
+ <family>mac</family>
+ <arch>aarch64</arch>
+ </os>
+ </activation>
+ <properties>
+
<protoc.artifact>com.google.protobuf:protoc:${protobuf.version}:exe:osx-x86_64</protoc.artifact>
+
<grpc.java.artifact>io.grpc:protoc-gen-grpc-java:${grpc-java.version}:exe:osx-x86_64</grpc.java.artifact>
+ </properties>
+ </profile>
+ </profiles>
+
+ <dependencies>
+ <!--
https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-protobuf</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-netty-shaded</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-stub</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>doris-fe-grpc</finalName>
+ <directory>${project.basedir}/target/</directory>
+ <plugins>
+ <!-- Build source jar -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <configuration>
+ <attach>true</attach>
+ </configuration>
+ <executions>
+ <execution>
+ <id>create-source-jar</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- protobuf -->
+ <plugin>
+ <groupId>com.github.os72</groupId>
+ <artifactId>protoc-jar-maven-plugin</artifactId>
+ <version>3.11.4</version>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <protocCommand>${protoc.command}</protocCommand>
+ <!--You can use following protocArtifact instead
of protocCommand, so that you don't need to install protobuf tools-->
+ <protocArtifact>${protoc.artifact}</protocArtifact>
+ <protocVersion>${protobuf.version}</protocVersion>
+ <inputDirectories>
+ <include>${doris.home}/gensrc/proto</include>
+ </inputDirectories>
+ <outputTargets>
+ <outputTarget>
+ <type>java</type>
+ </outputTarget>
+ <outputTarget>
+ <type>grpc-java</type>
+
<pluginArtifact>${grpc.java.artifact}</pluginArtifact>
+ </outputTarget>
+ </outputTargets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/fe/pom.xml b/fe/pom.xml
index eed81db5955..b327978bbf6 100644
--- a/fe/pom.xml
+++ b/fe/pom.xml
@@ -259,6 +259,7 @@ under the License.
<module>fe-authentication</module>
<module>fe-thrift</module>
<module>fe-type</module>
+ <module>fe-grpc</module>
</modules>
<properties>
<doris.hive.catalog.shade.version>3.1.1</doris.hive.catalog.shade.version>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]