This is an automated email from the ASF dual-hosted git repository.
visoar pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bifromq.git
The following commit(s) were added to refs/heads/main by this push:
new d71c1917 chores - renaming/simplify versioning mgmt/update
assembly/etc (#149)
d71c1917 is described below
commit d71c19174e9a5337ac04177661df1a870b1c603f
Author: Yonny(Yu) Hao <[email protected]>
AuthorDate: Thu Jun 26 15:13:36 2025 +0800
chores - renaming/simplify versioning mgmt/update assembly/etc (#149)
* using revision property to simplify version management
* 1. add license/notice/disclaimer to assembly
2. rename module build-bifromq-starters -> build-bifromq-starter
---
.gitattributes | 6 +
base-cluster/pom.xml | 2 +-
base-crdt/base-crdt-service/pom.xml | 2 +-
base-crdt/base-crdt-store/pom.xml | 2 +-
base-crdt/pom.xml | 2 +-
base-env/base-env-provider-spi/pom.xml | 2 +-
base-env/base-env-provider/pom.xml | 2 +-
base-env/pom.xml | 2 +-
base-hlc/pom.xml | 2 +-
base-hookloader/pom.xml | 2 +-
base-kv/base-kv-local-engine/pom.xml | 2 +-
base-kv/base-kv-meta-service/pom.xml | 2 +-
base-kv/base-kv-raft-type/pom.xml | 2 +-
base-kv/base-kv-raft/pom.xml | 4 +-
base-kv/base-kv-store-balance-controller/pom.xml | 2 +-
base-kv/base-kv-store-balance-spi/pom.xml | 2 +-
base-kv/base-kv-store-client/pom.xml | 2 +-
base-kv/base-kv-store-rpc-definition/pom.xml | 2 +-
base-kv/base-kv-store-server/pom.xml | 2 +-
base-kv/base-kv-type-proto/pom.xml | 2 +-
base-kv/pom.xml | 2 +-
base-logger/pom.xml | 2 +-
base-rpc/base-rpc-client/pom.xml | 2 +-
base-rpc/base-rpc-common/pom.xml | 2 +-
base-rpc/base-rpc-grpc-inproc/pom.xml | 2 +-
base-rpc/base-rpc-server/pom.xml | 2 +-
base-rpc/base-rpc-traffic-governor/pom.xml | 2 +-
base-rpc/pom.xml | 2 +-
base-scheduler/pom.xml | 2 +-
base-util/pom.xml | 2 +-
bifromq-apiserver/pom.xml | 2 +-
bifromq-common-type/pom.xml | 2 +-
bifromq-deliverer/pom.xml | 2 +-
bifromq-dist/bifromq-dist-client/pom.xml | 2 +-
bifromq-dist/bifromq-dist-coproc-proto/pom.xml | 2 +-
bifromq-dist/bifromq-dist-rpc-definition/pom.xml | 2 +-
bifromq-dist/bifromq-dist-server/pom.xml | 2 +-
bifromq-dist/bifromq-dist-worker-schema/pom.xml | 2 +-
bifromq-dist/bifromq-dist-worker-spi/pom.xml | 2 +-
bifromq-dist/bifromq-dist-worker/pom.xml | 2 +-
bifromq-dist/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-client/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-coproc-proto/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-rpc-definition/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-server/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-store-schema/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-store-spi/pom.xml | 2 +-
bifromq-inbox/bifromq-inbox-store/pom.xml | 2 +-
bifromq-inbox/pom.xml | 2 +-
bifromq-metrics/pom.xml | 2 +-
bifromq-mqtt/bifromq-mqtt-broker-client/pom.xml | 2 +-
.../bifromq-mqtt-broker-rpc-definition/pom.xml | 2 +-
bifromq-mqtt/bifromq-mqtt-server/pom.xml | 2 +-
bifromq-mqtt/pom.xml | 2 +-
bifromq-plugin/bifromq-plugin-archetype/pom.xml | 2 +-
.../bifromq-plugin-auth-provider-helper/pom.xml | 2 +-
.../bifromq-plugin-auth-provider/pom.xml | 2 +-
.../bifromq-plugin-client-balancer-helper/pom.xml | 2 +-
.../bifromq-plugin-client-balancer/pom.xml | 2 +-
bifromq-plugin/bifromq-plugin-context/pom.xml | 2 +-
.../bifromq-plugin-event-collector-helper/pom.xml | 2 +-
.../bifromq-plugin-event-collector/pom.xml | 2 +-
bifromq-plugin/bifromq-plugin-main/pom.xml | 2 +-
bifromq-plugin/bifromq-plugin-manager/pom.xml | 2 +-
.../pom.xml | 2 +-
.../bifromq-plugin-resource-throttler/pom.xml | 2 +-
.../bifromq-plugin-setting-provider-helper/pom.xml | 2 +-
.../bifromq-plugin-setting-provider/pom.xml | 2 +-
.../bifromq-plugin-sub-broker-helper/pom.xml | 2 +-
bifromq-plugin/bifromq-plugin-sub-broker/pom.xml | 2 +-
bifromq-plugin/pom.xml | 2 +-
bifromq-retain/bifromq-retain-client/pom.xml | 2 +-
bifromq-retain/bifromq-retain-coproc-proto/pom.xml | 2 +-
bifromq-retain/bifromq-retain-gc/pom.xml | 2 +-
.../bifromq-retain-rpc-definition/pom.xml | 2 +-
bifromq-retain/bifromq-retain-server/pom.xml | 2 +-
bifromq-retain/bifromq-retain-store-schema/pom.xml | 2 +-
bifromq-retain/bifromq-retain-store-spi/pom.xml | 2 +-
bifromq-retain/bifromq-retain-store/pom.xml | 2 +-
bifromq-retain/pom.xml | 2 +-
.../bifromq-session-dict-client/pom.xml | 2 +-
.../bifromq-session-dict-rpc-definition/pom.xml | 2 +-
.../bifromq-session-dict-server/pom.xml | 2 +-
bifromq-session-dict/pom.xml | 2 +-
bifromq-sysprops/pom.xml | 2 +-
bifromq-util/pom.xml | 2 +-
.../assembly/assembly-windows.xml} | 12 ++
.../assembly/assembly.xml} | 12 ++
.../bin/bifromq-start.bat | 0
.../bin/bifromq-start.sh | 0
.../bin/bifromq-stop.bat | 0
.../bin/bifromq-stop.sh | 0
.../bin/pid.bat | 0
.../bin/standalone.bat | 0
.../bin/standalone.sh | 0
.../conf/log4j2.xml | 0
.../conf/standalone.yml | 0
.../plugins/README.md | 0
.../pom.xml | 40 +++--
.../bifromq/starter/ServiceBootstrapper.java | 10 +-
.../apache/bifromq/starter/StandaloneStarter.java | 186 ++++++++++-----------
.../bifromq/starter/config/StandaloneConfig.java | 8 +-
.../config/StandaloneConfigConsolidator.java | 12 +-
.../starter/config/model/BalancerOptions.java | 0
.../starter/config/model/ClusterConfig.java | 0
.../starter/config/model/ExecutorConfig.java | 0
.../starter/config/model/InMemEngineConfig.java | 0
.../bifromq/starter/config/model/RPCConfig.java | 0
.../starter/config/model/RocksDBEngineConfig.java | 2 +-
.../starter/config/model/SSLContextConfig.java | 0
.../config/model/ServerSSLContextConfig.java | 0
.../starter/config/model/StorageEngineConfig.java | 0
.../starter/config/model/api/APIServerConfig.java | 2 +-
.../config/model/dict/SessionDictClientConfig.java | 0
.../config/model/dict/SessionDictServerConfig.java | 0
.../model/dict/SessionDictServiceConfig.java | 0
.../config/model/dist/DistClientConfig.java | 0
.../config/model/dist/DistServerConfig.java | 0
.../config/model/dist/DistServiceConfig.java | 0
.../config/model/dist/DistWorkerClientConfig.java | 0
.../config/model/dist/DistWorkerConfig.java | 0
.../config/model/inbox/InboxClientConfig.java | 0
.../config/model/inbox/InboxServerConfig.java | 0
.../config/model/inbox/InboxServiceConfig.java | 0
.../config/model/inbox/InboxStoreClientConfig.java | 0
.../config/model/inbox/InboxStoreConfig.java | 0
.../config/model/mqtt/MQTTBrokerClientConfig.java | 0
.../config/model/mqtt/MQTTServerConfig.java | 8 +-
.../config/model/mqtt/MQTTServiceConfig.java | 0
.../model/mqtt/listener/TCPListenerConfig.java | 0
.../model/mqtt/listener/TLSListenerConfig.java | 2 +-
.../model/mqtt/listener/WSListenerConfig.java | 0
.../model/mqtt/listener/WSSListenerConfig.java | 2 +-
.../config/model/retain/RetainClientConfig.java | 0
.../config/model/retain/RetainServerConfig.java | 0
.../config/model/retain/RetainServiceConfig.java | 0
.../model/retain/RetainStoreClientConfig.java | 0
.../config/model/retain/RetainStoreConfig.java | 0
.../metrics/netty/PooledByteBufAllocator.java | 0
.../netty/PooledByteBufAllocatorMetric.java | 2 +-
.../bifromq/starter/module/APIServerModule.java | 10 +-
.../bifromq/starter/module/ConfigModule.java | 2 +-
.../bifromq/starter/module/CoreServiceModule.java | 14 +-
.../bifromq/starter/module/DistServiceModule.java | 20 +--
.../bifromq/starter/module/EngineConfUtil.java | 4 +-
.../bifromq/starter/module/ExecutorsModule.java | 6 +-
.../bifromq/starter/module/InboxServiceModule.java | 16 +-
.../bifromq/starter/module/MQTTServiceModule.java | 18 +-
.../bifromq/starter/module/PluginModule.java | 12 +-
.../starter/module/RPCClientSSLContextModule.java | 4 +-
.../starter/module/RPCServerBuilderModule.java | 10 +-
.../starter/module/RetainServiceModule.java | 20 +--
.../org/apache/bifromq/starter/module/SSLUtil.java | 2 +-
.../bifromq/starter/module/ServiceInjector.java | 0
.../starter/module/ServiceInjectorModule.java | 0
.../starter/module/SessionDictServiceModule.java | 6 +-
.../starter/module/SharedResourceProvider.java | 0
.../starter/module/SharedResourcesHolder.java | 0
.../bifromq/starter/utils/ClusterDomainUtil.java | 0
.../bifromq/starter/utils/ConfigFileUtil.java | 0
.../apache/bifromq/starter/utils/ResourceUtil.java | 0
.../src/main/resources/log4j2.xml | 0
.../starter/utils/ClusterDomainUtilTest.java | 0
.../bifromq/starter/utils/ResourceUtilTest.java | 0
.../src/test/resources/log4j2-test.xml | 0
.../src/test/resources/testResource.txt | 0
build/build-plugin-demo/pom.xml | 2 +-
build/pom.xml | 4 +-
coverage-report/pom.xml | 2 +-
pom.xml | 8 +-
release/release.sh | 131 +++++++++++++++
testsuites/pom.xml | 2 +-
172 files changed, 474 insertions(+), 295 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 8e948c53..6c38a71e 100755
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,7 @@
* text=auto !eol
+.asf.yaml export-ignore
+.github/ export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+.licenserc.yaml export-ignore
+lombok.config export-ignore
diff --git a/base-cluster/pom.xml b/base-cluster/pom.xml
index d8bd01ab..34c97841 100644
--- a/base-cluster/pom.xml
+++ b/base-cluster/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-cluster</artifactId>
diff --git a/base-crdt/base-crdt-service/pom.xml
b/base-crdt/base-crdt-service/pom.xml
index 99e8dae3..f0b2351a 100644
--- a/base-crdt/base-crdt-service/pom.xml
+++ b/base-crdt/base-crdt-service/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-crdt</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/base-crdt/base-crdt-store/pom.xml
b/base-crdt/base-crdt-store/pom.xml
index 2a928215..3e334005 100644
--- a/base-crdt/base-crdt-store/pom.xml
+++ b/base-crdt/base-crdt-store/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-crdt</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-crdt-store</artifactId>
diff --git a/base-crdt/pom.xml b/base-crdt/pom.xml
index 0c80e228..646b3aa5 100644
--- a/base-crdt/pom.xml
+++ b/base-crdt/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
diff --git a/base-env/base-env-provider-spi/pom.xml
b/base-env/base-env-provider-spi/pom.xml
index f6300ffb..7191a903 100644
--- a/base-env/base-env-provider-spi/pom.xml
+++ b/base-env/base-env-provider-spi/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-env</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-env-provider-spi</artifactId>
diff --git a/base-env/base-env-provider/pom.xml
b/base-env/base-env-provider/pom.xml
index f3665f19..57f09c0b 100644
--- a/base-env/base-env-provider/pom.xml
+++ b/base-env/base-env-provider/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-env</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-env-provider</artifactId>
diff --git a/base-env/pom.xml b/base-env/pom.xml
index 1676eff8..81f51df4 100644
--- a/base-env/pom.xml
+++ b/base-env/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
diff --git a/base-hlc/pom.xml b/base-hlc/pom.xml
index 4795135c..2726761d 100644
--- a/base-hlc/pom.xml
+++ b/base-hlc/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-hlc</artifactId>
diff --git a/base-hookloader/pom.xml b/base-hookloader/pom.xml
index 2a42489c..673b3e11 100644
--- a/base-hookloader/pom.xml
+++ b/base-hookloader/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-hookloader</artifactId>
diff --git a/base-kv/base-kv-local-engine/pom.xml
b/base-kv/base-kv-local-engine/pom.xml
index 1f3a1d69..398e6036 100644
--- a/base-kv/base-kv-local-engine/pom.xml
+++ b/base-kv/base-kv-local-engine/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-local-engine</artifactId>
diff --git a/base-kv/base-kv-meta-service/pom.xml
b/base-kv/base-kv-meta-service/pom.xml
index 29520075..ef5a964f 100644
--- a/base-kv/base-kv-meta-service/pom.xml
+++ b/base-kv/base-kv-meta-service/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-meta-service</artifactId>
diff --git a/base-kv/base-kv-raft-type/pom.xml
b/base-kv/base-kv-raft-type/pom.xml
index a142bf53..50695776 100644
--- a/base-kv/base-kv-raft-type/pom.xml
+++ b/base-kv/base-kv-raft-type/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-raft-type</artifactId>
diff --git a/base-kv/base-kv-raft/pom.xml b/base-kv/base-kv-raft/pom.xml
index 2fee9935..7a308e9c 100644
--- a/base-kv/base-kv-raft/pom.xml
+++ b/base-kv/base-kv-raft/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-raft</artifactId>
@@ -54,7 +54,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <scope>compile</scope>
+ <scope>provided</scope>
</dependency>
<!--for testing-->
<dependency>
diff --git a/base-kv/base-kv-store-balance-controller/pom.xml
b/base-kv/base-kv-store-balance-controller/pom.xml
index 8e1834c6..f89a83f9 100644
--- a/base-kv/base-kv-store-balance-controller/pom.xml
+++ b/base-kv/base-kv-store-balance-controller/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>base-kv</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/base-kv/base-kv-store-balance-spi/pom.xml
b/base-kv/base-kv-store-balance-spi/pom.xml
index 64f18811..904d3111 100644
--- a/base-kv/base-kv-store-balance-spi/pom.xml
+++ b/base-kv/base-kv-store-balance-spi/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>base-kv</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/base-kv/base-kv-store-client/pom.xml
b/base-kv/base-kv-store-client/pom.xml
index eaad3005..1b26bb93 100644
--- a/base-kv/base-kv-store-client/pom.xml
+++ b/base-kv/base-kv-store-client/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-store-client</artifactId>
diff --git a/base-kv/base-kv-store-rpc-definition/pom.xml
b/base-kv/base-kv-store-rpc-definition/pom.xml
index 11168a72..8232dc96 100644
--- a/base-kv/base-kv-store-rpc-definition/pom.xml
+++ b/base-kv/base-kv-store-rpc-definition/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-store-rpc-definition</artifactId>
diff --git a/base-kv/base-kv-store-server/pom.xml
b/base-kv/base-kv-store-server/pom.xml
index 704f6a5c..5514a7e4 100644
--- a/base-kv/base-kv-store-server/pom.xml
+++ b/base-kv/base-kv-store-server/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-store-server</artifactId>
diff --git a/base-kv/base-kv-type-proto/pom.xml
b/base-kv/base-kv-type-proto/pom.xml
index 2f5f23ae..9740b079 100644
--- a/base-kv/base-kv-type-proto/pom.xml
+++ b/base-kv/base-kv-type-proto/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-kv</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-kv-type-proto</artifactId>
diff --git a/base-kv/pom.xml b/base-kv/pom.xml
index f9ca2ccb..fdcf2baa 100644
--- a/base-kv/pom.xml
+++ b/base-kv/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
diff --git a/base-logger/pom.xml b/base-logger/pom.xml
index 11b0f1e0..ba647b98 100644
--- a/base-logger/pom.xml
+++ b/base-logger/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-logger</artifactId>
diff --git a/base-rpc/base-rpc-client/pom.xml b/base-rpc/base-rpc-client/pom.xml
index f30b4ddc..4df9a0ab 100644
--- a/base-rpc/base-rpc-client/pom.xml
+++ b/base-rpc/base-rpc-client/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-rpc</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-rpc-client</artifactId>
diff --git a/base-rpc/base-rpc-common/pom.xml b/base-rpc/base-rpc-common/pom.xml
index b5b39c48..b6f3171b 100644
--- a/base-rpc/base-rpc-common/pom.xml
+++ b/base-rpc/base-rpc-common/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-rpc</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-rpc-common</artifactId>
diff --git a/base-rpc/base-rpc-grpc-inproc/pom.xml
b/base-rpc/base-rpc-grpc-inproc/pom.xml
index 4d363ddd..30fc7c78 100644
--- a/base-rpc/base-rpc-grpc-inproc/pom.xml
+++ b/base-rpc/base-rpc-grpc-inproc/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-rpc</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-rpc-grpc-inproc</artifactId>
diff --git a/base-rpc/base-rpc-server/pom.xml b/base-rpc/base-rpc-server/pom.xml
index 87641854..59604a6e 100644
--- a/base-rpc/base-rpc-server/pom.xml
+++ b/base-rpc/base-rpc-server/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-rpc</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-rpc-server</artifactId>
diff --git a/base-rpc/base-rpc-traffic-governor/pom.xml
b/base-rpc/base-rpc-traffic-governor/pom.xml
index a2f90d1f..7e3e47a0 100644
--- a/base-rpc/base-rpc-traffic-governor/pom.xml
+++ b/base-rpc/base-rpc-traffic-governor/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>base-rpc</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-rpc-traffic-governor</artifactId>
diff --git a/base-rpc/pom.xml b/base-rpc/pom.xml
index 41c2e1a4..43e0fb45 100644
--- a/base-rpc/pom.xml
+++ b/base-rpc/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
diff --git a/base-scheduler/pom.xml b/base-scheduler/pom.xml
index 611815c6..81c1e6bb 100644
--- a/base-scheduler/pom.xml
+++ b/base-scheduler/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/base-util/pom.xml b/base-util/pom.xml
index 66f70b0a..ca88f6c8 100644
--- a/base-util/pom.xml
+++ b/base-util/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>base-util</artifactId>
diff --git a/bifromq-apiserver/pom.xml b/bifromq-apiserver/pom.xml
index b2a7ed43..dbe1e834 100644
--- a/bifromq-apiserver/pom.xml
+++ b/bifromq-apiserver/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-apiserver</artifactId>
diff --git a/bifromq-common-type/pom.xml b/bifromq-common-type/pom.xml
index 6b0f4f57..739926d5 100644
--- a/bifromq-common-type/pom.xml
+++ b/bifromq-common-type/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-deliverer/pom.xml b/bifromq-deliverer/pom.xml
index 82827170..2a0a7e7f 100644
--- a/bifromq-deliverer/pom.xml
+++ b/bifromq-deliverer/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-deliverer</artifactId>
diff --git a/bifromq-dist/bifromq-dist-client/pom.xml
b/bifromq-dist/bifromq-dist-client/pom.xml
index f86382ef..d73d2efa 100644
--- a/bifromq-dist/bifromq-dist-client/pom.xml
+++ b/bifromq-dist/bifromq-dist-client/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-client</artifactId>
diff --git a/bifromq-dist/bifromq-dist-coproc-proto/pom.xml
b/bifromq-dist/bifromq-dist-coproc-proto/pom.xml
index 3de38183..6c0ecc7b 100644
--- a/bifromq-dist/bifromq-dist-coproc-proto/pom.xml
+++ b/bifromq-dist/bifromq-dist-coproc-proto/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-coproc-proto</artifactId>
diff --git a/bifromq-dist/bifromq-dist-rpc-definition/pom.xml
b/bifromq-dist/bifromq-dist-rpc-definition/pom.xml
index 5b2a2d5f..4b393907 100644
--- a/bifromq-dist/bifromq-dist-rpc-definition/pom.xml
+++ b/bifromq-dist/bifromq-dist-rpc-definition/pom.xml
@@ -23,7 +23,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-dist/bifromq-dist-server/pom.xml
b/bifromq-dist/bifromq-dist-server/pom.xml
index 04efb124..30f7cc45 100644
--- a/bifromq-dist/bifromq-dist-server/pom.xml
+++ b/bifromq-dist/bifromq-dist-server/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-server</artifactId>
diff --git a/bifromq-dist/bifromq-dist-worker-schema/pom.xml
b/bifromq-dist/bifromq-dist-worker-schema/pom.xml
index d3146717..1c2cf307 100644
--- a/bifromq-dist/bifromq-dist-worker-schema/pom.xml
+++ b/bifromq-dist/bifromq-dist-worker-schema/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-worker-schema</artifactId>
diff --git a/bifromq-dist/bifromq-dist-worker-spi/pom.xml
b/bifromq-dist/bifromq-dist-worker-spi/pom.xml
index e865dfc7..83c4aab4 100644
--- a/bifromq-dist/bifromq-dist-worker-spi/pom.xml
+++ b/bifromq-dist/bifromq-dist-worker-spi/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-worker-spi</artifactId>
diff --git a/bifromq-dist/bifromq-dist-worker/pom.xml
b/bifromq-dist/bifromq-dist-worker/pom.xml
index 9de7e6e9..c4b4e503 100644
--- a/bifromq-dist/bifromq-dist-worker/pom.xml
+++ b/bifromq-dist/bifromq-dist-worker/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-dist</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-dist-worker</artifactId>
diff --git a/bifromq-dist/pom.xml b/bifromq-dist/pom.xml
index 9f3025ac..25d0f70d 100644
--- a/bifromq-dist/pom.xml
+++ b/bifromq-dist/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/bifromq-inbox/bifromq-inbox-client/pom.xml
b/bifromq-inbox/bifromq-inbox-client/pom.xml
index 02edbb83..f74bba0f 100644
--- a/bifromq-inbox/bifromq-inbox-client/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-client/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-client</artifactId>
diff --git a/bifromq-inbox/bifromq-inbox-coproc-proto/pom.xml
b/bifromq-inbox/bifromq-inbox-coproc-proto/pom.xml
index dcf26f83..0864ffe8 100644
--- a/bifromq-inbox/bifromq-inbox-coproc-proto/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-coproc-proto/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-coproc-proto</artifactId>
diff --git a/bifromq-inbox/bifromq-inbox-rpc-definition/pom.xml
b/bifromq-inbox/bifromq-inbox-rpc-definition/pom.xml
index 9cb394af..fdbe7d6c 100644
--- a/bifromq-inbox/bifromq-inbox-rpc-definition/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-rpc-definition/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-rpc-definition</artifactId>
diff --git a/bifromq-inbox/bifromq-inbox-server/pom.xml
b/bifromq-inbox/bifromq-inbox-server/pom.xml
index 09980cfa..882126f8 100644
--- a/bifromq-inbox/bifromq-inbox-server/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-server/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-inbox/bifromq-inbox-store-schema/pom.xml
b/bifromq-inbox/bifromq-inbox-store-schema/pom.xml
index bcdf22fc..84122b1a 100644
--- a/bifromq-inbox/bifromq-inbox-store-schema/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-store-schema/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-store-schema</artifactId>
diff --git a/bifromq-inbox/bifromq-inbox-store-spi/pom.xml
b/bifromq-inbox/bifromq-inbox-store-spi/pom.xml
index aadda17d..dcfd5b79 100644
--- a/bifromq-inbox/bifromq-inbox-store-spi/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-store-spi/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-store-spi</artifactId>
diff --git a/bifromq-inbox/bifromq-inbox-store/pom.xml
b/bifromq-inbox/bifromq-inbox-store/pom.xml
index 6729019b..9addf2e5 100644
--- a/bifromq-inbox/bifromq-inbox-store/pom.xml
+++ b/bifromq-inbox/bifromq-inbox-store/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-inbox</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-inbox-store</artifactId>
diff --git a/bifromq-inbox/pom.xml b/bifromq-inbox/pom.xml
index eef98551..3cb04bc6 100644
--- a/bifromq-inbox/pom.xml
+++ b/bifromq-inbox/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
diff --git a/bifromq-metrics/pom.xml b/bifromq-metrics/pom.xml
index ace1026c..86462c26 100644
--- a/bifromq-metrics/pom.xml
+++ b/bifromq-metrics/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-mqtt/bifromq-mqtt-broker-client/pom.xml
b/bifromq-mqtt/bifromq-mqtt-broker-client/pom.xml
index 9f286edc..e3164931 100644
--- a/bifromq-mqtt/bifromq-mqtt-broker-client/pom.xml
+++ b/bifromq-mqtt/bifromq-mqtt-broker-client/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-mqtt</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-mqtt-broker-client</artifactId>
diff --git a/bifromq-mqtt/bifromq-mqtt-broker-rpc-definition/pom.xml
b/bifromq-mqtt/bifromq-mqtt-broker-rpc-definition/pom.xml
index d6b1f945..678c780e 100644
--- a/bifromq-mqtt/bifromq-mqtt-broker-rpc-definition/pom.xml
+++ b/bifromq-mqtt/bifromq-mqtt-broker-rpc-definition/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-mqtt</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-mqtt-broker-rpc-definition</artifactId>
diff --git a/bifromq-mqtt/bifromq-mqtt-server/pom.xml
b/bifromq-mqtt/bifromq-mqtt-server/pom.xml
index 062f64f0..595f9260 100644
--- a/bifromq-mqtt/bifromq-mqtt-server/pom.xml
+++ b/bifromq-mqtt/bifromq-mqtt-server/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-mqtt</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-mqtt-server</artifactId>
diff --git a/bifromq-mqtt/pom.xml b/bifromq-mqtt/pom.xml
index d48cd388..07743ac5 100644
--- a/bifromq-mqtt/pom.xml
+++ b/bifromq-mqtt/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/bifromq-plugin/bifromq-plugin-archetype/pom.xml
b/bifromq-plugin/bifromq-plugin-archetype/pom.xml
index e1b60623..57cb253b 100644
--- a/bifromq-plugin/bifromq-plugin-archetype/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-archetype/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>maven-archetype</packaging>
diff --git a/bifromq-plugin/bifromq-plugin-auth-provider-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-auth-provider-helper/pom.xml
index c71c9d28..fc714c5c 100644
--- a/bifromq-plugin/bifromq-plugin-auth-provider-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-auth-provider-helper/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-auth-provider/pom.xml
b/bifromq-plugin/bifromq-plugin-auth-provider/pom.xml
index 8a5c97dc..b5f2918e 100644
--- a/bifromq-plugin/bifromq-plugin-auth-provider/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-auth-provider/pom.xml
@@ -26,7 +26,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-auth-provider</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-client-balancer-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-client-balancer-helper/pom.xml
index 5958fddd..9e81c482 100644
--- a/bifromq-plugin/bifromq-plugin-client-balancer-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-client-balancer-helper/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-client-balancer-helper</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-client-balancer/pom.xml
b/bifromq-plugin/bifromq-plugin-client-balancer/pom.xml
index 854c108a..7225d656 100644
--- a/bifromq-plugin/bifromq-plugin-client-balancer/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-client-balancer/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-client-balancer</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-context/pom.xml
b/bifromq-plugin/bifromq-plugin-context/pom.xml
index ef1246df..1f2da87f 100644
--- a/bifromq-plugin/bifromq-plugin-context/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-context/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-context</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-event-collector-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-event-collector-helper/pom.xml
index 021d959b..77567069 100644
--- a/bifromq-plugin/bifromq-plugin-event-collector-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-event-collector-helper/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-event-collector/pom.xml
b/bifromq-plugin/bifromq-plugin-event-collector/pom.xml
index 66c42c8f..141616ab 100644
--- a/bifromq-plugin/bifromq-plugin-event-collector/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-event-collector/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-main/pom.xml
b/bifromq-plugin/bifromq-plugin-main/pom.xml
index 46b8a702..2d0480c0 100644
--- a/bifromq-plugin/bifromq-plugin-main/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-main/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-main</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-manager/pom.xml
b/bifromq-plugin/bifromq-plugin-manager/pom.xml
index 4ede5b47..af583322 100644
--- a/bifromq-plugin/bifromq-plugin-manager/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-manager/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-plugin</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-resource-throttler-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-resource-throttler-helper/pom.xml
index e907fe85..3fd29c5e 100644
--- a/bifromq-plugin/bifromq-plugin-resource-throttler-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-resource-throttler-helper/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-resource-throttler-helper</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-resource-throttler/pom.xml
b/bifromq-plugin/bifromq-plugin-resource-throttler/pom.xml
index 56a509c2..d3f070d2 100644
--- a/bifromq-plugin/bifromq-plugin-resource-throttler/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-resource-throttler/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-resource-throttler</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-setting-provider-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-setting-provider-helper/pom.xml
index 61d2e0b5..85ad119e 100644
--- a/bifromq-plugin/bifromq-plugin-setting-provider-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-setting-provider-helper/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-setting-provider/pom.xml
b/bifromq-plugin/bifromq-plugin-setting-provider/pom.xml
index 8c0c36e0..022333ac 100644
--- a/bifromq-plugin/bifromq-plugin-setting-provider/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-setting-provider/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-plugin-setting-provider</artifactId>
diff --git a/bifromq-plugin/bifromq-plugin-sub-broker-helper/pom.xml
b/bifromq-plugin/bifromq-plugin-sub-broker-helper/pom.xml
index 543802bf..00ed4eef 100644
--- a/bifromq-plugin/bifromq-plugin-sub-broker-helper/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-sub-broker-helper/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/bifromq-plugin-sub-broker/pom.xml
b/bifromq-plugin/bifromq-plugin-sub-broker/pom.xml
index 38512cd6..68bdc2ab 100644
--- a/bifromq-plugin/bifromq-plugin-sub-broker/pom.xml
+++ b/bifromq-plugin/bifromq-plugin-sub-broker/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-plugin</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/bifromq-plugin/pom.xml b/bifromq-plugin/pom.xml
index 24f4204e..9f0e604d 100644
--- a/bifromq-plugin/pom.xml
+++ b/bifromq-plugin/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/bifromq-retain/bifromq-retain-client/pom.xml
b/bifromq-retain/bifromq-retain-client/pom.xml
index ab437864..4a87977e 100644
--- a/bifromq-retain/bifromq-retain-client/pom.xml
+++ b/bifromq-retain/bifromq-retain-client/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-client</artifactId>
diff --git a/bifromq-retain/bifromq-retain-coproc-proto/pom.xml
b/bifromq-retain/bifromq-retain-coproc-proto/pom.xml
index 7469fa1e..f0f8cbbc 100644
--- a/bifromq-retain/bifromq-retain-coproc-proto/pom.xml
+++ b/bifromq-retain/bifromq-retain-coproc-proto/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-coproc-proto</artifactId>
diff --git a/bifromq-retain/bifromq-retain-gc/pom.xml
b/bifromq-retain/bifromq-retain-gc/pom.xml
index b9ec9df8..ed57dacd 100644
--- a/bifromq-retain/bifromq-retain-gc/pom.xml
+++ b/bifromq-retain/bifromq-retain-gc/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-gc</artifactId>
diff --git a/bifromq-retain/bifromq-retain-rpc-definition/pom.xml
b/bifromq-retain/bifromq-retain-rpc-definition/pom.xml
index c706467d..249c58e0 100644
--- a/bifromq-retain/bifromq-retain-rpc-definition/pom.xml
+++ b/bifromq-retain/bifromq-retain-rpc-definition/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-rpc-definition</artifactId>
diff --git a/bifromq-retain/bifromq-retain-server/pom.xml
b/bifromq-retain/bifromq-retain-server/pom.xml
index 3bf9cf1b..f75e8079 100644
--- a/bifromq-retain/bifromq-retain-server/pom.xml
+++ b/bifromq-retain/bifromq-retain-server/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-server</artifactId>
diff --git a/bifromq-retain/bifromq-retain-store-schema/pom.xml
b/bifromq-retain/bifromq-retain-store-schema/pom.xml
index e6b638c3..07b059a8 100644
--- a/bifromq-retain/bifromq-retain-store-schema/pom.xml
+++ b/bifromq-retain/bifromq-retain-store-schema/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-store-schema</artifactId>
diff --git a/bifromq-retain/bifromq-retain-store-spi/pom.xml
b/bifromq-retain/bifromq-retain-store-spi/pom.xml
index 731ae8db..ca81c4bb 100644
--- a/bifromq-retain/bifromq-retain-store-spi/pom.xml
+++ b/bifromq-retain/bifromq-retain-store-spi/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-store-spi</artifactId>
diff --git a/bifromq-retain/bifromq-retain-store/pom.xml
b/bifromq-retain/bifromq-retain-store/pom.xml
index 3d6d0107..f0ea8cdb 100644
--- a/bifromq-retain/bifromq-retain-store/pom.xml
+++ b/bifromq-retain/bifromq-retain-store/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-retain</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-retain-store</artifactId>
diff --git a/bifromq-retain/pom.xml b/bifromq-retain/pom.xml
index 55f35735..bba6db75 100644
--- a/bifromq-retain/pom.xml
+++ b/bifromq-retain/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/bifromq-session-dict/bifromq-session-dict-client/pom.xml
b/bifromq-session-dict/bifromq-session-dict-client/pom.xml
index dc804203..1b4a6219 100644
--- a/bifromq-session-dict/bifromq-session-dict-client/pom.xml
+++ b/bifromq-session-dict/bifromq-session-dict-client/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-session-dict</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-session-dict-client</artifactId>
diff --git a/bifromq-session-dict/bifromq-session-dict-rpc-definition/pom.xml
b/bifromq-session-dict/bifromq-session-dict-rpc-definition/pom.xml
index aef91a2e..9da1c114 100644
--- a/bifromq-session-dict/bifromq-session-dict-rpc-definition/pom.xml
+++ b/bifromq-session-dict/bifromq-session-dict-rpc-definition/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-session-dict</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-session-dict-rpc-definition</artifactId>
diff --git a/bifromq-session-dict/bifromq-session-dict-server/pom.xml
b/bifromq-session-dict/bifromq-session-dict-server/pom.xml
index 036d065e..88347643 100644
--- a/bifromq-session-dict/bifromq-session-dict-server/pom.xml
+++ b/bifromq-session-dict/bifromq-session-dict-server/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-session-dict</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-session-dict-server</artifactId>
diff --git a/bifromq-session-dict/pom.xml b/bifromq-session-dict/pom.xml
index 5e362240..413c328f 100644
--- a/bifromq-session-dict/pom.xml
+++ b/bifromq-session-dict/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/bifromq-sysprops/pom.xml b/bifromq-sysprops/pom.xml
index 087f3c02..6d30623b 100644
--- a/bifromq-sysprops/pom.xml
+++ b/bifromq-sysprops/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-sysprops</artifactId>
diff --git a/bifromq-util/pom.xml b/bifromq-util/pom.xml
index 683b1e49..6b7f1cfd 100644
--- a/bifromq-util/pom.xml
+++ b/bifromq-util/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>bifromq-util</artifactId>
diff --git
a/build/build-bifromq-starters/assembly/assembly-standalone-windows.xml
b/build/build-bifromq-starter/assembly/assembly-windows.xml
similarity index 79%
rename from
build/build-bifromq-starters/assembly/assembly-standalone-windows.xml
rename to build/build-bifromq-starter/assembly/assembly-windows.xml
index edbccb1a..56ccb94f 100644
--- a/build/build-bifromq-starters/assembly/assembly-standalone-windows.xml
+++ b/build/build-bifromq-starter/assembly/assembly-windows.xml
@@ -45,6 +45,18 @@
<include>plugins/**</include>
</includes>
</fileSet>
+ <fileSet>
+ <directory>${project.basedir}/../../</directory>
+ <includes>
+ <include>licenses/**</include>
+ <include>LICENSE</include>
+ <include>LICENSE-Binary</include>
+ <include>NOTICE</include>
+ <include>NOTICE-Binary</include>
+ <include>DISCLAIMER</include>
+ </includes>
+ <outputDirectory>/</outputDirectory>
+ </fileSet>
</fileSets>
<dependencySets>
<dependencySet>
diff --git a/build/build-bifromq-starters/assembly/assembly-standalone.xml
b/build/build-bifromq-starter/assembly/assembly.xml
similarity index 79%
rename from build/build-bifromq-starters/assembly/assembly-standalone.xml
rename to build/build-bifromq-starter/assembly/assembly.xml
index e3d59fcb..b4e00a10 100644
--- a/build/build-bifromq-starters/assembly/assembly-standalone.xml
+++ b/build/build-bifromq-starter/assembly/assembly.xml
@@ -45,6 +45,18 @@
<include>plugins/**</include>
</includes>
</fileSet>
+ <fileSet>
+ <directory>${project.basedir}/../../</directory>
+ <includes>
+ <include>licenses/**</include>
+ <include>LICENSE</include>
+ <include>LICENSE-Binary</include>
+ <include>NOTICE</include>
+ <include>NOTICE-Binary</include>
+ <include>DISCLAIMER</include>
+ </includes>
+ <outputDirectory>/</outputDirectory>
+ </fileSet>
</fileSets>
<dependencySets>
<dependencySet>
diff --git a/build/build-bifromq-starters/bin/bifromq-start.bat
b/build/build-bifromq-starter/bin/bifromq-start.bat
similarity index 100%
rename from build/build-bifromq-starters/bin/bifromq-start.bat
rename to build/build-bifromq-starter/bin/bifromq-start.bat
diff --git a/build/build-bifromq-starters/bin/bifromq-start.sh
b/build/build-bifromq-starter/bin/bifromq-start.sh
similarity index 100%
rename from build/build-bifromq-starters/bin/bifromq-start.sh
rename to build/build-bifromq-starter/bin/bifromq-start.sh
diff --git a/build/build-bifromq-starters/bin/bifromq-stop.bat
b/build/build-bifromq-starter/bin/bifromq-stop.bat
similarity index 100%
rename from build/build-bifromq-starters/bin/bifromq-stop.bat
rename to build/build-bifromq-starter/bin/bifromq-stop.bat
diff --git a/build/build-bifromq-starters/bin/bifromq-stop.sh
b/build/build-bifromq-starter/bin/bifromq-stop.sh
similarity index 100%
rename from build/build-bifromq-starters/bin/bifromq-stop.sh
rename to build/build-bifromq-starter/bin/bifromq-stop.sh
diff --git a/build/build-bifromq-starters/bin/pid.bat
b/build/build-bifromq-starter/bin/pid.bat
similarity index 100%
rename from build/build-bifromq-starters/bin/pid.bat
rename to build/build-bifromq-starter/bin/pid.bat
diff --git a/build/build-bifromq-starters/bin/standalone.bat
b/build/build-bifromq-starter/bin/standalone.bat
similarity index 100%
rename from build/build-bifromq-starters/bin/standalone.bat
rename to build/build-bifromq-starter/bin/standalone.bat
diff --git a/build/build-bifromq-starters/bin/standalone.sh
b/build/build-bifromq-starter/bin/standalone.sh
similarity index 100%
rename from build/build-bifromq-starters/bin/standalone.sh
rename to build/build-bifromq-starter/bin/standalone.sh
diff --git a/build/build-bifromq-starters/conf/log4j2.xml
b/build/build-bifromq-starter/conf/log4j2.xml
similarity index 100%
rename from build/build-bifromq-starters/conf/log4j2.xml
rename to build/build-bifromq-starter/conf/log4j2.xml
diff --git a/build/build-bifromq-starters/conf/standalone.yml
b/build/build-bifromq-starter/conf/standalone.yml
similarity index 100%
rename from build/build-bifromq-starters/conf/standalone.yml
rename to build/build-bifromq-starter/conf/standalone.yml
diff --git a/build/build-bifromq-starters/plugins/README.md
b/build/build-bifromq-starter/plugins/README.md
similarity index 100%
rename from build/build-bifromq-starters/plugins/README.md
rename to build/build-bifromq-starter/plugins/README.md
diff --git a/build/build-bifromq-starters/pom.xml
b/build/build-bifromq-starter/pom.xml
similarity index 83%
rename from build/build-bifromq-starters/pom.xml
rename to build/build-bifromq-starter/pom.xml
index 5804a5ec..696a2c8d 100644
--- a/build/build-bifromq-starters/pom.xml
+++ b/build/build-bifromq-starter/pom.xml
@@ -24,11 +24,11 @@
<parent>
<artifactId>build</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>build-bifromq-starters</artifactId>
+ <artifactId>build-bifromq-starter</artifactId>
<dependencies>
<!-- third party compile dependencies -->
@@ -192,22 +192,38 @@
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
- <id>make-assembly</id>
+ <id>make-assembly-unix</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
+ <configuration>
+ <descriptors>
+ <descriptor>assembly/assembly.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+
<finalName>bifromq-${project.parent.version}</finalName>
+ <tarLongFileMode>posix</tarLongFileMode>
+
<outputDirectory>${build.output.dir}</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>make-assembly-windows</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+
<descriptor>assembly/assembly-windows.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+
<finalName>bifromq-${project.parent.version}-windows</finalName>
+ <tarLongFileMode>posix</tarLongFileMode>
+
<outputDirectory>${build.output.dir}</outputDirectory>
+ </configuration>
</execution>
</executions>
- <configuration>
- <outputDirectory>${build.output.dir}</outputDirectory>
- <descriptors>
-
<descriptor>assembly/assembly-standalone.xml</descriptor>
-
<descriptor>assembly/assembly-standalone-windows.xml</descriptor>
- </descriptors>
- <appendAssemblyId>true</appendAssemblyId>
- <tarLongFileMode>posix</tarLongFileMode>
- </configuration>
</plugin>
</plugins>
</build>
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
index e35808a3..a26e59b2 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/ServiceBootstrapper.java
@@ -19,21 +19,21 @@
package org.apache.bifromq.starter;
-import org.apache.bifromq.baserpc.server.IRPCServer;
-import org.apache.bifromq.baserpc.server.RPCServerBuilder;
-import org.apache.bifromq.retain.server.IRetainServer;
-import org.apache.bifromq.retain.store.IRetainStore;
-import org.apache.bifromq.starter.module.ServiceInjector;
import com.google.inject.Inject;
import java.util.Optional;
import lombok.extern.slf4j.Slf4j;
import org.apache.bifromq.apiserver.IAPIServer;
+import org.apache.bifromq.baserpc.server.IRPCServer;
+import org.apache.bifromq.baserpc.server.RPCServerBuilder;
import org.apache.bifromq.dist.server.IDistServer;
import org.apache.bifromq.dist.worker.IDistWorker;
import org.apache.bifromq.inbox.server.IInboxServer;
import org.apache.bifromq.inbox.store.IInboxStore;
import org.apache.bifromq.mqtt.IMQTTBroker;
+import org.apache.bifromq.retain.server.IRetainServer;
+import org.apache.bifromq.retain.store.IRetainStore;
import org.apache.bifromq.sessiondict.server.ISessionDictServer;
+import org.apache.bifromq.starter.module.ServiceInjector;
@Slf4j
class ServiceBootstrapper {
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
index 1ecb68bf..3e64e399 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/StandaloneStarter.java
@@ -23,29 +23,6 @@ import static
org.apache.bifromq.starter.utils.ClusterDomainUtil.resolve;
import static org.apache.bifromq.starter.utils.ConfigFileUtil.build;
import static org.apache.bifromq.starter.utils.ConfigFileUtil.serialize;
-import org.apache.bifromq.basecluster.IAgentHost;
-import org.apache.bifromq.baseenv.EnvProvider;
-import org.apache.bifromq.baseenv.MemUsage;
-import org.apache.bifromq.plugin.settingprovider.Setting;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.StandaloneConfigConsolidator;
-import org.apache.bifromq.starter.metrics.netty.PooledByteBufAllocator;
-import org.apache.bifromq.starter.module.APIServerModule;
-import org.apache.bifromq.starter.module.ConfigModule;
-import org.apache.bifromq.starter.module.CoreServiceModule;
-import org.apache.bifromq.starter.module.DistServiceModule;
-import org.apache.bifromq.starter.module.ExecutorsModule;
-import org.apache.bifromq.starter.module.InboxServiceModule;
-import org.apache.bifromq.starter.module.MQTTServiceModule;
-import org.apache.bifromq.starter.module.PluginModule;
-import org.apache.bifromq.starter.module.RPCClientSSLContextModule;
-import org.apache.bifromq.starter.module.RPCServerBuilderModule;
-import org.apache.bifromq.starter.module.RetainServiceModule;
-import org.apache.bifromq.starter.module.ServiceInjectorModule;
-import org.apache.bifromq.starter.module.SessionDictServiceModule;
-import org.apache.bifromq.starter.module.SharedResourcesHolder;
-import org.apache.bifromq.sysprops.BifroMQSysProp;
-import org.apache.bifromq.sysprops.props.ClusterDomainResolveTimeoutSeconds;
import com.google.common.base.Strings;
import com.google.inject.Guice;
import com.google.inject.Injector;
@@ -74,6 +51,29 @@ import java.util.Set;
import java.util.stream.Collectors;
import lombok.Builder;
import lombok.extern.slf4j.Slf4j;
+import org.apache.bifromq.basecluster.IAgentHost;
+import org.apache.bifromq.baseenv.EnvProvider;
+import org.apache.bifromq.baseenv.MemUsage;
+import org.apache.bifromq.plugin.settingprovider.Setting;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.StandaloneConfigConsolidator;
+import org.apache.bifromq.starter.metrics.netty.PooledByteBufAllocator;
+import org.apache.bifromq.starter.module.APIServerModule;
+import org.apache.bifromq.starter.module.ConfigModule;
+import org.apache.bifromq.starter.module.CoreServiceModule;
+import org.apache.bifromq.starter.module.DistServiceModule;
+import org.apache.bifromq.starter.module.ExecutorsModule;
+import org.apache.bifromq.starter.module.InboxServiceModule;
+import org.apache.bifromq.starter.module.MQTTServiceModule;
+import org.apache.bifromq.starter.module.PluginModule;
+import org.apache.bifromq.starter.module.RPCClientSSLContextModule;
+import org.apache.bifromq.starter.module.RPCServerBuilderModule;
+import org.apache.bifromq.starter.module.RetainServiceModule;
+import org.apache.bifromq.starter.module.ServiceInjectorModule;
+import org.apache.bifromq.starter.module.SessionDictServiceModule;
+import org.apache.bifromq.starter.module.SharedResourcesHolder;
+import org.apache.bifromq.sysprops.BifroMQSysProp;
+import org.apache.bifromq.sysprops.props.ClusterDomainResolveTimeoutSeconds;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
@@ -121,26 +121,6 @@ public class StandaloneStarter {
this.sharedResourcesHolder = sharedResourcesHolder;
}
- void start() {
- startSystemMetrics();
- join();
- bootstrappedServices.start();
- log.info("Standalone broker started");
- }
-
- void stop() {
- bootstrappedServices.stop();
- sharedResourcesHolder.close();
- closeables.forEach(closable -> {
- try {
- closable.close();
- } catch (Exception e) {
- // Never happen
- }
- });
- log.info("Standalone broker stopped");
- }
-
private static void printConfigs(StandaloneConfig config) {
log.info("Available Processors: {}",
EnvProvider.INSTANCE.availableProcessors());
List<String> arguments =
ManagementFactory.getRuntimeMXBean().getInputArguments();
@@ -166,6 +146,76 @@ public class StandaloneStarter {
log.info("Consolidated Config(YAML): \n{}", serialize(config));
}
+ public static void main(String[] args) {
+ CommandLineParser parser = new DefaultParser();
+ HelpFormatter formatter = new HelpFormatter();
+ try {
+ CommandLine cmd = parser.parse(CLI_OPTIONS, args);
+ File confFile = new File(cmd.getOptionValue("c"));
+ if (!confFile.exists()) {
+ throw new RuntimeException("Conf file does not exist: " +
cmd.getOptionValue("c"));
+ }
+ StandaloneConfig config = build(confFile, StandaloneConfig.class);
+ StandaloneConfigConsolidator.consolidate(config);
+ printConfigs(config);
+
+ if (!Strings.isNullOrEmpty(config.getClusterConfig().getEnv())) {
+ Metrics.globalRegistry.config().commonTags("env",
config.getClusterConfig().getEnv());
+ }
+ Injector serviceInjector = Guice.createInjector(
+ new ConfigModule(config),
+ new RPCClientSSLContextModule(),
+ new CoreServiceModule(),
+ new RPCServerBuilderModule(),
+ new PluginModule(),
+ new ExecutorsModule());
+ Injector injector = Guice.createInjector(
+ new ConfigModule(config),
+ new DistServiceModule(),
+ new InboxServiceModule(),
+ new RetainServiceModule(),
+ new SessionDictServiceModule(),
+ new MQTTServiceModule(),
+ new APIServerModule(),
+ new ServiceInjectorModule(serviceInjector));
+ StandaloneStarter starter = StandaloneStarter.builder()
+ .config(config)
+ .agentHost(serviceInjector.getInstance(IAgentHost.class))
+
.bootstrappedServices(injector.getInstance(ServiceBootstrapper.class).bootstrap())
+
.sharedResourcesHolder(serviceInjector.getInstance(SharedResourcesHolder.class))
+ .build();
+ Thread shutdownThread = new Thread(starter::stop);
+ shutdownThread.setName("shutdown");
+ Runtime.getRuntime().addShutdownHook(shutdownThread);
+
+ starter.start();
+ } catch (Throwable e) {
+ log.error("Failed to start BifroMQ", e);
+ formatter.printHelp("CMD", CLI_OPTIONS);
+ System.exit(-1);
+ }
+ }
+
+ void start() {
+ startSystemMetrics();
+ join();
+ bootstrappedServices.start();
+ log.info("Standalone broker started");
+ }
+
+ void stop() {
+ bootstrappedServices.stop();
+ sharedResourcesHolder.close();
+ closeables.forEach(closable -> {
+ try {
+ closable.close();
+ } catch (Exception e) {
+ // Never happen
+ }
+ });
+ log.info("Standalone broker stopped");
+ }
+
private void join() {
String env = config.getClusterConfig().getEnv();
String clusterDomainName =
config.getClusterConfig().getClusterDomainName();
@@ -234,54 +284,4 @@ public class StandaloneStarter {
Gauge.builder("netty.direct.memory.usage", () ->
MemUsage.local().nettyDirectMemoryUsage())
.register(Metrics.globalRegistry);
}
-
- public static void main(String[] args) {
- CommandLineParser parser = new DefaultParser();
- HelpFormatter formatter = new HelpFormatter();
- try {
- CommandLine cmd = parser.parse(CLI_OPTIONS, args);
- File confFile = new File(cmd.getOptionValue("c"));
- if (!confFile.exists()) {
- throw new RuntimeException("Conf file does not exist: " +
cmd.getOptionValue("c"));
- }
- StandaloneConfig config = build(confFile, StandaloneConfig.class);
- StandaloneConfigConsolidator.consolidate(config);
- printConfigs(config);
-
- if (!Strings.isNullOrEmpty(config.getClusterConfig().getEnv())) {
- Metrics.globalRegistry.config().commonTags("env",
config.getClusterConfig().getEnv());
- }
- Injector serviceInjector = Guice.createInjector(
- new ConfigModule(config),
- new RPCClientSSLContextModule(),
- new CoreServiceModule(),
- new RPCServerBuilderModule(),
- new PluginModule(),
- new ExecutorsModule());
- Injector injector = Guice.createInjector(
- new ConfigModule(config),
- new DistServiceModule(),
- new InboxServiceModule(),
- new RetainServiceModule(),
- new SessionDictServiceModule(),
- new MQTTServiceModule(),
- new APIServerModule(),
- new ServiceInjectorModule(serviceInjector));
- StandaloneStarter starter = StandaloneStarter.builder()
- .config(config)
- .agentHost(serviceInjector.getInstance(IAgentHost.class))
-
.bootstrappedServices(injector.getInstance(ServiceBootstrapper.class).bootstrap())
-
.sharedResourcesHolder(serviceInjector.getInstance(SharedResourcesHolder.class))
- .build();
- Thread shutdownThread = new Thread(starter::stop);
- shutdownThread.setName("shutdown");
- Runtime.getRuntime().addShutdownHook(shutdownThread);
-
- starter.start();
- } catch (Throwable e) {
- log.error("Failed to start BifroMQ", e);
- formatter.printHelp("CMD", CLI_OPTIONS);
- System.exit(-1);
- }
- }
}
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
index 0128fe6c..66851d12 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfig.java
@@ -19,6 +19,10 @@
package org.apache.bifromq.starter.config;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Getter;
+import lombok.Setter;
import org.apache.bifromq.baseenv.EnvProvider;
import org.apache.bifromq.starter.config.model.ClusterConfig;
import org.apache.bifromq.starter.config.model.RPCConfig;
@@ -28,10 +32,6 @@ import
org.apache.bifromq.starter.config.model.dist.DistServiceConfig;
import org.apache.bifromq.starter.config.model.inbox.InboxServiceConfig;
import org.apache.bifromq.starter.config.model.mqtt.MQTTServiceConfig;
import org.apache.bifromq.starter.config.model.retain.RetainServiceConfig;
-import com.fasterxml.jackson.annotation.JsonSetter;
-import com.fasterxml.jackson.annotation.Nulls;
-import lombok.Getter;
-import lombok.Setter;
@Getter
@Setter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
index 6a117ae8..58dd91b5 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/StandaloneConfigConsolidator.java
@@ -19,12 +19,6 @@
package org.apache.bifromq.starter.config;
-import org.apache.bifromq.starter.config.model.ClusterConfig;
-import org.apache.bifromq.starter.config.model.RPCConfig;
-import org.apache.bifromq.starter.config.model.SSLContextConfig;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
-import org.apache.bifromq.starter.config.model.api.APIServerConfig;
-import org.apache.bifromq.starter.config.model.mqtt.MQTTServerConfig;
import com.google.common.base.Strings;
import io.netty.handler.ssl.util.SelfSignedCertificate;
import java.net.InetAddress;
@@ -33,6 +27,12 @@ import java.security.cert.CertificateException;
import java.util.Enumeration;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
+import org.apache.bifromq.starter.config.model.ClusterConfig;
+import org.apache.bifromq.starter.config.model.RPCConfig;
+import org.apache.bifromq.starter.config.model.SSLContextConfig;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
+import org.apache.bifromq.starter.config.model.api.APIServerConfig;
+import org.apache.bifromq.starter.config.model.mqtt.MQTTServerConfig;
@Slf4j
public class StandaloneConfigConsolidator {
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/BalancerOptions.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/BalancerOptions.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/BalancerOptions.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/BalancerOptions.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ClusterConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ClusterConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ClusterConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ClusterConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ExecutorConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ExecutorConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ExecutorConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ExecutorConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/InMemEngineConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/InMemEngineConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/InMemEngineConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/InMemEngineConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/RPCConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/RPCConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/RPCConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/RPCConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
index e01518fb..ca3baa87 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/RocksDBEngineConfig.java
@@ -21,10 +21,10 @@ package org.apache.bifromq.starter.config.model;
import static java.lang.Math.max;
-import org.apache.bifromq.baseenv.EnvProvider;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
+import org.apache.bifromq.baseenv.EnvProvider;
import org.rocksdb.util.SizeUnit;
@Getter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/SSLContextConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/SSLContextConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/SSLContextConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/SSLContextConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ServerSSLContextConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ServerSSLContextConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/ServerSSLContextConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/ServerSSLContextConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/StorageEngineConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/StorageEngineConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/StorageEngineConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/StorageEngineConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
index 6cdcd60a..4f19b431 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/api/APIServerConfig.java
@@ -19,11 +19,11 @@
package org.apache.bifromq.starter.config.model.api;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import lombok.Getter;
import lombok.Setter;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
@Getter
@Setter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServiceConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServiceConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServiceConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dict/SessionDictServiceConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServiceConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServiceConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServiceConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistServiceConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/dist/DistWorkerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServiceConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServiceConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServiceConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxServiceConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/inbox/InboxStoreConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTBrokerClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTBrokerClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTBrokerClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTBrokerClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
index 8b7de2c7..c6191833 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServerConfig.java
@@ -19,15 +19,15 @@
package org.apache.bifromq.starter.config.model.mqtt;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+import lombok.Getter;
+import lombok.Setter;
import org.apache.bifromq.baseenv.EnvProvider;
import org.apache.bifromq.starter.config.model.mqtt.listener.TCPListenerConfig;
import org.apache.bifromq.starter.config.model.mqtt.listener.TLSListenerConfig;
import org.apache.bifromq.starter.config.model.mqtt.listener.WSListenerConfig;
import org.apache.bifromq.starter.config.model.mqtt.listener.WSSListenerConfig;
-import com.fasterxml.jackson.annotation.JsonSetter;
-import com.fasterxml.jackson.annotation.Nulls;
-import lombok.Getter;
-import lombok.Setter;
@Getter
@Setter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServiceConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServiceConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServiceConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/MQTTServiceConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TCPListenerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TCPListenerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TCPListenerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TCPListenerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
index 47128088..0e17e722 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/TLSListenerConfig.java
@@ -19,9 +19,9 @@
package org.apache.bifromq.starter.config.model.mqtt.listener;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
import lombok.Getter;
import lombok.Setter;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
@Getter
@Setter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSListenerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSListenerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSListenerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSListenerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
index 9bf91833..fa83cca6 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/mqtt/listener/WSSListenerConfig.java
@@ -19,9 +19,9 @@
package org.apache.bifromq.starter.config.model.mqtt.listener;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
import lombok.Getter;
import lombok.Setter;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
@Getter
@Setter
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServerConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServerConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServerConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServerConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServiceConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServiceConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServiceConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainServiceConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreClientConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreClientConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreClientConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreClientConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreConfig.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreConfig.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreConfig.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/config/model/retain/RetainStoreConfig.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocator.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocator.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocator.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocator.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
index 7f194854..e7885bd3 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/metrics/netty/PooledByteBufAllocatorMetric.java
@@ -19,11 +19,11 @@
package org.apache.bifromq.starter.metrics.netty;
-import org.apache.bifromq.baseenv.EnvProvider;
import io.netty.buffer.ByteBufAllocatorMetric;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.bifromq.baseenv.EnvProvider;
/**
* A non-blocking wrapper of {@link
io.netty.buffer.PooledByteBufAllocatorMetric}.
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
index 56f26a9a..1e7d87c7 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/APIServerModule.java
@@ -21,11 +21,6 @@ package org.apache.bifromq.starter.module;
import static org.apache.bifromq.starter.module.SSLUtil.buildServerSslContext;
-import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
-import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
-import org.apache.bifromq.retain.client.IRetainClient;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.api.APIServerConfig;
import com.google.common.base.Strings;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
@@ -37,9 +32,14 @@ import org.apache.bifromq.apiserver.APIServer;
import org.apache.bifromq.apiserver.IAPIServer;
import org.apache.bifromq.basecluster.IAgentHost;
import org.apache.bifromq.basekv.metaservice.IBaseKVMetaService;
+import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
import org.apache.bifromq.dist.client.IDistClient;
import org.apache.bifromq.inbox.client.IInboxClient;
+import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
+import org.apache.bifromq.retain.client.IRetainClient;
import org.apache.bifromq.sessiondict.client.ISessionDictClient;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.api.APIServerConfig;
public class APIServerModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
index f030a01a..795eb77b 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ConfigModule.java
@@ -19,8 +19,8 @@
package org.apache.bifromq.starter.module;
-import org.apache.bifromq.starter.config.StandaloneConfig;
import com.google.inject.AbstractModule;
+import org.apache.bifromq.starter.config.StandaloneConfig;
public class ConfigModule extends AbstractModule {
private final StandaloneConfig config;
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
index 5e1e3d81..a4c5f3be 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/CoreServiceModule.java
@@ -19,13 +19,6 @@
package org.apache.bifromq.starter.module;
-import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
-import org.apache.bifromq.retain.client.IRetainClient;
-import org.apache.bifromq.retain.store.IRetainStore;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.dist.DistWorkerClientConfig;
-import org.apache.bifromq.starter.config.model.inbox.InboxStoreConfig;
-import org.apache.bifromq.starter.config.model.retain.RetainStoreClientConfig;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -41,12 +34,19 @@ import
org.apache.bifromq.basecrdt.service.CRDTServiceOptions;
import org.apache.bifromq.basecrdt.service.ICRDTService;
import org.apache.bifromq.basekv.client.IBaseKVStoreClient;
import org.apache.bifromq.basekv.metaservice.IBaseKVMetaService;
+import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
import org.apache.bifromq.dist.client.IDistClient;
import org.apache.bifromq.dist.worker.IDistWorker;
import org.apache.bifromq.inbox.client.IInboxClient;
import org.apache.bifromq.inbox.store.IInboxStore;
import org.apache.bifromq.mqtt.inbox.IMqttBrokerClient;
+import org.apache.bifromq.retain.client.IRetainClient;
+import org.apache.bifromq.retain.store.IRetainStore;
import org.apache.bifromq.sessiondict.client.ISessionDictClient;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.dist.DistWorkerClientConfig;
+import org.apache.bifromq.starter.config.model.inbox.InboxStoreConfig;
+import org.apache.bifromq.starter.config.model.retain.RetainStoreClientConfig;
public class CoreServiceModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
index d237e9dd..5a82f765 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/DistServiceModule.java
@@ -22,6 +22,16 @@ package org.apache.bifromq.starter.module;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildDataEngineConf;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildWALEngineConf;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Key;
+import com.google.inject.Provider;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
+import jakarta.inject.Singleton;
+import java.time.Duration;
+import java.util.Optional;
+import java.util.concurrent.ScheduledExecutorService;
import org.apache.bifromq.basecluster.IAgentHost;
import org.apache.bifromq.basekv.client.IBaseKVStoreClient;
import org.apache.bifromq.basekv.metaservice.IBaseKVMetaService;
@@ -39,16 +49,6 @@ import org.apache.bifromq.starter.config.StandaloneConfig;
import org.apache.bifromq.starter.config.model.dist.DistServerConfig;
import org.apache.bifromq.starter.config.model.dist.DistWorkerConfig;
import org.apache.bifromq.sysprops.props.DistWorkerLoadEstimationWindowSeconds;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Key;
-import com.google.inject.Provider;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-import jakarta.inject.Singleton;
-import java.time.Duration;
-import java.util.Optional;
-import java.util.concurrent.ScheduledExecutorService;
public class DistServiceModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
index 7f25d195..8c171695 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/EngineConfUtil.java
@@ -19,6 +19,8 @@
package org.apache.bifromq.starter.module;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import org.apache.bifromq.basekv.localengine.ICPableKVEngineConfigurator;
import org.apache.bifromq.basekv.localengine.IWALableKVEngineConfigurator;
import org.apache.bifromq.basekv.localengine.memory.InMemKVEngineConfigurator;
@@ -27,8 +29,6 @@ import
org.apache.bifromq.basekv.localengine.rocksdb.RocksDBWALableKVEngineConfi
import org.apache.bifromq.starter.config.model.InMemEngineConfig;
import org.apache.bifromq.starter.config.model.RocksDBEngineConfig;
import org.apache.bifromq.starter.config.model.StorageEngineConfig;
-import java.nio.file.Path;
-import java.nio.file.Paths;
public class EngineConfUtil {
public static final String USER_DIR_PROP = "user.dir";
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
index 6dac7dab..30dceadd 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ExecutorsModule.java
@@ -19,9 +19,6 @@
package org.apache.bifromq.starter.module;
-import org.apache.bifromq.baseenv.EnvProvider;
-import org.apache.bifromq.baseenv.NettyEnv;
-import org.apache.bifromq.starter.config.StandaloneConfig;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
@@ -33,6 +30,9 @@ import io.netty.channel.EventLoopGroup;
import jakarta.inject.Singleton;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
+import org.apache.bifromq.baseenv.EnvProvider;
+import org.apache.bifromq.baseenv.NettyEnv;
+import org.apache.bifromq.starter.config.StandaloneConfig;
public class ExecutorsModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
index ae451903..b161e6dc 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/InboxServiceModule.java
@@ -22,14 +22,6 @@ package org.apache.bifromq.starter.module;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildDataEngineConf;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildWALEngineConf;
-import org.apache.bifromq.baserpc.server.RPCServerBuilder;
-import org.apache.bifromq.plugin.eventcollector.EventCollectorManager;
-import org.apache.bifromq.plugin.resourcethrottler.ResourceThrottlerManager;
-import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
-import org.apache.bifromq.retain.client.IRetainClient;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.inbox.InboxServerConfig;
-import org.apache.bifromq.starter.config.model.inbox.InboxStoreConfig;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Key;
@@ -45,11 +37,19 @@ import org.apache.bifromq.basekv.client.IBaseKVStoreClient;
import org.apache.bifromq.basekv.metaservice.IBaseKVMetaService;
import org.apache.bifromq.basekv.store.option.KVRangeOptions;
import org.apache.bifromq.basekv.store.option.KVRangeStoreOptions;
+import org.apache.bifromq.baserpc.server.RPCServerBuilder;
import org.apache.bifromq.dist.client.IDistClient;
import org.apache.bifromq.inbox.client.IInboxClient;
import org.apache.bifromq.inbox.server.IInboxServer;
import org.apache.bifromq.inbox.store.IInboxStore;
+import org.apache.bifromq.plugin.eventcollector.EventCollectorManager;
+import org.apache.bifromq.plugin.resourcethrottler.ResourceThrottlerManager;
+import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
+import org.apache.bifromq.retain.client.IRetainClient;
import org.apache.bifromq.sessiondict.client.ISessionDictClient;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.inbox.InboxServerConfig;
+import org.apache.bifromq.starter.config.model.inbox.InboxStoreConfig;
import org.apache.bifromq.sysprops.props.InboxStoreLoadEstimationWindowSeconds;
public class InboxServiceModule extends AbstractModule {
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
index 2b19094a..6d4a4fd3 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/MQTTServiceModule.java
@@ -21,26 +21,26 @@ package org.apache.bifromq.starter.module;
import static org.apache.bifromq.starter.module.SSLUtil.buildServerSslContext;
-import org.apache.bifromq.baserpc.server.RPCServerBuilder;
-import org.apache.bifromq.plugin.authprovider.AuthProviderManager;
-import org.apache.bifromq.plugin.clientbalancer.ClientBalancerManager;
-import org.apache.bifromq.plugin.eventcollector.EventCollectorManager;
-import org.apache.bifromq.plugin.resourcethrottler.ResourceThrottlerManager;
-import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
-import org.apache.bifromq.retain.client.IRetainClient;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.mqtt.MQTTServerConfig;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.TypeLiteral;
import jakarta.inject.Singleton;
import java.util.Optional;
+import org.apache.bifromq.baserpc.server.RPCServerBuilder;
import org.apache.bifromq.dist.client.IDistClient;
import org.apache.bifromq.inbox.client.IInboxClient;
import org.apache.bifromq.mqtt.IMQTTBroker;
import org.apache.bifromq.mqtt.IMQTTBrokerBuilder;
+import org.apache.bifromq.plugin.authprovider.AuthProviderManager;
+import org.apache.bifromq.plugin.clientbalancer.ClientBalancerManager;
+import org.apache.bifromq.plugin.eventcollector.EventCollectorManager;
+import org.apache.bifromq.plugin.resourcethrottler.ResourceThrottlerManager;
+import org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
+import org.apache.bifromq.retain.client.IRetainClient;
import org.apache.bifromq.sessiondict.client.ISessionDictClient;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.mqtt.MQTTServerConfig;
public class MQTTServiceModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
index a0032d03..2ee53a43 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/PluginModule.java
@@ -19,6 +19,12 @@
package org.apache.bifromq.starter.module;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import jakarta.inject.Singleton;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.bifromq.inbox.client.IInboxClient;
+import org.apache.bifromq.mqtt.inbox.IMqttBrokerClient;
import org.apache.bifromq.plugin.authprovider.AuthProviderManager;
import org.apache.bifromq.plugin.clientbalancer.ClientBalancerManager;
import org.apache.bifromq.plugin.eventcollector.EventCollectorManager;
@@ -28,12 +34,6 @@ import
org.apache.bifromq.plugin.settingprovider.SettingProviderManager;
import org.apache.bifromq.plugin.subbroker.ISubBrokerManager;
import org.apache.bifromq.plugin.subbroker.SubBrokerManager;
import org.apache.bifromq.starter.config.StandaloneConfig;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import jakarta.inject.Singleton;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.bifromq.inbox.client.IInboxClient;
-import org.apache.bifromq.mqtt.inbox.IMqttBrokerClient;
import org.pf4j.PluginManager;
@Slf4j
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
index 4dd8b605..d2dfd4fa 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCClientSSLContextModule.java
@@ -22,8 +22,6 @@ package org.apache.bifromq.starter.module;
import static org.apache.bifromq.starter.module.SSLUtil.defaultSslProvider;
import static org.apache.bifromq.starter.utils.ResourceUtil.loadFile;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.SSLContextConfig;
import com.google.common.base.Strings;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
@@ -37,6 +35,8 @@ import io.netty.handler.ssl.SslProvider;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import jakarta.inject.Singleton;
import java.util.Optional;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.SSLContextConfig;
public class RPCClientSSLContextModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
index 19054011..5524df6f 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RPCServerBuilderModule.java
@@ -23,11 +23,6 @@ import static
org.apache.bifromq.starter.module.SSLUtil.defaultSslProvider;
import static org.apache.bifromq.starter.module.SSLUtil.findJdkProvider;
import static org.apache.bifromq.starter.utils.ResourceUtil.loadFile;
-import org.apache.bifromq.baserpc.server.IRPCServer;
-import org.apache.bifromq.baserpc.server.RPCServerBuilder;
-import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
import com.google.common.base.Strings;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
@@ -38,6 +33,11 @@ import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.SslProvider;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import jakarta.inject.Singleton;
+import org.apache.bifromq.baserpc.server.IRPCServer;
+import org.apache.bifromq.baserpc.server.RPCServerBuilder;
+import org.apache.bifromq.baserpc.trafficgovernor.IRPCServiceTrafficService;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
public class RPCServerBuilderModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
index 7796127f..f964bf63 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/RetainServiceModule.java
@@ -22,6 +22,16 @@ package org.apache.bifromq.starter.module;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildDataEngineConf;
import static
org.apache.bifromq.starter.module.EngineConfUtil.buildWALEngineConf;
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Key;
+import com.google.inject.Provider;
+import com.google.inject.TypeLiteral;
+import com.google.inject.name.Names;
+import jakarta.inject.Singleton;
+import java.time.Duration;
+import java.util.Optional;
+import java.util.concurrent.ScheduledExecutorService;
import org.apache.bifromq.basecluster.IAgentHost;
import org.apache.bifromq.basekv.client.IBaseKVStoreClient;
import org.apache.bifromq.basekv.metaservice.IBaseKVMetaService;
@@ -37,16 +47,6 @@ import org.apache.bifromq.starter.config.StandaloneConfig;
import org.apache.bifromq.starter.config.model.retain.RetainServerConfig;
import org.apache.bifromq.starter.config.model.retain.RetainStoreConfig;
import
org.apache.bifromq.sysprops.props.RetainStoreLoadEstimationWindowSeconds;
-import com.google.inject.AbstractModule;
-import com.google.inject.Inject;
-import com.google.inject.Key;
-import com.google.inject.Provider;
-import com.google.inject.TypeLiteral;
-import com.google.inject.name.Names;
-import jakarta.inject.Singleton;
-import java.time.Duration;
-import java.util.Optional;
-import java.util.concurrent.ScheduledExecutorService;
public class RetainServiceModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
index 6d2b6a6a..9bd083fa 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SSLUtil.java
@@ -21,7 +21,6 @@ package org.apache.bifromq.starter.module;
import static org.apache.bifromq.starter.utils.ResourceUtil.loadFile;
-import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
import com.google.common.base.Strings;
import io.netty.handler.ssl.OpenSsl;
import io.netty.handler.ssl.SslContext;
@@ -30,6 +29,7 @@ import io.netty.handler.ssl.SslProvider;
import io.netty.handler.ssl.util.InsecureTrustManagerFactory;
import java.security.Provider;
import java.security.Security;
+import org.apache.bifromq.starter.config.model.ServerSSLContextConfig;
public class SSLUtil {
public static SslProvider defaultSslProvider() {
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ServiceInjector.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ServiceInjector.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ServiceInjector.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ServiceInjector.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ServiceInjectorModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ServiceInjectorModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/ServiceInjectorModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/ServiceInjectorModule.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
index 3fffcaa8..fcfd7a4e 100644
---
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
+++
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SessionDictServiceModule.java
@@ -19,17 +19,17 @@
package org.apache.bifromq.starter.module;
-import org.apache.bifromq.baserpc.server.RPCServerBuilder;
-import org.apache.bifromq.starter.config.StandaloneConfig;
-import org.apache.bifromq.starter.config.model.dict.SessionDictServerConfig;
import com.google.inject.AbstractModule;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.TypeLiteral;
import jakarta.inject.Singleton;
import java.util.Optional;
+import org.apache.bifromq.baserpc.server.RPCServerBuilder;
import org.apache.bifromq.mqtt.inbox.IMqttBrokerClient;
import org.apache.bifromq.sessiondict.server.ISessionDictServer;
+import org.apache.bifromq.starter.config.StandaloneConfig;
+import org.apache.bifromq.starter.config.model.dict.SessionDictServerConfig;
public class SessionDictServiceModule extends AbstractModule {
@Override
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SharedResourceProvider.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SharedResourceProvider.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SharedResourceProvider.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SharedResourceProvider.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SharedResourcesHolder.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SharedResourcesHolder.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/module/SharedResourcesHolder.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/module/SharedResourcesHolder.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ClusterDomainUtil.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ClusterDomainUtil.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ClusterDomainUtil.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ClusterDomainUtil.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ConfigFileUtil.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ConfigFileUtil.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ConfigFileUtil.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ConfigFileUtil.java
diff --git
a/build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ResourceUtil.java
b/build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ResourceUtil.java
similarity index 100%
rename from
build/build-bifromq-starters/src/main/java/org/apache/bifromq/starter/utils/ResourceUtil.java
rename to
build/build-bifromq-starter/src/main/java/org/apache/bifromq/starter/utils/ResourceUtil.java
diff --git a/build/build-bifromq-starters/src/main/resources/log4j2.xml
b/build/build-bifromq-starter/src/main/resources/log4j2.xml
similarity index 100%
rename from build/build-bifromq-starters/src/main/resources/log4j2.xml
rename to build/build-bifromq-starter/src/main/resources/log4j2.xml
diff --git
a/build/build-bifromq-starters/src/test/java/org/apache/bifromq/starter/utils/ClusterDomainUtilTest.java
b/build/build-bifromq-starter/src/test/java/org/apache/bifromq/starter/utils/ClusterDomainUtilTest.java
similarity index 100%
rename from
build/build-bifromq-starters/src/test/java/org/apache/bifromq/starter/utils/ClusterDomainUtilTest.java
rename to
build/build-bifromq-starter/src/test/java/org/apache/bifromq/starter/utils/ClusterDomainUtilTest.java
diff --git
a/build/build-bifromq-starters/src/test/java/org/apache/bifromq/starter/utils/ResourceUtilTest.java
b/build/build-bifromq-starter/src/test/java/org/apache/bifromq/starter/utils/ResourceUtilTest.java
similarity index 100%
rename from
build/build-bifromq-starters/src/test/java/org/apache/bifromq/starter/utils/ResourceUtilTest.java
rename to
build/build-bifromq-starter/src/test/java/org/apache/bifromq/starter/utils/ResourceUtilTest.java
diff --git a/build/build-bifromq-starters/src/test/resources/log4j2-test.xml
b/build/build-bifromq-starter/src/test/resources/log4j2-test.xml
similarity index 100%
rename from build/build-bifromq-starters/src/test/resources/log4j2-test.xml
rename to build/build-bifromq-starter/src/test/resources/log4j2-test.xml
diff --git a/build/build-bifromq-starters/src/test/resources/testResource.txt
b/build/build-bifromq-starter/src/test/resources/testResource.txt
similarity index 100%
rename from build/build-bifromq-starters/src/test/resources/testResource.txt
rename to build/build-bifromq-starter/src/test/resources/testResource.txt
diff --git a/build/build-plugin-demo/pom.xml b/build/build-plugin-demo/pom.xml
index 6329212e..0b7c1b79 100644
--- a/build/build-plugin-demo/pom.xml
+++ b/build/build-plugin-demo/pom.xml
@@ -24,7 +24,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>build</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
diff --git a/build/pom.xml b/build/pom.xml
index 5a555d47..075cdf97 100644
--- a/build/pom.xml
+++ b/build/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<packaging>pom</packaging>
@@ -33,7 +33,7 @@
<modules>
<module>build-plugin-demo</module>
- <module>build-bifromq-starters</module>
+ <module>build-bifromq-starter</module>
</modules>
</project>
\ No newline at end of file
diff --git a/coverage-report/pom.xml b/coverage-report/pom.xml
index 665a8299..6f42a163 100644
--- a/coverage-report/pom.xml
+++ b/coverage-report/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>bifromq-parent</artifactId>
<groupId>org.apache.bifromq</groupId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
diff --git a/pom.xml b/pom.xml
index 7a0cc21c..51429ec2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,12 +25,12 @@
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>29</version>
- <relativePath />
+ <relativePath/>
</parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
<modules>
<module>base-env</module>
<module>base-cluster</module>
@@ -65,7 +65,8 @@
<name>BifroMQ</name>
<url>https://github.com/apache/bifromq</url>
- <description>BifroMQ(Incubation) is a distributed MQTT broker
implementation with native multi-tenancy support</description>
+ <description>BifroMQ(Incubation) is a distributed MQTT broker
implementation with native multi-tenancy support
+ </description>
<scm>
<url>https://github.com/apache/bifromq</url>
@@ -102,6 +103,7 @@
</mailingLists>
<properties>
+ <revision>4.0.0-SNAPSHOT</revision>
<apache.commons.cli.version>1.5.0</apache.commons.cli.version>
<apache.commons.collections.version>4.4</apache.commons.collections.version>
<bouncycastle.version>1.78.1</bouncycastle.version>
diff --git a/release/release.sh b/release/release.sh
new file mode 100755
index 00000000..21952b47
--- /dev/null
+++ b/release/release.sh
@@ -0,0 +1,131 @@
+#!/usr/bin/env bash
+
+#
+# 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.
+#
+
+
+# Print usage information
+usage() {
+ cat <<EOF
+Usage: $(basename "$0") <release-branch> [<svn-username> <svn-password>]
+ <release-branch> Release branch in format release-v<major>.<minor>.x (e.g.
release-v4.0.x)
+ <svn-username> (Optional) SVN username for committing to Apache Dev repo
+ <svn-password> (Optional) SVN password for committing to Apache Dev repo
+
+Example:
+ $(basename "$0") release-v4.0.x my_user my_password
+EOF
+}
+
+# Show help if no arguments or help flag is given
+if [[ $# -lt 1 || "$1" == "-h" || "$1" == "--help" ]]; then
+ usage
+ exit 0
+fi
+
+set -e
+
+# =====================================================
+# BifroMQ ASF Release Tool
+# =====================================================
+
+PROJECT_NAME="bifromq"
+ASF_SVN_DEV_URL="https://dist.apache.org/repos/dist/dev/incubator/${PROJECT_NAME}"
+
+BRANCH="$1"
+USERNAME=$2
+PASSWORD=$3
+
+if [[ ! "$BRANCH" =~ ^release-v([0-9]+)\.([0-9]+)\.x$ ]]; then
+ echo "ERROR: Branch name must follow release-v<major>.<minor>.x format (e.g.
release-v4.0.x)"
+ exit 1
+fi
+
+MAJOR="${BASH_REMATCH[1]}"
+MINOR="${BASH_REMATCH[2]}"
+MAJOR_MINOR="${MAJOR}.${MINOR}"
+
+WORKDIR=$(pwd)
+TMPDIR=$(mktemp -d)
+trap 'rm -rf "$TMPDIR"' EXIT
+
+command -v gpg >/dev/null || { echo "GPG is required but not installed."; exit
1; }
+
+echo "Cloning repository..."
+cd "$TMPDIR"
+git clone https://github.com/apache/${PROJECT_NAME}.git repo
+cd repo
+git checkout "$BRANCH"
+
+echo "Locating latest tag for branch $BRANCH..."
+LATEST_TAG=$(git tag --list "v${MAJOR_MINOR}.*" --sort=-v:refname | head -n 1)
+if [ -z "$LATEST_TAG" ]; then
+ echo "ERROR: No matching tag found."
+ exit 1
+fi
+echo "Found tag: $LATEST_TAG"
+git checkout "$LATEST_TAG"
+
+# remove prefix 'v' from tag
+VERSION="${LATEST_TAG#v}"
+
+POM_VERSION=$(xmllint --xpath "string(//project/properties/revision)" pom.xml)
+if [ "$POM_VERSION" != "$VERSION" ]; then
+ echo "ERROR: POM revision ($POM_VERSION) doesn't match tag version
($VERSION)"
+ exit 1
+fi
+
+echo "ASF required file check..."
+for f in LICENSE NOTICE DISCLAIMER; do
+ [ -f "$f" ] || { echo "Missing $f file."; exit 1; }
+done
+
+SRC_DIR="${PROJECT_NAME}-${VERSION}-src"
+SRC_TARBALL="${SRC_DIR}.tar.gz"
+git archive --format=tar.gz --prefix="${SRC_DIR}/" -o "$WORKDIR/$SRC_TARBALL"
"$LATEST_TAG"
+
+echo "Building binary via Maven..."
+mvn clean package -DskipTests
+
+cd "$WORKDIR"
+cp "$TMPDIR/repo/target/output/bifromq-*.*" "${WORKDIR}"
+
+cd "$WORKDIR"
+find . -maxdepth 1 -type f ! -name '*.asc' ! -name '*.sha512' -print0 | while
IFS= read -r -d '' ARTIFACT; do
+ gpg --armor --output "${ARTIFACT}.asc" --detach-sign "$ARTIFACT"
+ shasum -a 512 "$ARTIFACT" > "${ARTIFACT}.sha512"
+done
+
+SVN_TMP=$(mktemp -d)
+svn checkout "$ASF_SVN_DEV_URL" "$SVN_TMP"
+mkdir -p "$SVN_TMP/$VERSION"
+cp "$WORKDIR"/* "$SVN_TMP/$VERSION/"
+cd "$SVN_TMP"
+svn add --force "$VERSION"
+svn status
+
+if [ "$USERNAME" = "" ]; then
+ svn commit -m "Add release ${VERSION}" || exit
+else
+ svn commit -m "Add release ${VERSION}" --username "${USERNAME}" --password
"${PASSWORD}" || exit
+fi
+
+echo "========================================================="
+echo "BifroMQ release $VERSION has been successfully created."
+echo "========================================================="
\ No newline at end of file
diff --git a/testsuites/pom.xml b/testsuites/pom.xml
index f1f42664..c69f919c 100644
--- a/testsuites/pom.xml
+++ b/testsuites/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache.bifromq</groupId>
<artifactId>bifromq-parent</artifactId>
- <version>4.0.0-SNAPSHOT</version>
+ <version>${revision}</version>
</parent>
<artifactId>testsuites</artifactId>