You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by li...@apache.org on 2022/07/14 09:02:33 UTC

[rocketmq-clients] 01/01: Restructure source file layout

This is an automated email from the ASF dual-hosted git repository.

lizhanhui pushed a commit to branch cpp_dev
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git

commit e014e2355081f3be39dcb779e73a11c6dfb10878
Author: Li Zhanhui <li...@gmail.com>
AuthorDate: Thu Jul 14 16:58:47 2022 +0800

    Restructure source file layout
---
 cpp/examples/BUILD.bazel                           | 24 +++++++++++-----------
 cpp/{api => include}/BUILD.bazel                   |  2 +-
 cpp/{api => include}/rocketmq/AdminServer.h        |  0
 cpp/{api => include}/rocketmq/BackoffPolicy.h      |  0
 cpp/{api => include}/rocketmq/Configuration.h      |  0
 .../rocketmq/ConfigurationDefaults.h               |  0
 cpp/{api => include}/rocketmq/ConsumeResult.h      |  0
 cpp/{api => include}/rocketmq/Credentials.h        |  0
 .../rocketmq/CredentialsProvider.h                 |  0
 cpp/{api => include}/rocketmq/ErrorCategory.h      |  0
 cpp/{api => include}/rocketmq/ErrorCode.h          |  0
 cpp/{api => include}/rocketmq/Executor.h           |  0
 cpp/{api => include}/rocketmq/ExpressionType.h     |  0
 cpp/{api => include}/rocketmq/FilterExpression.h   |  0
 cpp/{api => include}/rocketmq/Logger.h             |  0
 cpp/{api => include}/rocketmq/MQClientException.h  |  0
 cpp/{api => include}/rocketmq/Message.h            |  0
 cpp/{api => include}/rocketmq/MessageListener.h    |  0
 cpp/{api => include}/rocketmq/Producer.h           |  0
 cpp/{api => include}/rocketmq/PushConsumer.h       |  0
 cpp/{api => include}/rocketmq/RocketMQ.h           |  0
 cpp/{api => include}/rocketmq/SendCallback.h       |  0
 cpp/{api => include}/rocketmq/SendReceipt.h        |  0
 cpp/{api => include}/rocketmq/SimpleConsumer.h     |  0
 cpp/{api => include}/rocketmq/State.h              |  0
 cpp/{api => include}/rocketmq/Tracing.h            |  0
 cpp/{api => include}/rocketmq/Transaction.h        |  0
 cpp/{api => include}/rocketmq/TransactionChecker.h |  0
 cpp/{api => include}/rocketmq/TransactionState.h   |  0
 cpp/{src/main/cpp => source}/admin/AdminClient.cpp |  0
 cpp/{src/main/cpp => source}/admin/AdminFacade.cpp |  0
 .../main/cpp => source}/admin/AdminServerImpl.cpp  |  0
 .../main/cpp => source}/admin/AdminServiceImpl.cpp |  0
 cpp/{src/main/cpp => source}/admin/BUILD.bazel     |  8 ++++----
 .../cpp => source}/admin/include/AdminClient.h     |  0
 .../cpp => source}/admin/include/AdminServerImpl.h |  0
 .../admin/include/AdminServiceImpl.h               |  0
 .../main/cpp => source}/admin/include/ServerCall.h |  0
 cpp/{src/main/cpp => source}/base/BUILD.bazel      |  4 ++--
 .../main/cpp => source}/base/Configuration.cpp     |  0
 .../cpp => source}/base/ConfigurationDefaults.cpp  |  0
 .../cpp => source}/base/CredentialsProvider.cpp    |  0
 .../main/cpp => source}/base/ErrorCategory.cpp     |  0
 cpp/{src/main/cpp => source}/base/ErrorCode.cpp    |  0
 .../main/cpp => source}/base/FilterExpression.cpp  |  0
 cpp/{src/main/cpp => source}/base/Message.cpp      |  0
 cpp/{src/main/cpp => source}/base/MessageExt.cpp   |  0
 .../main/cpp => source}/base/MetadataConstants.cpp |  0
 cpp/{src/main/cpp => source}/base/MixAll.cpp       |  0
 cpp/{src/main/cpp => source}/base/Protocol.cpp     |  0
 .../main/cpp => source}/base/ThreadPoolImpl.cpp    |  0
 .../main/cpp => source}/base/UniqueIdGenerator.cpp |  0
 cpp/{src/main/cpp => source}/base/UtilAll.cpp      |  0
 .../base/include/InvocationContext.h               |  0
 .../main/cpp => source}/base/include/MessageExt.h  |  0
 .../base/include/MetadataConstants.h               |  0
 cpp/{src/main/cpp => source}/base/include/MixAll.h |  0
 .../main/cpp => source}/base/include/Protocol.h    |  0
 .../main/cpp => source}/base/include/RetryPolicy.h |  0
 .../base/include/SubscriptionEntry.h               |  0
 .../main/cpp => source}/base/include/ThreadPool.h  |  0
 .../cpp => source}/base/include/ThreadPoolImpl.h   |  0
 .../base/include/UniqueIdGenerator.h               |  0
 .../main/cpp => source}/base/include/UtilAll.h     |  0
 .../main/cpp => source}/base/mocks/BUILD.bazel     |  4 ++--
 .../base/mocks/include/HttpClientMock.h            |  0
 .../base/mocks/include/MessageListenerMock.h       |  0
 .../cpp => source}/base/tests/AssignmentTest.cpp   |  0
 .../main/cpp => source}/base/tests/BUILD.bazel     |  2 +-
 .../base/tests/ConfigurationTest.cpp               |  0
 .../base/tests/MessageBuilderTest.cpp              |  0
 .../cpp => source}/base/tests/MessageQueueTest.cpp |  0
 .../main/cpp => source}/base/tests/MixAllTest.cpp  |  0
 .../cpp => source}/base/tests/RetryPolicyTest.cpp  |  0
 cpp/{src/main/cpp => source}/client/BUILD.bazel    | 12 +++++------
 .../cpp => source}/client/ClientManagerFactory.cpp |  0
 .../cpp => source}/client/ClientManagerImpl.cpp    |  0
 .../main/cpp => source}/client/LogInterceptor.cpp  |  0
 .../client/LogInterceptorFactory.cpp               |  0
 .../client/ReceiveMessageStreamReader.cpp          |  0
 .../main/cpp => source}/client/RpcClientImpl.cpp   |  0
 .../main/cpp => source}/client/SessionImpl.cpp     |  0
 cpp/{src/main/cpp => source}/client/Signature.cpp  |  0
 .../cpp => source}/client/TelemetryBidiReactor.cpp |  0
 cpp/{src/main/cpp => source}/client/TlsHelper.cpp  |  0
 .../cpp => source}/client/TopicAssignmentInfo.cpp  |  0
 .../main/cpp => source}/client/include/Client.h    |  0
 .../cpp => source}/client/include/ClientConfig.h   |  0
 .../cpp => source}/client/include/ClientManager.h  |  0
 .../client/include/ClientManagerFactory.h          |  0
 .../client/include/ClientManagerImpl.h             |  0
 .../client/include/ConsumeMessageType.h            |  0
 .../client/include/InsecureCertificateVerifier.h   |  0
 .../client/include/InterceptorContinuation.h       |  0
 .../cpp => source}/client/include/LogInterceptor.h |  0
 .../client/include/LogInterceptorFactory.h         |  0
 .../main/cpp => source}/client/include/Metadata.h  |  0
 .../client/include/OpenSSLCompatible.h             |  0
 .../client/include/ReceiveMessageCallback.h        |  0
 .../client/include/ReceiveMessageContext.h         |  0
 .../client/include/ReceiveMessageResult.h          |  0
 .../client/include/ReceiveMessageStreamReader.h    |  0
 .../main/cpp => source}/client/include/RpcClient.h |  0
 .../cpp => source}/client/include/RpcClientImpl.h  |  0
 .../client/include/SendMessageContext.h            |  0
 .../main/cpp => source}/client/include/Session.h   |  0
 .../cpp => source}/client/include/SessionImpl.h    |  0
 .../main/cpp => source}/client/include/Signature.h |  0
 .../client/include/TelemetryBidiReactor.h          |  0
 .../main/cpp => source}/client/include/TlsHelper.h |  0
 .../client/include/TopicAssignmentInfo.h           |  0
 .../cpp => source}/client/include/TopicRouteData.h |  0
 .../main/cpp => source}/client/mocks/BUILD.bazel   |  4 ++--
 .../client/mocks/include/ClientManagerMock.h       |  0
 .../client/mocks/include/ClientMock.h              |  0
 .../mocks/include/ReceiveMessageCallbackMock.h     |  0
 .../client/mocks/include/RpcClientMock.h           |  0
 .../main/cpp => source}/concurrent/BUILD.bazel     |  6 +++---
 .../cpp => source}/concurrent/CountdownLatch.cpp   |  0
 .../concurrent/include/CountdownLatch.h            |  0
 cpp/{src/main/cpp => source}/log/BUILD.bazel       |  4 ++--
 cpp/{src/main/cpp => source}/log/LoggerImpl.cpp    |  0
 .../main/cpp => source}/log/include/LoggerImpl.h   |  0
 cpp/{src/main/cpp => source}/remoting/BUILD.bazel  |  4 ++--
 .../main/cpp => source}/remoting/BrokerData.cpp    |  0
 .../remoting/QueryRouteRequestHeader.cpp           |  0
 .../main/cpp => source}/remoting/QueueData.cpp     |  0
 .../cpp => source}/remoting/RemotingCommand.cpp    |  0
 .../cpp => source}/remoting/TopicRouteData.cpp     |  0
 .../cpp => source}/remoting/include/BrokerData.h   |  0
 .../remoting/include/CommandCustomHeader.h         |  0
 .../cpp => source}/remoting/include/LanguageCode.h |  0
 .../remoting/include/QueryRouteRequestHeader.h     |  0
 .../cpp => source}/remoting/include/QueueData.h    |  0
 .../remoting/include/RemotingCommand.h             |  0
 .../remoting/include/RemotingCommandType.h         |  0
 .../cpp => source}/remoting/include/RequestCode.h  |  0
 .../cpp => source}/remoting/include/ResponseCode.h |  0
 .../remoting/include/TopicRouteData.h              |  0
 .../main/cpp => source}/remoting/include/Version.h |  0
 .../rocketmq/AsyncReceiveMessageCallback.cpp       |  0
 cpp/{src/main/cpp => source}/rocketmq/BUILD.bazel  | 12 +++++------
 .../main/cpp => source}/rocketmq/ClientImpl.cpp    |  0
 .../rocketmq/ConsumeMessageServiceImpl.cpp         |  0
 .../main/cpp => source}/rocketmq/ConsumeTask.cpp   |  0
 .../rocketmq/MessageGroupQueueSelector.cpp         |  0
 .../main/cpp => source}/rocketmq/NamingScheme.cpp  |  0
 .../cpp => source}/rocketmq/ProcessQueueImpl.cpp   |  0
 cpp/{src/main/cpp => source}/rocketmq/Producer.cpp |  0
 .../main/cpp => source}/rocketmq/ProducerImpl.cpp  |  0
 .../main/cpp => source}/rocketmq/PushConsumer.cpp  |  0
 .../cpp => source}/rocketmq/PushConsumerImpl.cpp   |  0
 .../main/cpp => source}/rocketmq/SendContext.cpp   |  0
 .../cpp => source}/rocketmq/SimpleConsumer.cpp     |  0
 .../cpp => source}/rocketmq/SimpleConsumerImpl.cpp |  0
 .../rocketmq/StaticNameServerResolver.cpp          |  0
 .../cpp => source}/rocketmq/TopicPublishInfo.cpp   |  0
 .../cpp => source}/rocketmq/TransactionImpl.cpp    |  0
 .../rocketmq/include/AsyncReceiveMessageCallback.h |  0
 .../cpp => source}/rocketmq/include/ClientImpl.h   |  0
 .../rocketmq/include/ClientResourceBundle.h        |  0
 .../rocketmq/include/ConsumeMessageService.h       |  0
 .../rocketmq/include/ConsumeMessageServiceImpl.h   |  0
 .../cpp => source}/rocketmq/include/ConsumeTask.h  |  0
 .../cpp => source}/rocketmq/include/Consumer.h     |  0
 .../rocketmq/include/MessageGroupQueueSelector.h   |  0
 .../rocketmq/include/NameServerResolver.h          |  0
 .../cpp => source}/rocketmq/include/NamingScheme.h |  0
 .../cpp => source}/rocketmq/include/ProcessQueue.h |  0
 .../rocketmq/include/ProcessQueueImpl.h            |  0
 .../cpp => source}/rocketmq/include/ProducerImpl.h |  0
 .../rocketmq/include/PublishInfoCallback.h         |  0
 .../rocketmq/include/PushConsumerImpl.h            |  0
 .../cpp => source}/rocketmq/include/SendContext.h  |  0
 .../rocketmq/include/SimpleConsumerImpl.h          |  0
 .../rocketmq/include/StaticNameServerResolver.h    |  0
 .../rocketmq/include/TopicPublishInfo.h            |  0
 .../rocketmq/include/TransactionImpl.h             |  0
 .../main/cpp => source}/rocketmq/mocks/BUILD.bazel |  6 +++---
 .../mocks/include/ConsumeMessageServiceMock.h      |  0
 .../rocketmq/mocks/include/ConsumerMock.h          |  0
 .../mocks/include/NameServerResolverMock.h         |  0
 .../rocketmq/mocks/include/ProcessQueueMock.h      |  0
 .../rocketmq/mocks/include/PushConsumerMock.h      |  0
 .../main/cpp => source}/rocketmq/tests/BUILD.bazel |  2 +-
 .../rocketmq/tests/SendContextTest.cpp             |  0
 .../cpp => source}/rocketmq/tests/TimeTest.cpp     |  0
 cpp/{src/main/cpp => source}/scheduler/BUILD.bazel |  6 +++---
 .../cpp => source}/scheduler/SchedulerImpl.cpp     |  0
 .../cpp => source}/scheduler/include/Scheduler.h   |  0
 .../scheduler/include/SchedulerImpl.h              |  0
 cpp/{src/main/cpp => source}/stats/BUILD.bazel     |  6 +++---
 .../main/cpp => source}/stats/ConsumeStats.cpp     |  0
 .../cpp => source}/stats/MetricBidiReactor.cpp     |  0
 .../cpp => source}/stats/OpencensusExporter.cpp    |  0
 .../cpp => source}/stats/OpencensusHandler.cpp     |  0
 .../main/cpp => source}/stats/PublishStats.cpp     |  0
 .../main/cpp => source}/stats/StdoutHandler.cpp    |  0
 cpp/{src/main/cpp => source}/stats/Tag.cpp         |  0
 .../cpp => source}/stats/include/ConsumeStats.h    |  0
 .../stats/include/MetricBidiReactor.h              |  0
 .../stats/include/OpencensusExporter.h             |  0
 .../stats/include/OpencensusHandler.h              |  0
 .../cpp => source}/stats/include/PublishStats.h    |  0
 .../cpp => source}/stats/include/StdoutHandler.h   |  0
 cpp/{src/main/cpp => source}/stats/include/Tag.h   |  0
 .../main/cpp => source}/stats/tests/BUILD.bazel    |  2 +-
 .../stats/tests/PublishStatsTest.cpp               |  0
 cpp/{src/main/cpp => source}/trace/BUILD.bazel     |  6 +++---
 .../main/cpp => source}/trace/TracingUtility.cpp   |  0
 .../cpp => source}/trace/include/TracingUtility.h  |  0
 211 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/cpp/examples/BUILD.bazel b/cpp/examples/BUILD.bazel
index dfa114a..c2dbab4 100644
--- a/cpp/examples/BUILD.bazel
+++ b/cpp/examples/BUILD.bazel
@@ -22,7 +22,7 @@ cc_binary(
         "ExampleProducer.cpp",
     ],
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
+        "//source/rocketmq:rocketmq_library",
     ],
 )
 
@@ -32,7 +32,7 @@ cc_binary(
         "ExampleFifoProducer.cpp",
     ],
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
+        "//source/rocketmq:rocketmq_library",
     ],
 )
 
@@ -42,7 +42,7 @@ cc_binary(
         "ExampleAsyncProducer.cpp",
     ],
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
+        "//source/rocketmq:rocketmq_library",
     ],
 )
 
@@ -52,7 +52,7 @@ cc_binary(
         "ExampleSimpleConsumer.cpp",
     ],
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
+        "//source/rocketmq:rocketmq_library",
     ],
 )
 
@@ -62,7 +62,7 @@ cc_binary(
 #         "SqlProducer.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -72,7 +72,7 @@ cc_binary(
         "ExamplePushConsumer.cpp",
     ],
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
+        "//source/rocketmq:rocketmq_library",
     ],
 )
 
@@ -82,7 +82,7 @@ cc_binary(
 #         "ExampleFifoPushConsumer.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -92,7 +92,7 @@ cc_binary(
 #         "PushConsumerWithCustomExecutor.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -102,7 +102,7 @@ cc_binary(
 #         "PushConsumerWithThrottle.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -112,7 +112,7 @@ cc_binary(
 #         "SqlConsumer.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -122,7 +122,7 @@ cc_binary(
 #         "BenchmarkPushConsumer.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
 
@@ -132,6 +132,6 @@ cc_binary(
 #         "ExampleTransactionProducer.cpp",
 #     ],
 #     deps = [
-#         "//src/main/cpp/rocketmq:rocketmq_library",
+#         "//source/rocketmq:rocketmq_library",
 #     ],
 # )
\ No newline at end of file
diff --git a/cpp/api/BUILD.bazel b/cpp/include/BUILD.bazel
similarity index 96%
rename from cpp/api/BUILD.bazel
rename to cpp/include/BUILD.bazel
index f5d75d5..3b55925 100644
--- a/cpp/api/BUILD.bazel
+++ b/cpp/include/BUILD.bazel
@@ -19,7 +19,7 @@ load("@rules_cc//cc:defs.bzl", "cc_library")
 cc_library(
     name = "rocketmq_interface",
     hdrs = glob(["rocketmq/*.h"]),
-    strip_include_prefix = "//api",
+    strip_include_prefix = "//include",
     visibility = ["//visibility:public"],
     deps = [
         "@com_google_absl//absl/strings",
diff --git a/cpp/api/rocketmq/AdminServer.h b/cpp/include/rocketmq/AdminServer.h
similarity index 100%
rename from cpp/api/rocketmq/AdminServer.h
rename to cpp/include/rocketmq/AdminServer.h
diff --git a/cpp/api/rocketmq/BackoffPolicy.h b/cpp/include/rocketmq/BackoffPolicy.h
similarity index 100%
rename from cpp/api/rocketmq/BackoffPolicy.h
rename to cpp/include/rocketmq/BackoffPolicy.h
diff --git a/cpp/api/rocketmq/Configuration.h b/cpp/include/rocketmq/Configuration.h
similarity index 100%
rename from cpp/api/rocketmq/Configuration.h
rename to cpp/include/rocketmq/Configuration.h
diff --git a/cpp/api/rocketmq/ConfigurationDefaults.h b/cpp/include/rocketmq/ConfigurationDefaults.h
similarity index 100%
rename from cpp/api/rocketmq/ConfigurationDefaults.h
rename to cpp/include/rocketmq/ConfigurationDefaults.h
diff --git a/cpp/api/rocketmq/ConsumeResult.h b/cpp/include/rocketmq/ConsumeResult.h
similarity index 100%
rename from cpp/api/rocketmq/ConsumeResult.h
rename to cpp/include/rocketmq/ConsumeResult.h
diff --git a/cpp/api/rocketmq/Credentials.h b/cpp/include/rocketmq/Credentials.h
similarity index 100%
rename from cpp/api/rocketmq/Credentials.h
rename to cpp/include/rocketmq/Credentials.h
diff --git a/cpp/api/rocketmq/CredentialsProvider.h b/cpp/include/rocketmq/CredentialsProvider.h
similarity index 100%
rename from cpp/api/rocketmq/CredentialsProvider.h
rename to cpp/include/rocketmq/CredentialsProvider.h
diff --git a/cpp/api/rocketmq/ErrorCategory.h b/cpp/include/rocketmq/ErrorCategory.h
similarity index 100%
rename from cpp/api/rocketmq/ErrorCategory.h
rename to cpp/include/rocketmq/ErrorCategory.h
diff --git a/cpp/api/rocketmq/ErrorCode.h b/cpp/include/rocketmq/ErrorCode.h
similarity index 100%
rename from cpp/api/rocketmq/ErrorCode.h
rename to cpp/include/rocketmq/ErrorCode.h
diff --git a/cpp/api/rocketmq/Executor.h b/cpp/include/rocketmq/Executor.h
similarity index 100%
rename from cpp/api/rocketmq/Executor.h
rename to cpp/include/rocketmq/Executor.h
diff --git a/cpp/api/rocketmq/ExpressionType.h b/cpp/include/rocketmq/ExpressionType.h
similarity index 100%
rename from cpp/api/rocketmq/ExpressionType.h
rename to cpp/include/rocketmq/ExpressionType.h
diff --git a/cpp/api/rocketmq/FilterExpression.h b/cpp/include/rocketmq/FilterExpression.h
similarity index 100%
rename from cpp/api/rocketmq/FilterExpression.h
rename to cpp/include/rocketmq/FilterExpression.h
diff --git a/cpp/api/rocketmq/Logger.h b/cpp/include/rocketmq/Logger.h
similarity index 100%
rename from cpp/api/rocketmq/Logger.h
rename to cpp/include/rocketmq/Logger.h
diff --git a/cpp/api/rocketmq/MQClientException.h b/cpp/include/rocketmq/MQClientException.h
similarity index 100%
rename from cpp/api/rocketmq/MQClientException.h
rename to cpp/include/rocketmq/MQClientException.h
diff --git a/cpp/api/rocketmq/Message.h b/cpp/include/rocketmq/Message.h
similarity index 100%
rename from cpp/api/rocketmq/Message.h
rename to cpp/include/rocketmq/Message.h
diff --git a/cpp/api/rocketmq/MessageListener.h b/cpp/include/rocketmq/MessageListener.h
similarity index 100%
rename from cpp/api/rocketmq/MessageListener.h
rename to cpp/include/rocketmq/MessageListener.h
diff --git a/cpp/api/rocketmq/Producer.h b/cpp/include/rocketmq/Producer.h
similarity index 100%
rename from cpp/api/rocketmq/Producer.h
rename to cpp/include/rocketmq/Producer.h
diff --git a/cpp/api/rocketmq/PushConsumer.h b/cpp/include/rocketmq/PushConsumer.h
similarity index 100%
rename from cpp/api/rocketmq/PushConsumer.h
rename to cpp/include/rocketmq/PushConsumer.h
diff --git a/cpp/api/rocketmq/RocketMQ.h b/cpp/include/rocketmq/RocketMQ.h
similarity index 100%
rename from cpp/api/rocketmq/RocketMQ.h
rename to cpp/include/rocketmq/RocketMQ.h
diff --git a/cpp/api/rocketmq/SendCallback.h b/cpp/include/rocketmq/SendCallback.h
similarity index 100%
rename from cpp/api/rocketmq/SendCallback.h
rename to cpp/include/rocketmq/SendCallback.h
diff --git a/cpp/api/rocketmq/SendReceipt.h b/cpp/include/rocketmq/SendReceipt.h
similarity index 100%
rename from cpp/api/rocketmq/SendReceipt.h
rename to cpp/include/rocketmq/SendReceipt.h
diff --git a/cpp/api/rocketmq/SimpleConsumer.h b/cpp/include/rocketmq/SimpleConsumer.h
similarity index 100%
rename from cpp/api/rocketmq/SimpleConsumer.h
rename to cpp/include/rocketmq/SimpleConsumer.h
diff --git a/cpp/api/rocketmq/State.h b/cpp/include/rocketmq/State.h
similarity index 100%
rename from cpp/api/rocketmq/State.h
rename to cpp/include/rocketmq/State.h
diff --git a/cpp/api/rocketmq/Tracing.h b/cpp/include/rocketmq/Tracing.h
similarity index 100%
rename from cpp/api/rocketmq/Tracing.h
rename to cpp/include/rocketmq/Tracing.h
diff --git a/cpp/api/rocketmq/Transaction.h b/cpp/include/rocketmq/Transaction.h
similarity index 100%
rename from cpp/api/rocketmq/Transaction.h
rename to cpp/include/rocketmq/Transaction.h
diff --git a/cpp/api/rocketmq/TransactionChecker.h b/cpp/include/rocketmq/TransactionChecker.h
similarity index 100%
rename from cpp/api/rocketmq/TransactionChecker.h
rename to cpp/include/rocketmq/TransactionChecker.h
diff --git a/cpp/api/rocketmq/TransactionState.h b/cpp/include/rocketmq/TransactionState.h
similarity index 100%
rename from cpp/api/rocketmq/TransactionState.h
rename to cpp/include/rocketmq/TransactionState.h
diff --git a/cpp/src/main/cpp/admin/AdminClient.cpp b/cpp/source/admin/AdminClient.cpp
similarity index 100%
rename from cpp/src/main/cpp/admin/AdminClient.cpp
rename to cpp/source/admin/AdminClient.cpp
diff --git a/cpp/src/main/cpp/admin/AdminFacade.cpp b/cpp/source/admin/AdminFacade.cpp
similarity index 100%
rename from cpp/src/main/cpp/admin/AdminFacade.cpp
rename to cpp/source/admin/AdminFacade.cpp
diff --git a/cpp/src/main/cpp/admin/AdminServerImpl.cpp b/cpp/source/admin/AdminServerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/admin/AdminServerImpl.cpp
rename to cpp/source/admin/AdminServerImpl.cpp
diff --git a/cpp/src/main/cpp/admin/AdminServiceImpl.cpp b/cpp/source/admin/AdminServiceImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/admin/AdminServiceImpl.cpp
rename to cpp/source/admin/AdminServiceImpl.cpp
diff --git a/cpp/src/main/cpp/admin/BUILD.bazel b/cpp/source/admin/BUILD.bazel
similarity index 89%
rename from cpp/src/main/cpp/admin/BUILD.bazel
rename to cpp/source/admin/BUILD.bazel
index 1e8efe9..033cd1d 100644
--- a/cpp/src/main/cpp/admin/BUILD.bazel
+++ b/cpp/source/admin/BUILD.bazel
@@ -27,9 +27,9 @@ cc_library(
         "AdminServerImpl.cpp",
         "AdminServiceImpl.cpp",
     ],
-    strip_include_prefix = "//src/main/cpp/admin/include",
+    strip_include_prefix = "//source/admin/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
         "//proto:rocketmq_grpc_library",
         "@com_github_gabime_spdlog//:spdlog",
     ],
@@ -41,9 +41,9 @@ cc_library(
     hdrs = [
         "include/AdminClient.h",
     ],
-    strip_include_prefix = "//src/main/cpp/admin/include",
+    strip_include_prefix = "//source/admin/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
     ],
 )
 
diff --git a/cpp/src/main/cpp/admin/include/AdminClient.h b/cpp/source/admin/include/AdminClient.h
similarity index 100%
rename from cpp/src/main/cpp/admin/include/AdminClient.h
rename to cpp/source/admin/include/AdminClient.h
diff --git a/cpp/src/main/cpp/admin/include/AdminServerImpl.h b/cpp/source/admin/include/AdminServerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/admin/include/AdminServerImpl.h
rename to cpp/source/admin/include/AdminServerImpl.h
diff --git a/cpp/src/main/cpp/admin/include/AdminServiceImpl.h b/cpp/source/admin/include/AdminServiceImpl.h
similarity index 100%
rename from cpp/src/main/cpp/admin/include/AdminServiceImpl.h
rename to cpp/source/admin/include/AdminServiceImpl.h
diff --git a/cpp/src/main/cpp/admin/include/ServerCall.h b/cpp/source/admin/include/ServerCall.h
similarity index 100%
rename from cpp/src/main/cpp/admin/include/ServerCall.h
rename to cpp/source/admin/include/ServerCall.h
diff --git a/cpp/src/main/cpp/base/BUILD.bazel b/cpp/source/base/BUILD.bazel
similarity index 94%
rename from cpp/src/main/cpp/base/BUILD.bazel
rename to cpp/source/base/BUILD.bazel
index 3768b14..8b64b41 100644
--- a/cpp/src/main/cpp/base/BUILD.bazel
+++ b/cpp/source/base/BUILD.bazel
@@ -22,9 +22,9 @@ cc_library(
     name = "base_library",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/base/include",
+    strip_include_prefix = "//source/base/include",
     deps = [
-        "//src/main/cpp/log:log_library",
+        "//source/log:log_library",
         "//proto:rocketmq_grpc_library",
         "@com_github_fmtlib_fmt//:fmtlib",
         "@com_google_absl//absl/base",
diff --git a/cpp/src/main/cpp/base/Configuration.cpp b/cpp/source/base/Configuration.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/Configuration.cpp
rename to cpp/source/base/Configuration.cpp
diff --git a/cpp/src/main/cpp/base/ConfigurationDefaults.cpp b/cpp/source/base/ConfigurationDefaults.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/ConfigurationDefaults.cpp
rename to cpp/source/base/ConfigurationDefaults.cpp
diff --git a/cpp/src/main/cpp/base/CredentialsProvider.cpp b/cpp/source/base/CredentialsProvider.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/CredentialsProvider.cpp
rename to cpp/source/base/CredentialsProvider.cpp
diff --git a/cpp/src/main/cpp/base/ErrorCategory.cpp b/cpp/source/base/ErrorCategory.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/ErrorCategory.cpp
rename to cpp/source/base/ErrorCategory.cpp
diff --git a/cpp/src/main/cpp/base/ErrorCode.cpp b/cpp/source/base/ErrorCode.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/ErrorCode.cpp
rename to cpp/source/base/ErrorCode.cpp
diff --git a/cpp/src/main/cpp/base/FilterExpression.cpp b/cpp/source/base/FilterExpression.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/FilterExpression.cpp
rename to cpp/source/base/FilterExpression.cpp
diff --git a/cpp/src/main/cpp/base/Message.cpp b/cpp/source/base/Message.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/Message.cpp
rename to cpp/source/base/Message.cpp
diff --git a/cpp/src/main/cpp/base/MessageExt.cpp b/cpp/source/base/MessageExt.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/MessageExt.cpp
rename to cpp/source/base/MessageExt.cpp
diff --git a/cpp/src/main/cpp/base/MetadataConstants.cpp b/cpp/source/base/MetadataConstants.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/MetadataConstants.cpp
rename to cpp/source/base/MetadataConstants.cpp
diff --git a/cpp/src/main/cpp/base/MixAll.cpp b/cpp/source/base/MixAll.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/MixAll.cpp
rename to cpp/source/base/MixAll.cpp
diff --git a/cpp/src/main/cpp/base/Protocol.cpp b/cpp/source/base/Protocol.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/Protocol.cpp
rename to cpp/source/base/Protocol.cpp
diff --git a/cpp/src/main/cpp/base/ThreadPoolImpl.cpp b/cpp/source/base/ThreadPoolImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/ThreadPoolImpl.cpp
rename to cpp/source/base/ThreadPoolImpl.cpp
diff --git a/cpp/src/main/cpp/base/UniqueIdGenerator.cpp b/cpp/source/base/UniqueIdGenerator.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/UniqueIdGenerator.cpp
rename to cpp/source/base/UniqueIdGenerator.cpp
diff --git a/cpp/src/main/cpp/base/UtilAll.cpp b/cpp/source/base/UtilAll.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/UtilAll.cpp
rename to cpp/source/base/UtilAll.cpp
diff --git a/cpp/src/main/cpp/base/include/InvocationContext.h b/cpp/source/base/include/InvocationContext.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/InvocationContext.h
rename to cpp/source/base/include/InvocationContext.h
diff --git a/cpp/src/main/cpp/base/include/MessageExt.h b/cpp/source/base/include/MessageExt.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/MessageExt.h
rename to cpp/source/base/include/MessageExt.h
diff --git a/cpp/src/main/cpp/base/include/MetadataConstants.h b/cpp/source/base/include/MetadataConstants.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/MetadataConstants.h
rename to cpp/source/base/include/MetadataConstants.h
diff --git a/cpp/src/main/cpp/base/include/MixAll.h b/cpp/source/base/include/MixAll.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/MixAll.h
rename to cpp/source/base/include/MixAll.h
diff --git a/cpp/src/main/cpp/base/include/Protocol.h b/cpp/source/base/include/Protocol.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/Protocol.h
rename to cpp/source/base/include/Protocol.h
diff --git a/cpp/src/main/cpp/base/include/RetryPolicy.h b/cpp/source/base/include/RetryPolicy.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/RetryPolicy.h
rename to cpp/source/base/include/RetryPolicy.h
diff --git a/cpp/src/main/cpp/base/include/SubscriptionEntry.h b/cpp/source/base/include/SubscriptionEntry.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/SubscriptionEntry.h
rename to cpp/source/base/include/SubscriptionEntry.h
diff --git a/cpp/src/main/cpp/base/include/ThreadPool.h b/cpp/source/base/include/ThreadPool.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/ThreadPool.h
rename to cpp/source/base/include/ThreadPool.h
diff --git a/cpp/src/main/cpp/base/include/ThreadPoolImpl.h b/cpp/source/base/include/ThreadPoolImpl.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/ThreadPoolImpl.h
rename to cpp/source/base/include/ThreadPoolImpl.h
diff --git a/cpp/src/main/cpp/base/include/UniqueIdGenerator.h b/cpp/source/base/include/UniqueIdGenerator.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/UniqueIdGenerator.h
rename to cpp/source/base/include/UniqueIdGenerator.h
diff --git a/cpp/src/main/cpp/base/include/UtilAll.h b/cpp/source/base/include/UtilAll.h
similarity index 100%
rename from cpp/src/main/cpp/base/include/UtilAll.h
rename to cpp/source/base/include/UtilAll.h
diff --git a/cpp/src/main/cpp/base/mocks/BUILD.bazel b/cpp/source/base/mocks/BUILD.bazel
similarity index 90%
rename from cpp/src/main/cpp/base/mocks/BUILD.bazel
rename to cpp/source/base/mocks/BUILD.bazel
index be924e7..ab08dc3 100644
--- a/cpp/src/main/cpp/base/mocks/BUILD.bazel
+++ b/cpp/source/base/mocks/BUILD.bazel
@@ -20,9 +20,9 @@ package(default_visibility = ["//visibility:public"])
 cc_library(
     name = "base_mocks",
     hdrs = glob(["include/*h"]),
-    strip_include_prefix = "//src/main/cpp/base/mocks/include",
+    strip_include_prefix = "//source/base/mocks/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
         "//external:gtest",
     ],
 )
\ No newline at end of file
diff --git a/cpp/src/main/cpp/base/mocks/include/HttpClientMock.h b/cpp/source/base/mocks/include/HttpClientMock.h
similarity index 100%
rename from cpp/src/main/cpp/base/mocks/include/HttpClientMock.h
rename to cpp/source/base/mocks/include/HttpClientMock.h
diff --git a/cpp/src/main/cpp/base/mocks/include/MessageListenerMock.h b/cpp/source/base/mocks/include/MessageListenerMock.h
similarity index 100%
rename from cpp/src/main/cpp/base/mocks/include/MessageListenerMock.h
rename to cpp/source/base/mocks/include/MessageListenerMock.h
diff --git a/cpp/src/main/cpp/base/tests/AssignmentTest.cpp b/cpp/source/base/tests/AssignmentTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/AssignmentTest.cpp
rename to cpp/source/base/tests/AssignmentTest.cpp
diff --git a/cpp/src/main/cpp/base/tests/BUILD.bazel b/cpp/source/base/tests/BUILD.bazel
similarity index 95%
rename from cpp/src/main/cpp/base/tests/BUILD.bazel
rename to cpp/source/base/tests/BUILD.bazel
index 054dfb5..4037b9d 100644
--- a/cpp/src/main/cpp/base/tests/BUILD.bazel
+++ b/cpp/source/base/tests/BUILD.bazel
@@ -1,7 +1,7 @@
 load("@rules_cc//cc:defs.bzl", "cc_test")
 
 base_deps = [
-    "//src/main/cpp/base:base_library",
+    "//source/base:base_library",
     "@com_google_googletest//:gtest_main",
 ]
 
diff --git a/cpp/src/main/cpp/base/tests/ConfigurationTest.cpp b/cpp/source/base/tests/ConfigurationTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/ConfigurationTest.cpp
rename to cpp/source/base/tests/ConfigurationTest.cpp
diff --git a/cpp/src/main/cpp/base/tests/MessageBuilderTest.cpp b/cpp/source/base/tests/MessageBuilderTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/MessageBuilderTest.cpp
rename to cpp/source/base/tests/MessageBuilderTest.cpp
diff --git a/cpp/src/main/cpp/base/tests/MessageQueueTest.cpp b/cpp/source/base/tests/MessageQueueTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/MessageQueueTest.cpp
rename to cpp/source/base/tests/MessageQueueTest.cpp
diff --git a/cpp/src/main/cpp/base/tests/MixAllTest.cpp b/cpp/source/base/tests/MixAllTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/MixAllTest.cpp
rename to cpp/source/base/tests/MixAllTest.cpp
diff --git a/cpp/src/main/cpp/base/tests/RetryPolicyTest.cpp b/cpp/source/base/tests/RetryPolicyTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/base/tests/RetryPolicyTest.cpp
rename to cpp/source/base/tests/RetryPolicyTest.cpp
diff --git a/cpp/src/main/cpp/client/BUILD.bazel b/cpp/source/client/BUILD.bazel
similarity index 81%
rename from cpp/src/main/cpp/client/BUILD.bazel
rename to cpp/source/client/BUILD.bazel
index 0af283e..28eccb2 100644
--- a/cpp/src/main/cpp/client/BUILD.bazel
+++ b/cpp/source/client/BUILD.bazel
@@ -21,14 +21,14 @@ cc_library(
     name = "client_library",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/client/include",
+    strip_include_prefix = "//source/client/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
         "//proto:rocketmq_grpc_library",
-        "//src/main/cpp/admin:admin_server_library",
-        "//src/main/cpp/base:base_library",
-        "//src/main/cpp/scheduler:scheduler_library",
-        "//src/main/cpp/concurrent:countdown_latch_library",
+        "//source/admin:admin_server_library",
+        "//source/base:base_library",
+        "//source/scheduler:scheduler_library",
+        "//source/concurrent:countdown_latch_library",
         "@com_google_absl//absl/container:flat_hash_map",
         "@com_google_absl//absl/container:flat_hash_set",
         "@com_github_grpc_grpc//:grpc_secure",
diff --git a/cpp/src/main/cpp/client/ClientManagerFactory.cpp b/cpp/source/client/ClientManagerFactory.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/ClientManagerFactory.cpp
rename to cpp/source/client/ClientManagerFactory.cpp
diff --git a/cpp/src/main/cpp/client/ClientManagerImpl.cpp b/cpp/source/client/ClientManagerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/ClientManagerImpl.cpp
rename to cpp/source/client/ClientManagerImpl.cpp
diff --git a/cpp/src/main/cpp/client/LogInterceptor.cpp b/cpp/source/client/LogInterceptor.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/LogInterceptor.cpp
rename to cpp/source/client/LogInterceptor.cpp
diff --git a/cpp/src/main/cpp/client/LogInterceptorFactory.cpp b/cpp/source/client/LogInterceptorFactory.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/LogInterceptorFactory.cpp
rename to cpp/source/client/LogInterceptorFactory.cpp
diff --git a/cpp/src/main/cpp/client/ReceiveMessageStreamReader.cpp b/cpp/source/client/ReceiveMessageStreamReader.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/ReceiveMessageStreamReader.cpp
rename to cpp/source/client/ReceiveMessageStreamReader.cpp
diff --git a/cpp/src/main/cpp/client/RpcClientImpl.cpp b/cpp/source/client/RpcClientImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/RpcClientImpl.cpp
rename to cpp/source/client/RpcClientImpl.cpp
diff --git a/cpp/src/main/cpp/client/SessionImpl.cpp b/cpp/source/client/SessionImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/SessionImpl.cpp
rename to cpp/source/client/SessionImpl.cpp
diff --git a/cpp/src/main/cpp/client/Signature.cpp b/cpp/source/client/Signature.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/Signature.cpp
rename to cpp/source/client/Signature.cpp
diff --git a/cpp/src/main/cpp/client/TelemetryBidiReactor.cpp b/cpp/source/client/TelemetryBidiReactor.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/TelemetryBidiReactor.cpp
rename to cpp/source/client/TelemetryBidiReactor.cpp
diff --git a/cpp/src/main/cpp/client/TlsHelper.cpp b/cpp/source/client/TlsHelper.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/TlsHelper.cpp
rename to cpp/source/client/TlsHelper.cpp
diff --git a/cpp/src/main/cpp/client/TopicAssignmentInfo.cpp b/cpp/source/client/TopicAssignmentInfo.cpp
similarity index 100%
rename from cpp/src/main/cpp/client/TopicAssignmentInfo.cpp
rename to cpp/source/client/TopicAssignmentInfo.cpp
diff --git a/cpp/src/main/cpp/client/include/Client.h b/cpp/source/client/include/Client.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/Client.h
rename to cpp/source/client/include/Client.h
diff --git a/cpp/src/main/cpp/client/include/ClientConfig.h b/cpp/source/client/include/ClientConfig.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ClientConfig.h
rename to cpp/source/client/include/ClientConfig.h
diff --git a/cpp/src/main/cpp/client/include/ClientManager.h b/cpp/source/client/include/ClientManager.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ClientManager.h
rename to cpp/source/client/include/ClientManager.h
diff --git a/cpp/src/main/cpp/client/include/ClientManagerFactory.h b/cpp/source/client/include/ClientManagerFactory.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ClientManagerFactory.h
rename to cpp/source/client/include/ClientManagerFactory.h
diff --git a/cpp/src/main/cpp/client/include/ClientManagerImpl.h b/cpp/source/client/include/ClientManagerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ClientManagerImpl.h
rename to cpp/source/client/include/ClientManagerImpl.h
diff --git a/cpp/src/main/cpp/client/include/ConsumeMessageType.h b/cpp/source/client/include/ConsumeMessageType.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ConsumeMessageType.h
rename to cpp/source/client/include/ConsumeMessageType.h
diff --git a/cpp/src/main/cpp/client/include/InsecureCertificateVerifier.h b/cpp/source/client/include/InsecureCertificateVerifier.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/InsecureCertificateVerifier.h
rename to cpp/source/client/include/InsecureCertificateVerifier.h
diff --git a/cpp/src/main/cpp/client/include/InterceptorContinuation.h b/cpp/source/client/include/InterceptorContinuation.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/InterceptorContinuation.h
rename to cpp/source/client/include/InterceptorContinuation.h
diff --git a/cpp/src/main/cpp/client/include/LogInterceptor.h b/cpp/source/client/include/LogInterceptor.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/LogInterceptor.h
rename to cpp/source/client/include/LogInterceptor.h
diff --git a/cpp/src/main/cpp/client/include/LogInterceptorFactory.h b/cpp/source/client/include/LogInterceptorFactory.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/LogInterceptorFactory.h
rename to cpp/source/client/include/LogInterceptorFactory.h
diff --git a/cpp/src/main/cpp/client/include/Metadata.h b/cpp/source/client/include/Metadata.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/Metadata.h
rename to cpp/source/client/include/Metadata.h
diff --git a/cpp/src/main/cpp/client/include/OpenSSLCompatible.h b/cpp/source/client/include/OpenSSLCompatible.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/OpenSSLCompatible.h
rename to cpp/source/client/include/OpenSSLCompatible.h
diff --git a/cpp/src/main/cpp/client/include/ReceiveMessageCallback.h b/cpp/source/client/include/ReceiveMessageCallback.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ReceiveMessageCallback.h
rename to cpp/source/client/include/ReceiveMessageCallback.h
diff --git a/cpp/src/main/cpp/client/include/ReceiveMessageContext.h b/cpp/source/client/include/ReceiveMessageContext.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ReceiveMessageContext.h
rename to cpp/source/client/include/ReceiveMessageContext.h
diff --git a/cpp/src/main/cpp/client/include/ReceiveMessageResult.h b/cpp/source/client/include/ReceiveMessageResult.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ReceiveMessageResult.h
rename to cpp/source/client/include/ReceiveMessageResult.h
diff --git a/cpp/src/main/cpp/client/include/ReceiveMessageStreamReader.h b/cpp/source/client/include/ReceiveMessageStreamReader.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/ReceiveMessageStreamReader.h
rename to cpp/source/client/include/ReceiveMessageStreamReader.h
diff --git a/cpp/src/main/cpp/client/include/RpcClient.h b/cpp/source/client/include/RpcClient.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/RpcClient.h
rename to cpp/source/client/include/RpcClient.h
diff --git a/cpp/src/main/cpp/client/include/RpcClientImpl.h b/cpp/source/client/include/RpcClientImpl.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/RpcClientImpl.h
rename to cpp/source/client/include/RpcClientImpl.h
diff --git a/cpp/src/main/cpp/client/include/SendMessageContext.h b/cpp/source/client/include/SendMessageContext.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/SendMessageContext.h
rename to cpp/source/client/include/SendMessageContext.h
diff --git a/cpp/src/main/cpp/client/include/Session.h b/cpp/source/client/include/Session.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/Session.h
rename to cpp/source/client/include/Session.h
diff --git a/cpp/src/main/cpp/client/include/SessionImpl.h b/cpp/source/client/include/SessionImpl.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/SessionImpl.h
rename to cpp/source/client/include/SessionImpl.h
diff --git a/cpp/src/main/cpp/client/include/Signature.h b/cpp/source/client/include/Signature.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/Signature.h
rename to cpp/source/client/include/Signature.h
diff --git a/cpp/src/main/cpp/client/include/TelemetryBidiReactor.h b/cpp/source/client/include/TelemetryBidiReactor.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/TelemetryBidiReactor.h
rename to cpp/source/client/include/TelemetryBidiReactor.h
diff --git a/cpp/src/main/cpp/client/include/TlsHelper.h b/cpp/source/client/include/TlsHelper.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/TlsHelper.h
rename to cpp/source/client/include/TlsHelper.h
diff --git a/cpp/src/main/cpp/client/include/TopicAssignmentInfo.h b/cpp/source/client/include/TopicAssignmentInfo.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/TopicAssignmentInfo.h
rename to cpp/source/client/include/TopicAssignmentInfo.h
diff --git a/cpp/src/main/cpp/client/include/TopicRouteData.h b/cpp/source/client/include/TopicRouteData.h
similarity index 100%
rename from cpp/src/main/cpp/client/include/TopicRouteData.h
rename to cpp/source/client/include/TopicRouteData.h
diff --git a/cpp/src/main/cpp/client/mocks/BUILD.bazel b/cpp/source/client/mocks/BUILD.bazel
similarity index 90%
rename from cpp/src/main/cpp/client/mocks/BUILD.bazel
rename to cpp/source/client/mocks/BUILD.bazel
index 6da613f..a551c15 100644
--- a/cpp/src/main/cpp/client/mocks/BUILD.bazel
+++ b/cpp/source/client/mocks/BUILD.bazel
@@ -21,9 +21,9 @@ cc_library(
     name = "client_mocks",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/client/mocks/include",
+    strip_include_prefix = "//source/client/mocks/include",
     deps = [
-        "//src/main/cpp/client:client_library",
+        "//source/client:client_library",
         "//external:gtest",
     ],
 )
\ No newline at end of file
diff --git a/cpp/src/main/cpp/client/mocks/include/ClientManagerMock.h b/cpp/source/client/mocks/include/ClientManagerMock.h
similarity index 100%
rename from cpp/src/main/cpp/client/mocks/include/ClientManagerMock.h
rename to cpp/source/client/mocks/include/ClientManagerMock.h
diff --git a/cpp/src/main/cpp/client/mocks/include/ClientMock.h b/cpp/source/client/mocks/include/ClientMock.h
similarity index 100%
rename from cpp/src/main/cpp/client/mocks/include/ClientMock.h
rename to cpp/source/client/mocks/include/ClientMock.h
diff --git a/cpp/src/main/cpp/client/mocks/include/ReceiveMessageCallbackMock.h b/cpp/source/client/mocks/include/ReceiveMessageCallbackMock.h
similarity index 100%
rename from cpp/src/main/cpp/client/mocks/include/ReceiveMessageCallbackMock.h
rename to cpp/source/client/mocks/include/ReceiveMessageCallbackMock.h
diff --git a/cpp/src/main/cpp/client/mocks/include/RpcClientMock.h b/cpp/source/client/mocks/include/RpcClientMock.h
similarity index 100%
rename from cpp/src/main/cpp/client/mocks/include/RpcClientMock.h
rename to cpp/source/client/mocks/include/RpcClientMock.h
diff --git a/cpp/src/main/cpp/concurrent/BUILD.bazel b/cpp/source/concurrent/BUILD.bazel
similarity index 88%
rename from cpp/src/main/cpp/concurrent/BUILD.bazel
rename to cpp/source/concurrent/BUILD.bazel
index 0501d20..24d4526 100644
--- a/cpp/src/main/cpp/concurrent/BUILD.bazel
+++ b/cpp/source/concurrent/BUILD.bazel
@@ -23,10 +23,10 @@ cc_library(
     srcs = [
         "CountdownLatch.cpp"
     ],
-    strip_include_prefix = "//src/main/cpp/concurrent/include",
+    strip_include_prefix = "//source/concurrent/include",
     deps = [
-        "//src/main/cpp/base:base_library",
-        "//src/main/cpp/log:log_library",
+        "//source/base:base_library",
+        "//source/log:log_library",
         "@com_google_absl//absl/base",
         "@com_google_absl//absl/strings",
         "@com_google_absl//absl/synchronization",
diff --git a/cpp/src/main/cpp/concurrent/CountdownLatch.cpp b/cpp/source/concurrent/CountdownLatch.cpp
similarity index 100%
rename from cpp/src/main/cpp/concurrent/CountdownLatch.cpp
rename to cpp/source/concurrent/CountdownLatch.cpp
diff --git a/cpp/src/main/cpp/concurrent/include/CountdownLatch.h b/cpp/source/concurrent/include/CountdownLatch.h
similarity index 100%
rename from cpp/src/main/cpp/concurrent/include/CountdownLatch.h
rename to cpp/source/concurrent/include/CountdownLatch.h
diff --git a/cpp/src/main/cpp/log/BUILD.bazel b/cpp/source/log/BUILD.bazel
similarity index 92%
rename from cpp/src/main/cpp/log/BUILD.bazel
rename to cpp/source/log/BUILD.bazel
index 4b76706..7fe740b 100644
--- a/cpp/src/main/cpp/log/BUILD.bazel
+++ b/cpp/source/log/BUILD.bazel
@@ -19,9 +19,9 @@ cc_library(
     name = "log_library",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/log/include",
+    strip_include_prefix = "//source/log/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
         "@com_github_gabime_spdlog//:spdlog",
         "@com_github_gulrak_filesystem//:filesystem",
     ],
diff --git a/cpp/src/main/cpp/log/LoggerImpl.cpp b/cpp/source/log/LoggerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/log/LoggerImpl.cpp
rename to cpp/source/log/LoggerImpl.cpp
diff --git a/cpp/src/main/cpp/log/include/LoggerImpl.h b/cpp/source/log/include/LoggerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/log/include/LoggerImpl.h
rename to cpp/source/log/include/LoggerImpl.h
diff --git a/cpp/src/main/cpp/remoting/BUILD.bazel b/cpp/source/remoting/BUILD.bazel
similarity index 92%
rename from cpp/src/main/cpp/remoting/BUILD.bazel
rename to cpp/source/remoting/BUILD.bazel
index 155672b..6c070e8 100644
--- a/cpp/src/main/cpp/remoting/BUILD.bazel
+++ b/cpp/source/remoting/BUILD.bazel
@@ -21,9 +21,9 @@ cc_library(
     name = "remoting",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/remoting/include",
+    strip_include_prefix = "//source/remoting/include",
     deps = [
-        "//api:rocketmq_interface",
+        "//include:rocketmq_interface",
         "@asio//:asio",
         "@com_google_protobuf//:protobuf",
         "@com_google_absl//absl/memory",
diff --git a/cpp/src/main/cpp/remoting/BrokerData.cpp b/cpp/source/remoting/BrokerData.cpp
similarity index 100%
rename from cpp/src/main/cpp/remoting/BrokerData.cpp
rename to cpp/source/remoting/BrokerData.cpp
diff --git a/cpp/src/main/cpp/remoting/QueryRouteRequestHeader.cpp b/cpp/source/remoting/QueryRouteRequestHeader.cpp
similarity index 100%
rename from cpp/src/main/cpp/remoting/QueryRouteRequestHeader.cpp
rename to cpp/source/remoting/QueryRouteRequestHeader.cpp
diff --git a/cpp/src/main/cpp/remoting/QueueData.cpp b/cpp/source/remoting/QueueData.cpp
similarity index 100%
rename from cpp/src/main/cpp/remoting/QueueData.cpp
rename to cpp/source/remoting/QueueData.cpp
diff --git a/cpp/src/main/cpp/remoting/RemotingCommand.cpp b/cpp/source/remoting/RemotingCommand.cpp
similarity index 100%
rename from cpp/src/main/cpp/remoting/RemotingCommand.cpp
rename to cpp/source/remoting/RemotingCommand.cpp
diff --git a/cpp/src/main/cpp/remoting/TopicRouteData.cpp b/cpp/source/remoting/TopicRouteData.cpp
similarity index 100%
rename from cpp/src/main/cpp/remoting/TopicRouteData.cpp
rename to cpp/source/remoting/TopicRouteData.cpp
diff --git a/cpp/src/main/cpp/remoting/include/BrokerData.h b/cpp/source/remoting/include/BrokerData.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/BrokerData.h
rename to cpp/source/remoting/include/BrokerData.h
diff --git a/cpp/src/main/cpp/remoting/include/CommandCustomHeader.h b/cpp/source/remoting/include/CommandCustomHeader.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/CommandCustomHeader.h
rename to cpp/source/remoting/include/CommandCustomHeader.h
diff --git a/cpp/src/main/cpp/remoting/include/LanguageCode.h b/cpp/source/remoting/include/LanguageCode.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/LanguageCode.h
rename to cpp/source/remoting/include/LanguageCode.h
diff --git a/cpp/src/main/cpp/remoting/include/QueryRouteRequestHeader.h b/cpp/source/remoting/include/QueryRouteRequestHeader.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/QueryRouteRequestHeader.h
rename to cpp/source/remoting/include/QueryRouteRequestHeader.h
diff --git a/cpp/src/main/cpp/remoting/include/QueueData.h b/cpp/source/remoting/include/QueueData.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/QueueData.h
rename to cpp/source/remoting/include/QueueData.h
diff --git a/cpp/src/main/cpp/remoting/include/RemotingCommand.h b/cpp/source/remoting/include/RemotingCommand.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/RemotingCommand.h
rename to cpp/source/remoting/include/RemotingCommand.h
diff --git a/cpp/src/main/cpp/remoting/include/RemotingCommandType.h b/cpp/source/remoting/include/RemotingCommandType.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/RemotingCommandType.h
rename to cpp/source/remoting/include/RemotingCommandType.h
diff --git a/cpp/src/main/cpp/remoting/include/RequestCode.h b/cpp/source/remoting/include/RequestCode.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/RequestCode.h
rename to cpp/source/remoting/include/RequestCode.h
diff --git a/cpp/src/main/cpp/remoting/include/ResponseCode.h b/cpp/source/remoting/include/ResponseCode.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/ResponseCode.h
rename to cpp/source/remoting/include/ResponseCode.h
diff --git a/cpp/src/main/cpp/remoting/include/TopicRouteData.h b/cpp/source/remoting/include/TopicRouteData.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/TopicRouteData.h
rename to cpp/source/remoting/include/TopicRouteData.h
diff --git a/cpp/src/main/cpp/remoting/include/Version.h b/cpp/source/remoting/include/Version.h
similarity index 100%
rename from cpp/src/main/cpp/remoting/include/Version.h
rename to cpp/source/remoting/include/Version.h
diff --git a/cpp/src/main/cpp/rocketmq/AsyncReceiveMessageCallback.cpp b/cpp/source/rocketmq/AsyncReceiveMessageCallback.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/AsyncReceiveMessageCallback.cpp
rename to cpp/source/rocketmq/AsyncReceiveMessageCallback.cpp
diff --git a/cpp/src/main/cpp/rocketmq/BUILD.bazel b/cpp/source/rocketmq/BUILD.bazel
similarity index 79%
rename from cpp/src/main/cpp/rocketmq/BUILD.bazel
rename to cpp/source/rocketmq/BUILD.bazel
index b37957d..d428646 100644
--- a/cpp/src/main/cpp/rocketmq/BUILD.bazel
+++ b/cpp/source/rocketmq/BUILD.bazel
@@ -22,13 +22,13 @@ cc_library(
     name = "rocketmq_library",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/rocketmq/include",
+    strip_include_prefix = "//source/rocketmq/include",
     deps = [
-        "//src/main/cpp/client:client_library",
-        "//src/main/cpp/stats",
-        "//src/main/cpp/trace",
-        "//src/main/cpp/log:log_library",
-        "//src/main/cpp/admin:admin_server_library",
+        "//source/client:client_library",
+        "//source/stats",
+        "//source/trace",
+        "//source/log:log_library",
+        "//source/admin:admin_server_library",
         "@com_google_absl//absl/types:optional",
     ],
 )
\ No newline at end of file
diff --git a/cpp/src/main/cpp/rocketmq/ClientImpl.cpp b/cpp/source/rocketmq/ClientImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/ClientImpl.cpp
rename to cpp/source/rocketmq/ClientImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/ConsumeMessageServiceImpl.cpp b/cpp/source/rocketmq/ConsumeMessageServiceImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/ConsumeMessageServiceImpl.cpp
rename to cpp/source/rocketmq/ConsumeMessageServiceImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/ConsumeTask.cpp b/cpp/source/rocketmq/ConsumeTask.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/ConsumeTask.cpp
rename to cpp/source/rocketmq/ConsumeTask.cpp
diff --git a/cpp/src/main/cpp/rocketmq/MessageGroupQueueSelector.cpp b/cpp/source/rocketmq/MessageGroupQueueSelector.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/MessageGroupQueueSelector.cpp
rename to cpp/source/rocketmq/MessageGroupQueueSelector.cpp
diff --git a/cpp/src/main/cpp/rocketmq/NamingScheme.cpp b/cpp/source/rocketmq/NamingScheme.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/NamingScheme.cpp
rename to cpp/source/rocketmq/NamingScheme.cpp
diff --git a/cpp/src/main/cpp/rocketmq/ProcessQueueImpl.cpp b/cpp/source/rocketmq/ProcessQueueImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/ProcessQueueImpl.cpp
rename to cpp/source/rocketmq/ProcessQueueImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/Producer.cpp b/cpp/source/rocketmq/Producer.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/Producer.cpp
rename to cpp/source/rocketmq/Producer.cpp
diff --git a/cpp/src/main/cpp/rocketmq/ProducerImpl.cpp b/cpp/source/rocketmq/ProducerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/ProducerImpl.cpp
rename to cpp/source/rocketmq/ProducerImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/PushConsumer.cpp b/cpp/source/rocketmq/PushConsumer.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/PushConsumer.cpp
rename to cpp/source/rocketmq/PushConsumer.cpp
diff --git a/cpp/src/main/cpp/rocketmq/PushConsumerImpl.cpp b/cpp/source/rocketmq/PushConsumerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/PushConsumerImpl.cpp
rename to cpp/source/rocketmq/PushConsumerImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/SendContext.cpp b/cpp/source/rocketmq/SendContext.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/SendContext.cpp
rename to cpp/source/rocketmq/SendContext.cpp
diff --git a/cpp/src/main/cpp/rocketmq/SimpleConsumer.cpp b/cpp/source/rocketmq/SimpleConsumer.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/SimpleConsumer.cpp
rename to cpp/source/rocketmq/SimpleConsumer.cpp
diff --git a/cpp/src/main/cpp/rocketmq/SimpleConsumerImpl.cpp b/cpp/source/rocketmq/SimpleConsumerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/SimpleConsumerImpl.cpp
rename to cpp/source/rocketmq/SimpleConsumerImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/StaticNameServerResolver.cpp b/cpp/source/rocketmq/StaticNameServerResolver.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/StaticNameServerResolver.cpp
rename to cpp/source/rocketmq/StaticNameServerResolver.cpp
diff --git a/cpp/src/main/cpp/rocketmq/TopicPublishInfo.cpp b/cpp/source/rocketmq/TopicPublishInfo.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/TopicPublishInfo.cpp
rename to cpp/source/rocketmq/TopicPublishInfo.cpp
diff --git a/cpp/src/main/cpp/rocketmq/TransactionImpl.cpp b/cpp/source/rocketmq/TransactionImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/TransactionImpl.cpp
rename to cpp/source/rocketmq/TransactionImpl.cpp
diff --git a/cpp/src/main/cpp/rocketmq/include/AsyncReceiveMessageCallback.h b/cpp/source/rocketmq/include/AsyncReceiveMessageCallback.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/AsyncReceiveMessageCallback.h
rename to cpp/source/rocketmq/include/AsyncReceiveMessageCallback.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ClientImpl.h b/cpp/source/rocketmq/include/ClientImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ClientImpl.h
rename to cpp/source/rocketmq/include/ClientImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ClientResourceBundle.h b/cpp/source/rocketmq/include/ClientResourceBundle.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ClientResourceBundle.h
rename to cpp/source/rocketmq/include/ClientResourceBundle.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ConsumeMessageService.h b/cpp/source/rocketmq/include/ConsumeMessageService.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ConsumeMessageService.h
rename to cpp/source/rocketmq/include/ConsumeMessageService.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ConsumeMessageServiceImpl.h b/cpp/source/rocketmq/include/ConsumeMessageServiceImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ConsumeMessageServiceImpl.h
rename to cpp/source/rocketmq/include/ConsumeMessageServiceImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ConsumeTask.h b/cpp/source/rocketmq/include/ConsumeTask.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ConsumeTask.h
rename to cpp/source/rocketmq/include/ConsumeTask.h
diff --git a/cpp/src/main/cpp/rocketmq/include/Consumer.h b/cpp/source/rocketmq/include/Consumer.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/Consumer.h
rename to cpp/source/rocketmq/include/Consumer.h
diff --git a/cpp/src/main/cpp/rocketmq/include/MessageGroupQueueSelector.h b/cpp/source/rocketmq/include/MessageGroupQueueSelector.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/MessageGroupQueueSelector.h
rename to cpp/source/rocketmq/include/MessageGroupQueueSelector.h
diff --git a/cpp/src/main/cpp/rocketmq/include/NameServerResolver.h b/cpp/source/rocketmq/include/NameServerResolver.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/NameServerResolver.h
rename to cpp/source/rocketmq/include/NameServerResolver.h
diff --git a/cpp/src/main/cpp/rocketmq/include/NamingScheme.h b/cpp/source/rocketmq/include/NamingScheme.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/NamingScheme.h
rename to cpp/source/rocketmq/include/NamingScheme.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ProcessQueue.h b/cpp/source/rocketmq/include/ProcessQueue.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ProcessQueue.h
rename to cpp/source/rocketmq/include/ProcessQueue.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ProcessQueueImpl.h b/cpp/source/rocketmq/include/ProcessQueueImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ProcessQueueImpl.h
rename to cpp/source/rocketmq/include/ProcessQueueImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/ProducerImpl.h b/cpp/source/rocketmq/include/ProducerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/ProducerImpl.h
rename to cpp/source/rocketmq/include/ProducerImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/PublishInfoCallback.h b/cpp/source/rocketmq/include/PublishInfoCallback.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/PublishInfoCallback.h
rename to cpp/source/rocketmq/include/PublishInfoCallback.h
diff --git a/cpp/src/main/cpp/rocketmq/include/PushConsumerImpl.h b/cpp/source/rocketmq/include/PushConsumerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/PushConsumerImpl.h
rename to cpp/source/rocketmq/include/PushConsumerImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/SendContext.h b/cpp/source/rocketmq/include/SendContext.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/SendContext.h
rename to cpp/source/rocketmq/include/SendContext.h
diff --git a/cpp/src/main/cpp/rocketmq/include/SimpleConsumerImpl.h b/cpp/source/rocketmq/include/SimpleConsumerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/SimpleConsumerImpl.h
rename to cpp/source/rocketmq/include/SimpleConsumerImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/include/StaticNameServerResolver.h b/cpp/source/rocketmq/include/StaticNameServerResolver.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/StaticNameServerResolver.h
rename to cpp/source/rocketmq/include/StaticNameServerResolver.h
diff --git a/cpp/src/main/cpp/rocketmq/include/TopicPublishInfo.h b/cpp/source/rocketmq/include/TopicPublishInfo.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/TopicPublishInfo.h
rename to cpp/source/rocketmq/include/TopicPublishInfo.h
diff --git a/cpp/src/main/cpp/rocketmq/include/TransactionImpl.h b/cpp/source/rocketmq/include/TransactionImpl.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/include/TransactionImpl.h
rename to cpp/source/rocketmq/include/TransactionImpl.h
diff --git a/cpp/src/main/cpp/rocketmq/mocks/BUILD.bazel b/cpp/source/rocketmq/mocks/BUILD.bazel
similarity index 85%
rename from cpp/src/main/cpp/rocketmq/mocks/BUILD.bazel
rename to cpp/source/rocketmq/mocks/BUILD.bazel
index 21262fa..99c6c93 100644
--- a/cpp/src/main/cpp/rocketmq/mocks/BUILD.bazel
+++ b/cpp/source/rocketmq/mocks/BUILD.bazel
@@ -20,9 +20,9 @@ package(default_visibility = ["//visibility:public"])
 cc_library(
     name = "rocketmq_mocks",
     hdrs = glob(["include/*.h"]),
-    strip_include_prefix = "//src/main/cpp/rocketmq/mocks/include",
+    strip_include_prefix = "//source/rocketmq/mocks/include",
     deps = [
-        "//src/main/cpp/rocketmq:rocketmq_library",
-        "//src/main/cpp/client/mocks:client_mocks",
+        "//source/rocketmq:rocketmq_library",
+        "//source/client/mocks:client_mocks",
     ],
 )
\ No newline at end of file
diff --git a/cpp/src/main/cpp/rocketmq/mocks/include/ConsumeMessageServiceMock.h b/cpp/source/rocketmq/mocks/include/ConsumeMessageServiceMock.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/mocks/include/ConsumeMessageServiceMock.h
rename to cpp/source/rocketmq/mocks/include/ConsumeMessageServiceMock.h
diff --git a/cpp/src/main/cpp/rocketmq/mocks/include/ConsumerMock.h b/cpp/source/rocketmq/mocks/include/ConsumerMock.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/mocks/include/ConsumerMock.h
rename to cpp/source/rocketmq/mocks/include/ConsumerMock.h
diff --git a/cpp/src/main/cpp/rocketmq/mocks/include/NameServerResolverMock.h b/cpp/source/rocketmq/mocks/include/NameServerResolverMock.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/mocks/include/NameServerResolverMock.h
rename to cpp/source/rocketmq/mocks/include/NameServerResolverMock.h
diff --git a/cpp/src/main/cpp/rocketmq/mocks/include/ProcessQueueMock.h b/cpp/source/rocketmq/mocks/include/ProcessQueueMock.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/mocks/include/ProcessQueueMock.h
rename to cpp/source/rocketmq/mocks/include/ProcessQueueMock.h
diff --git a/cpp/src/main/cpp/rocketmq/mocks/include/PushConsumerMock.h b/cpp/source/rocketmq/mocks/include/PushConsumerMock.h
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/mocks/include/PushConsumerMock.h
rename to cpp/source/rocketmq/mocks/include/PushConsumerMock.h
diff --git a/cpp/src/main/cpp/rocketmq/tests/BUILD.bazel b/cpp/source/rocketmq/tests/BUILD.bazel
similarity index 95%
rename from cpp/src/main/cpp/rocketmq/tests/BUILD.bazel
rename to cpp/source/rocketmq/tests/BUILD.bazel
index 83f6271..40d9f61 100644
--- a/cpp/src/main/cpp/rocketmq/tests/BUILD.bazel
+++ b/cpp/source/rocketmq/tests/BUILD.bazel
@@ -17,7 +17,7 @@
 load("@rules_cc//cc:defs.bzl", "cc_test")
 
 base_deps = [
-    "//src/main/cpp/rocketmq:rocketmq_library",
+    "//source/rocketmq:rocketmq_library",
     "@com_google_googletest//:gtest_main",
 ]
 
diff --git a/cpp/src/main/cpp/rocketmq/tests/SendContextTest.cpp b/cpp/source/rocketmq/tests/SendContextTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/tests/SendContextTest.cpp
rename to cpp/source/rocketmq/tests/SendContextTest.cpp
diff --git a/cpp/src/main/cpp/rocketmq/tests/TimeTest.cpp b/cpp/source/rocketmq/tests/TimeTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/rocketmq/tests/TimeTest.cpp
rename to cpp/source/rocketmq/tests/TimeTest.cpp
diff --git a/cpp/src/main/cpp/scheduler/BUILD.bazel b/cpp/source/scheduler/BUILD.bazel
similarity index 89%
rename from cpp/src/main/cpp/scheduler/BUILD.bazel
rename to cpp/source/scheduler/BUILD.bazel
index 9997c63..07a3249 100644
--- a/cpp/src/main/cpp/scheduler/BUILD.bazel
+++ b/cpp/source/scheduler/BUILD.bazel
@@ -19,10 +19,10 @@ cc_library(
     name = "scheduler_library",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/scheduler/include",
+    strip_include_prefix = "//source/scheduler/include",
     deps = [
-        "//api:rocketmq_interface",
-        "//src/main/cpp/log:log_library",
+        "//include:rocketmq_interface",
+        "//source/log:log_library",
         "@com_google_absl//absl/base",        
         "@com_google_absl//absl/synchronization",
         "@com_google_absl//absl/container:flat_hash_map",
diff --git a/cpp/src/main/cpp/scheduler/SchedulerImpl.cpp b/cpp/source/scheduler/SchedulerImpl.cpp
similarity index 100%
rename from cpp/src/main/cpp/scheduler/SchedulerImpl.cpp
rename to cpp/source/scheduler/SchedulerImpl.cpp
diff --git a/cpp/src/main/cpp/scheduler/include/Scheduler.h b/cpp/source/scheduler/include/Scheduler.h
similarity index 100%
rename from cpp/src/main/cpp/scheduler/include/Scheduler.h
rename to cpp/source/scheduler/include/Scheduler.h
diff --git a/cpp/src/main/cpp/scheduler/include/SchedulerImpl.h b/cpp/source/scheduler/include/SchedulerImpl.h
similarity index 100%
rename from cpp/src/main/cpp/scheduler/include/SchedulerImpl.h
rename to cpp/source/scheduler/include/SchedulerImpl.h
diff --git a/cpp/src/main/cpp/stats/BUILD.bazel b/cpp/source/stats/BUILD.bazel
similarity index 88%
rename from cpp/src/main/cpp/stats/BUILD.bazel
rename to cpp/source/stats/BUILD.bazel
index fbf6af2..873d0a4 100644
--- a/cpp/src/main/cpp/stats/BUILD.bazel
+++ b/cpp/source/stats/BUILD.bazel
@@ -19,10 +19,10 @@ cc_library(
     name = "stats",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/stats/include",
+    strip_include_prefix = "//source/stats/include",
     deps = [
-        "//api:rocketmq_interface",
-        "//src/main/cpp/client:client_library",
+        "//include:rocketmq_interface",
+        "//source/client:client_library",
         "@io_opencensus_cpp//opencensus/stats",
         "@opencensus_proto//opencensus/proto/agent/metrics/v1:metrics_service_grpc_cc",
     ],
diff --git a/cpp/src/main/cpp/stats/ConsumeStats.cpp b/cpp/source/stats/ConsumeStats.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/ConsumeStats.cpp
rename to cpp/source/stats/ConsumeStats.cpp
diff --git a/cpp/src/main/cpp/stats/MetricBidiReactor.cpp b/cpp/source/stats/MetricBidiReactor.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/MetricBidiReactor.cpp
rename to cpp/source/stats/MetricBidiReactor.cpp
diff --git a/cpp/src/main/cpp/stats/OpencensusExporter.cpp b/cpp/source/stats/OpencensusExporter.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/OpencensusExporter.cpp
rename to cpp/source/stats/OpencensusExporter.cpp
diff --git a/cpp/src/main/cpp/stats/OpencensusHandler.cpp b/cpp/source/stats/OpencensusHandler.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/OpencensusHandler.cpp
rename to cpp/source/stats/OpencensusHandler.cpp
diff --git a/cpp/src/main/cpp/stats/PublishStats.cpp b/cpp/source/stats/PublishStats.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/PublishStats.cpp
rename to cpp/source/stats/PublishStats.cpp
diff --git a/cpp/src/main/cpp/stats/StdoutHandler.cpp b/cpp/source/stats/StdoutHandler.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/StdoutHandler.cpp
rename to cpp/source/stats/StdoutHandler.cpp
diff --git a/cpp/src/main/cpp/stats/Tag.cpp b/cpp/source/stats/Tag.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/Tag.cpp
rename to cpp/source/stats/Tag.cpp
diff --git a/cpp/src/main/cpp/stats/include/ConsumeStats.h b/cpp/source/stats/include/ConsumeStats.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/ConsumeStats.h
rename to cpp/source/stats/include/ConsumeStats.h
diff --git a/cpp/src/main/cpp/stats/include/MetricBidiReactor.h b/cpp/source/stats/include/MetricBidiReactor.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/MetricBidiReactor.h
rename to cpp/source/stats/include/MetricBidiReactor.h
diff --git a/cpp/src/main/cpp/stats/include/OpencensusExporter.h b/cpp/source/stats/include/OpencensusExporter.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/OpencensusExporter.h
rename to cpp/source/stats/include/OpencensusExporter.h
diff --git a/cpp/src/main/cpp/stats/include/OpencensusHandler.h b/cpp/source/stats/include/OpencensusHandler.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/OpencensusHandler.h
rename to cpp/source/stats/include/OpencensusHandler.h
diff --git a/cpp/src/main/cpp/stats/include/PublishStats.h b/cpp/source/stats/include/PublishStats.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/PublishStats.h
rename to cpp/source/stats/include/PublishStats.h
diff --git a/cpp/src/main/cpp/stats/include/StdoutHandler.h b/cpp/source/stats/include/StdoutHandler.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/StdoutHandler.h
rename to cpp/source/stats/include/StdoutHandler.h
diff --git a/cpp/src/main/cpp/stats/include/Tag.h b/cpp/source/stats/include/Tag.h
similarity index 100%
rename from cpp/src/main/cpp/stats/include/Tag.h
rename to cpp/source/stats/include/Tag.h
diff --git a/cpp/src/main/cpp/stats/tests/BUILD.bazel b/cpp/source/stats/tests/BUILD.bazel
similarity index 96%
rename from cpp/src/main/cpp/stats/tests/BUILD.bazel
rename to cpp/source/stats/tests/BUILD.bazel
index d1a6728..10005d0 100644
--- a/cpp/src/main/cpp/stats/tests/BUILD.bazel
+++ b/cpp/source/stats/tests/BUILD.bazel
@@ -22,7 +22,7 @@ cc_test(
         "PublishStatsTest.cpp",
     ],
     deps = [
-        "//src/main/cpp/stats",
+        "//source/stats",
         "@com_google_googletest//:gtest_main",
     ],
 )
\ No newline at end of file
diff --git a/cpp/src/main/cpp/stats/tests/PublishStatsTest.cpp b/cpp/source/stats/tests/PublishStatsTest.cpp
similarity index 100%
rename from cpp/src/main/cpp/stats/tests/PublishStatsTest.cpp
rename to cpp/source/stats/tests/PublishStatsTest.cpp
diff --git a/cpp/src/main/cpp/trace/BUILD.bazel b/cpp/source/trace/BUILD.bazel
similarity index 87%
rename from cpp/src/main/cpp/trace/BUILD.bazel
rename to cpp/source/trace/BUILD.bazel
index b44fe4c..6c63b8f 100644
--- a/cpp/src/main/cpp/trace/BUILD.bazel
+++ b/cpp/source/trace/BUILD.bazel
@@ -19,10 +19,10 @@ cc_library(
     name = "trace",
     hdrs = glob(["include/*.h"]),
     srcs = glob(["*.cpp"]),
-    strip_include_prefix = "//src/main/cpp/trace/include",
+    strip_include_prefix = "//source/trace/include",
     deps = [
-        "//api:rocketmq_interface",
-        "//src/main/cpp/client:client_library",
+        "//include:rocketmq_interface",
+        "//source/client:client_library",
         "@io_opencensus_cpp//opencensus/trace",
     ],
     visibility = ["//visibility:public"],
diff --git a/cpp/src/main/cpp/trace/TracingUtility.cpp b/cpp/source/trace/TracingUtility.cpp
similarity index 100%
rename from cpp/src/main/cpp/trace/TracingUtility.cpp
rename to cpp/source/trace/TracingUtility.cpp
diff --git a/cpp/src/main/cpp/trace/include/TracingUtility.h b/cpp/source/trace/include/TracingUtility.h
similarity index 100%
rename from cpp/src/main/cpp/trace/include/TracingUtility.h
rename to cpp/source/trace/include/TracingUtility.h