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

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new bc061f8849c Add ShardingSphere BOM (#37065)
bc061f8849c is described below

commit bc061f8849c0183ab2c1d47867cd0e3856a5ea8d
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Nov 11 00:26:38 2025 +0800

    Add ShardingSphere BOM (#37065)
    
    * Update CLAUDE.md
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
    
    * Add ShardingSphere BOM
---
 CLAUDE.md                                          |  294 ++++-
 RELEASE-NOTES.md                                   |    1 +
 distribution/bom/pom.xml                           | 1279 ++++++++++++++++++++
 distribution/pom.xml                               |    1 +
 .../content/user-manual/dependencies/_index.cn.md  |   22 +
 .../content/user-manual/dependencies/_index.en.md  |   22 +
 .../content/user-manual/dependencies/bom.cn.md     |   83 ++
 .../content/user-manual/dependencies/bom.en.md     |   83 ++
 8 files changed, 1750 insertions(+), 35 deletions(-)

diff --git a/CLAUDE.md b/CLAUDE.md
index 3eceac9c11a..2f01bc73eec 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -14,12 +14,12 @@ Built on Database Plus concept - unified data access layer 
over existing databas
 
 1. **Code Self-Documentation**
    - Zero inline comments - code explains itself through clear naming
-   - Extract complex logic to well-named methods
+   - Extract complex logic to well-named methods (see Self-Documentation 
Patterns in Part 2)
    - Use factory methods for object creation
 
 2. **100% Test Coverage**
    - Every line, branch, and method must be tested
-   - Coverage-driven development - use JaCoCo reports to guide testing
+   - Coverage-driven development - use JaCoCo reports to guide testing (see 
Part 2: Coverage Tools Reference)
    - Focus on branch coverage, eliminate redundant tests
 
 3. **Follow Project Standards**
@@ -36,18 +36,69 @@ Built on Database Plus concept - unified data access layer 
over existing databas
    - Always run `./mvnw spotless:apply -Pcheck` before task completion
    - Ensure all modified code follows project formatting
 
+### Task Classification Standards
+
+#### Task Type Identification
+
+**Source Code Tasks**
+- **File Patterns**: `**/src/main/java/**/*.java`, 
`**/src/test/java/**/*.java`, `**/pom.xml`
+- **Impact**: Code compilation, test execution, coverage analysis, 
functionality
+- **Examples**: New feature development, bug fixes, test improvements, 
configuration changes
+
+**Documentation Tasks**
+- **File Patterns**: `**/*.md`, `docs/**/*`, `**/README*`, `.github/**/*.md`
+- **Impact**: Content accuracy, user experience, knowledge transfer
+- **Examples**: API documentation, user guides, architecture docs, release 
notes
+
+**Mixed Tasks**
+- **Characteristics**: Involves both source code and documentation changes
+- **Approach**: Apply combined validation based on changed file types
+- **Examples**: Feature additions with documentation, API changes with examples
+
+#### Differentiated Validation Standards
+
+**Source Code Task Requirements**
+- ✅ 100% test coverage (JaCoCo validation)
+- ✅ Code compilation and build success
+- ✅ Code formatting with Spotless
+- ✅ All quality checks pass (Checkstyle, etc.)
+- ✅ Self-documenting code with zero inline comments
+
+**Documentation Task Requirements**
+- ✅ Link validity verification
+- ✅ Markdown format consistency
+- ✅ Content accuracy review
+- ✅ Spelling and grammar check
+- ❌ No test coverage or compilation required
+
+**Mixed Task Requirements**
+- Apply source code standards to `.java` files
+- Apply documentation standards to `.md` files
+- Ensure consistency between code and documentation changes
+
 ### Quick Checklists
 
 #### Before Starting Any Task
 - [ ] Re-read relevant sections of this guide
-- [ ] Identify specific standards for your task type
-- [ ] Understand the success criteria and coverage requirements
+- [ ] **Identify task type**: Source code, documentation, or mixed task
+- [ ] Understand the success criteria and validation requirements for your 
task type
+- [ ] Review specific standards for your task type
 
 #### Before Task Completion
-- [ ] All tests pass with 100% coverage
-- [ ] Code is self-documenting with zero inline comments
-- [ ] Code formatting applied: `./mvnw spotless:apply -Pcheck`
-- [ ] All changes are within specified scope
+
+**For Source Code Tasks:**
+- [ ] All validation requirements from Differentiated Validation Standards 
(Lines 60-77)
+- [ ] Additional cleanup: Remove unused mocks, imports, and dead code
+- [ ] Optimize mock configurations and branch coverage
+
+**For Documentation Tasks:**
+- [ ] All validation requirements from Differentiated Validation Standards 
(Lines 60-77)
+- [ ] Test code examples and snippets when applicable
+
+**For Mixed Tasks:**
+- [ ] Apply source code standards to `.java` files
+- [ ] Apply documentation standards to `.md` files
+- [ ] Ensure consistency between code and documentation changes
 
 ### Common Pitfalls to Avoid
 - **Internal blank lines** in methods - extract private methods instead
@@ -55,6 +106,13 @@ Built on Database Plus concept - unified data access layer 
over existing databas
 - **Early test exits** - configure mocks properly to reach target code
 - **Surface-level coverage** - verify actual coverage improvement with JaCoCo
 
+#### Code Cleanup Standards
+- **Dead Mock Objects**: Remove all mock objects never referenced in tests
+- **Unused Imports**: Remove imports that are not used in the file
+- **Redundant Mock Setup**: Extract common mock configurations to private 
methods
+- **Unreachable Code**: Remove any code that can never be executed
+- **Duplicate Test Logic**: Eliminate tests that don't improve branch coverage
+
 ---
 
 ## Part 2: Development Process & Quality Standards
@@ -63,20 +121,32 @@ Built on Database Plus concept - unified data access layer 
over existing databas
 
 ```mermaid
 graph LR
-A[Analyze Task] --> B[Coverage Analysis]
-B --> C[Design & Implement]
-C --> D[Verify Coverage]
-D --> E[Format Code]
-E --> F[Complete]
+A[Analyze Task] --> B[Identify Task Type]
+B --> C[Choose Validation Strategy]
+C --> D[Design & Implement]
+D --> E[Task-Specific Validation]
+E --> F[Format Code]
+F --> G[Complete]
 ```
 
+#### Task-Specific Workflows
+
+**Source Code Tasks:**
+1. Analyze Task → Identify as Source Code → Coverage Analysis → Design & 
Implement → Verify Coverage → Format Code → Complete
+
+**Documentation Tasks:**
+1. Analyze Task → Identify as Documentation → Content Review → Design & 
Implement → Content Validation → Format Check → Complete
+
+**Mixed Tasks:**
+1. Analyze Task → Identify as Mixed → Combined Strategy → Design & Implement → 
Multi-Type Validation → Format & Complete → Complete
+
 ### Simplified Testing Process
 
 #### Step 1: Analyze & Design
 - **Code Flow Analysis**: Understand complete execution paths
 - **Coverage Gap Identification**: Use JaCoCo to find uncovered branches
 - **Dependency Mapping**: Identify all mocks needed for complete chain
-- **Test Scenarios**: Design realistic business cases for uncovered branches
+- **Test Scenarios**: Design realistic business cases for uncovered branches 
(see Mock Configuration Standards)
 
 #### Step 2: Implement & Verify
 - **Mock Configuration**: Set up complete dependency chains with 
`RETURNS_DEEP_STUBS`
@@ -128,6 +198,51 @@ private boolean userIsAdminWithPermission() {
 - **Factory methods**: Describe object creation intent
 - **Private methods**: Explain what logic they encapsulate
 
+#### Comprehensive Test Patterns
+```java
+// Standard test structure (Given-When-Then)
+@Test
+void assertMethodWithCondition() {
+    // Given - setup complete mock chain
+    mockDependencyChain();
+
+    // When - call method directly
+    MyResult actual = target.methodUnderTest(input);
+
+    // Then - assert with Hamcrest
+    assertThat(actual, is(expectedResult));
+}
+
+// Branch-focused test patterns for utility classes
+@Test
+void assertMethodWithConditionTruePathExpectsResult() {
+    // Given - configure mocks for true branch
+    mockConditionReturnsTrue();
+
+    // When - call method that hits the true branch
+    MyResult actual = utilityClass.methodWithCondition(input);
+
+    // Then - verify true branch result
+    assertThat(actual, is(expectedTrueResult));
+}
+
+// Advanced branch testing naming
+@Test
+void assert[MethodName]When[BranchCondition]Expects[Result]() {
+    // Given - setup for specific branch condition
+    // When - execute method
+    // Then - verify expected result for this branch
+}
+```
+
+#### Test Organization Principles
+- **Branch-first naming**: 
`assert[MethodName]When[BranchCondition]Expects[Result]`
+- **One test per branch**: Each test should target a specific conditional 
branch
+- **Minimal test count**: Avoid redundant tests that don't improve branch 
coverage
+- **Test isolation**: Each test controls specific constructor and method 
behaviors
+- **Resource management**: Always clean up MockedConstruction with 
try-with-resources
+- **Verification focus**: Each test validates one specific branch outcome
+
 #### Mock Configuration Standards
 ```java
 // ✅ Complete dependency chain
@@ -137,8 +252,44 @@ 
when(dependencyA.getDependencyB().process(input)).thenReturn(result);
 private void mockUserPermissionService() {
     when(userPermissionService.hasAdminPermission(any())).thenReturn(true);
 }
+
+// ✅ Constructor mocking for utility classes
+try (MockedConstruction<DatabaseTypeRegistry> mocked = 
mockConstruction(DatabaseTypeRegistry.class, (mock, context) -> {
+    DialectDatabaseMetaData dialectDatabaseMetaData = 
mock(DialectDatabaseMetaData.class, RETURNS_DEEP_STUBS);
+    
when(dialectDatabaseMetaData.getConnectionOption().isInstanceConnectionAvailable()).thenReturn(true);
+    
when(mock.getDialectDatabaseMetaData()).thenReturn(dialectDatabaseMetaData);
+})) {
+    // Test code that instantiates DatabaseTypeRegistry
+}
+
+// ✅ Complex external dependency mocking
+try (MockedConstruction<ExternalClass> mocked = 
mockConstruction(ExternalClass.class, (mock, context) -> {
+    when(mock.getExternalCondition()).thenReturn(true);
+    
when(mock.getDialectDatabaseMetaData().getConnectionOption().isInstanceConnectionAvailable()).thenReturn(false);
+})) {
+    boolean actual = UtilityClass.staticMethodWithExternalDependency();
+    assertThat(actual, is(expected));
+}
 ```
 
+#### Advanced Mock Configuration with MockedConstruction
+Use `MockedConstruction` when testing code that creates objects with `new`:
+- **Constructor interception**: Control how dependency objects are created
+- **Complete call chain**: Configure full dependency paths with 
`RETURNS_DEEP_STUBS`
+- **Try-with-resources**: Automatically clean up mock constructions
+- **Utility class testing**: Perfect for static utility methods with external 
dependencies
+
+#### Mock Configuration Strategies
+- **Deep stubs**: Use `RETURNS_DEEP_STUBS` for complex nested dependencies
+- **Resource management**: Always use try-with-resources for MockedConstruction
+- **Behavior isolation**: Each test controls specific constructor behaviors
+- **Constructor identification**: Look for `new SomeClass()` in target methods
+
+#### MockedStatic vs MockedConstruction
+- **MockedStatic**: For static method calls (`UtilityClass.staticMethod()`)
+- **MockedConstruction**: For object creation (`new UtilityClass()`)
+- **Placement**: MockedConstruction must wrap the code that creates the objects
+
 #### Assertion Style (Mandatory)
 ```java
 // ✅ Use Hamcrest matchers for readability
@@ -160,6 +311,11 @@ assertThat(actualList, hasSize(expectedSize));
 ./mvnw test jacoco:check@jacoco-check -Pcoverage-check -Djacoco.skip=false \
   -Djacoco.check.class.pattern=com.example.ClassName
 
+# Verify package coverage with 100% requirement
+./mvnw test jacoco:check@jacoco-check -Pcoverage-check -Djacoco.skip=false \
+  -Djacoco.check.class.pattern="com.example.**" \
+  -Djacoco.minimum.coverage=1.00
+
 # Format code
 ./mvnw spotless:apply -Pcheck
 
@@ -167,11 +323,44 @@ assertThat(actualList, hasSize(expectedSize));
 ./mvnw install -T1C
 ```
 
+#### Coverage Patterns
+```bash
+# Package level coverage
+-Djacoco.check.class.pattern="com.example.**"
+
+# By type coverage
+-Djacoco.check.class.pattern="**/*Service"
+
+# Multiple patterns
+-Djacoco.check.class.pattern="**/*Service,**/*Manager"
+```
+
 #### Coverage Interpretation
 - **Target**: 100% instruction, line, branch, and method coverage
 - **Validation**: Must verify improvement with JaCoCo HTML reports
 - **Focus**: Branch coverage over redundant line coverage
 - **Strategy**: Minimal tests targeting specific uncovered branches
+- **BUILD SUCCESS**: Coverage meets requirements
+- **BUILD FAILURE**: Review `module/target/site/jacoco/index.html` for 
uncovered lines
+
+#### Advanced Coverage Strategies
+```bash
+# Branch gap analysis - identify uncovered branches
+./mvnw clean test jacoco:report -Djacoco.skip=false
+open target/site/jacoco/index.html  # Check red diamonds for missing branches
+```
+
+#### Constructor Path Testing
+- **Identify `new` operators**: Look for `new SomeClass()` in target code
+- **Use MockedConstruction**: Intercept constructor calls to control behavior 
(see Mock Configuration Standards)
+- **Configure complete mock chains**: Ensure all dependency paths are properly 
mocked
+- **Test each branch**: Create focused tests for each conditional branch
+
+#### Utility Class Coverage Optimization
+- **Static method analysis**: Map each conditional branch to specific test 
scenarios
+- **Dependency isolation**: Use MockedConstruction to control external 
dependencies
+- **Complete path coverage**: Ensure both true and false paths are tested
+- **Verification strategy**: Use JaCoCo HTML reports to confirm 100% branch 
coverage
 
 ---
 
@@ -206,7 +395,7 @@ test/      - E2E/IT test engine and cases
 **SPI Implementation**
 - Service discovery mechanism for registration
 - Appropriate default implementations
-- Use `TypedSPILoader.getService()` in tests when mocking is complex
+- Use `TypedSPILoader.getService()` in tests when mocking is complex (see 
Appendix: Common Issues & Solutions)
 
 ### Development Patterns
 
@@ -231,26 +420,25 @@ Properties props = PropertiesBuilder.build(new 
Property("key", "value"));
 Repository repository = new YamlRepository(path);
 ```
 
-#### Test Patterns
-```java
-// Use real SPI services when mocking is complex
-DatabaseTypedSPILoader.getService(DatabaseType.class, databaseName);
+// Test patterns and organization covered in Comprehensive Test Patterns (Part 
2)
 
-// Interface-based testing over concrete implementations
-@Test
-void assertMethodWithCondition() {
-    // Given - setup complete mock chain
-    mockDependencyChain();
+### Utility Class Testing Best Practices
 
-    // When - call method directly
-    MyResult actual = target.methodUnderTest(input);
+#### Static Method Testing Strategy
+- **Branch mapping**: Map each conditional statement to specific test scenarios
+- **Constructor control**: Use MockedConstruction to control external 
dependencies
+- **Complete path coverage**: Ensure both true and false branches are tested
+- **Minimal test set**: One test per branch, no redundant coverage
 
-    // Then - assert with Hamcrest
-    assertThat(actual, is(expectedResult));
-}
-```
+// Constructor behavior validation examples covered in Mock Configuration 
Standards (Part 2)
 
-### Decision Framework
+#### Complete Branch Coverage Implementation
+- **Identify all branches**: Use JaCoCo HTML reports to find uncovered 
conditional branches
+- **Create targeted tests**: One test method per missing branch
+- **Mock external dependencies**: Control all external object creation paths
+- **Verify 100% coverage**: Confirm all branch diamonds are green in JaCoCo 
reports
+
+// Test method organization principles covered in Comprehensive Test Patterns 
(Part 2)
 
 #### Priority Guidelines
 1. **Quality > Speed**: Never compromise on 100% coverage or code standards
@@ -282,6 +470,7 @@ void assertMethodWithCondition() {
 
 ### Quick Reference Commands
 
+**Source Code Tasks**
 ```bash
 # === Development ===
 ./mvnw install -T1C                           # Full build
@@ -293,10 +482,35 @@ void assertMethodWithCondition() {
 ./mvnw test jacoco:check@jacoco-check -Pcoverage-check -Djacoco.skip=false \
   -Djacoco.check.class.pattern=ClassName
 
-# === Coverage Patterns ===
--Djacoco.check.class.pattern="com.example.**"        # Package level
--Djacoco.check.class.pattern="**/*Service"           # By type
--Djacoco.check.class.pattern="**/*Service,**/*Manager" # Multiple
+# See Part 2: Coverage Tools Reference for complete command patterns and 
advanced strategies
+```
+
+**Documentation Tasks**
+```bash
+# === Documentation Validation ===
+# Quick link check (if available)
+find . -name "*.md" -exec grep -l "http" {} \;  # Find docs with links
+
+# Markdown format check
+markdownlint docs/**/*.md                       # If markdownlint is available
+
+# Spell check (if available)
+cspell docs/**/*.md                             # If cspell is configured
+
+# === Documentation Quick Fix ===
+./mvnw spotless:apply -Pcheck                 # Format any code examples
+```
+
+**Mixed Tasks**
+```bash
+# === Combined Validation ===
+# Apply source code commands to .java files only
+# Apply documentation commands to .md files only
+# Use file-specific validation based on changed file patterns
+
+# Example: Check changed files
+git diff --name-only HEAD~1 | grep "\.java$"   # Changed Java files
+git diff --name-only HEAD~1 | grep "\.md$"     # Changed Markdown files
 ```
 
 ### Common Issues & Solutions
@@ -310,6 +524,16 @@ void assertMethodWithCondition() {
 - **Issue**: Complex nested mocks become unmanageable
 - **Solution**: Use `RETURNS_DEEP_STUBS`, extract mock setup to private methods
 
+// Constructor mocking problems and solutions covered in Mock Configuration 
Standards (Part 2)
+
+#### Branch Coverage Challenges
+- **Issue**: Tests pass but coverage doesn't reach 100%
+- **Solution**: Use MockedConstruction to control all external dependencies in 
conditional branches
+- **Issue**: Complex conditional logic with multiple nested dependencies
+- **Solution**: Break down complex conditions into individual branch tests
+- **Issue**: Cannot determine which branch is being executed
+  - **Solution**: Use JaCoCo HTML reports to identify red diamond (uncovered 
branches)
+
 #### SPI Testing Complexity
 - **Issue**: SPI services are difficult to mock
 - **Solution**: Use real services via `TypedSPILoader.getService()` when 
appropriate
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index ba5bfad82a5..6a4925d9077 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -19,6 +19,7 @@
 
 ### New Features
 
+1. Add ShardingSphere BOM - 
[#36866](https://github.com/apache/shardingsphere/issues/36866)
 1. Decouple feature modules as pluggable - 
[#36086](https://github.com/apache/shardingsphere/pull/36086)
 1. Decouple database types as pluggable - 
[#35346](https://github.com/apache/shardingsphere/pull/35346)
 1. Decouple registry center types as pluggable - 
[#36087](https://github.com/apache/shardingsphere/pull/36087)
diff --git a/distribution/bom/pom.xml b/distribution/bom/pom.xml
new file mode 100644
index 00000000000..1e87d1d251a
--- /dev/null
+++ b/distribution/bom/pom.xml
@@ -0,0 +1,1279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-distribution</artifactId>
+        <version>5.5.3-SNAPSHOT</version>
+    </parent>
+    <artifactId>shardingsphere-bom</artifactId>
+    <packaging>pom</packaging>
+    <name>${project.artifactId}</name>
+    <description>Bill of Materials for Apache ShardingSphere</description>
+    
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-annotation</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-exception</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-data-source-pool-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-common</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-context</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-classpath</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-absolutepath</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-zookeeper</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-url-etcd</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-algorithm-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-cryptographic-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-cryptographic-aes</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-key-generator-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-key-generator-snowflake</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-key-generator-uuid</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-load-balancer-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-load-balancer-random</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-load-balancer-round-robin</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-load-balancer-weight</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-message-digest-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-algorithm-message-digest-md5</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-oracle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-sqlserver</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-binder-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-checker</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-route-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-route-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-route-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-rewrite-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-rewrite-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-merge</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-executor</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-session</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-entry</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-literal</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-interval</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-groovy</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-expr-espresso</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-infra-util</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-infra-reachability-metadata</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-connector-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-sql92</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-connector-h2</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-mariadb</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-oracle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-sqlserver</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-clickhouse</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-doris</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-connector-hive</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-presto</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-connector-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-exception-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-exception-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-database-exception-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-protocol-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-distsql-engine</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-engine-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-engine-sql92</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-engine-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-oracle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-sqlserver</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-engine-hive</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-clickhouse</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-parser-sql-engine-doris</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-presto</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-engine-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-oracle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-sqlserver</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-parser-sql-statement-hive</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mode-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mode-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mode-node</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-cluster-mode-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-cluster-mode-repository-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-cluster-mode-repository-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-cluster-mode-repository-zookeeper</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-cluster-mode-repository-etcd</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-standalone-mode-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-standalone-mode-repository-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-standalone-mode-repository-memory</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-standalone-mode-repository-jdbc</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-authority-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-authority-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-authority-simple</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-authority-database</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-authority-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-authority-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-authority-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-single-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-single-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-single-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-single-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-single-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-federation-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-federation-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-federation-compiler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-federation-executor</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-federation-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-federation-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-federation-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-parser-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-parser-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-parser-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-parser-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-parser-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-translator-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sql-translator-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-translator-native-provider</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-translator-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-translator-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sql-translator-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-time-service-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-time-service-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-system-time-service</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-database-time-service</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-transaction-base-seata-at</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-transaction-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-transaction-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-transaction-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-xa-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-xa-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-xa-atomikos</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-transaction-xa-narayana</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-global-clock-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-global-clock-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-global-clock-hlc</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-global-clock-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-global-clock-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-global-clock-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-global-clock-tso-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-global-clock-tso-provider-local</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-global-clock-tso-provider-redis</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-schedule-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-data-pipeline-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-data-pipeline-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-data-pipeline-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-data-pipeline-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-feature-sharding</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-data-pipeline-cdc-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-cdc-protocol</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-cdc-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-cdc-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-cdc-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-cdc-client</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-scenario-migration-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-scenario-migration-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-scenario-migration-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-scenario-migration-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-data-pipeline-scenario-consistency-check</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-jdbc</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-frontend-spi</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-frontend-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-frontend-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-proxy-frontend-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-proxy-frontend-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-frontend-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-backend-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-backend-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-proxy-backend-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-backend-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-backend-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-proxy-dialect-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-oracle</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-sqlserver</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-hive</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-presto</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-proxy-dialect-clickhouse</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-doris</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-dialect-mariadb</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-proxy-bootstrap</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-postgresql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-opengauss</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-protocol-firebird</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-broadcast-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-broadcast-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-broadcast-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-broadcast-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-broadcast-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-encrypt-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-encrypt-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-encrypt-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-encrypt-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-encrypt-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mask-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mask-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mask-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mask-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-mask-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-readwrite-splitting-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-readwrite-splitting-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-readwrite-splitting-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-readwrite-splitting-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-readwrite-splitting-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-shadow-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-shadow-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-shadow-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-shadow-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-shadow-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sharding-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sharding-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sharding-mysql</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sharding-distsql-statement</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-sharding-distsql-parser</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-sharding-distsql-handler</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-api</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-plugin-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-metrics-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-agent-metrics-prometheus</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-tracing-core</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                
<artifactId>shardingsphere-agent-tracing-opentelemetry</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.shardingsphere</groupId>
+                <artifactId>shardingsphere-agent-logging-file</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <skipIfEmpty>true</skipIfEmpty>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>false</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 175ebd0f20d..564953ec037 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -29,6 +29,7 @@
     
     <modules>
         <module>src</module>
+        <module>bom</module>
         <module>agent</module>
         <module>jdbc</module>
         <module>proxy</module>
diff --git a/docs/document/content/user-manual/dependencies/_index.cn.md 
b/docs/document/content/user-manual/dependencies/_index.cn.md
new file mode 100644
index 00000000000..ef109634f9e
--- /dev/null
+++ b/docs/document/content/user-manual/dependencies/_index.cn.md
@@ -0,0 +1,22 @@
++++
+pre = "<b>4.5. </b>"
+title = "依赖管理"
+weight = 5
+chapter = true
++++
+
+合理的依赖管理对于使用 ShardingSphere 构建稳定且可维护的应用程序至关重要。
+
+本章节提供了在项目中管理 ShardingSphere 依赖的全面指导,涵盖 Maven BOM 使用、版本兼容性以及企业级应用的最佳实践。
+
+ShardingSphere 提供多种发布方式以适应不同的集成场景。理解如何正确管理依赖能够确保版本兼容性并简化项目维护。
+
+本章节涵盖的主要主题包括:
+
+* **物料清单 (BOM)**:Maven 项目的集中化依赖版本管理
+* **版本兼容性**:理解版本关系和兼容性矩阵
+* **构建工具集成**:Maven 和 Gradle 的配置示例
+
+无论您是启动新项目还是维护现有的企业应用,正确的依赖管理有助于避免常见问题,如版本冲突、依赖地狱和部署问题。
+
+快速开始场景请参考[快速开始](../../quick-start/)章节。详细的配置示例请查阅 ShardingSphere-JDBC 和 
ShardingSphere-Proxy 的相关章节。
diff --git a/docs/document/content/user-manual/dependencies/_index.en.md 
b/docs/document/content/user-manual/dependencies/_index.en.md
new file mode 100644
index 00000000000..c5c535dbef2
--- /dev/null
+++ b/docs/document/content/user-manual/dependencies/_index.en.md
@@ -0,0 +1,22 @@
++++
+pre = "<b>4.5. </b>"
+title = "Dependency Management"
+weight = 5
+chapter = true
++++
+
+Proper dependency management is crucial for building stable and maintainable 
applications with ShardingSphere.
+
+This chapter provides comprehensive guidance on managing ShardingSphere 
dependencies in your projects, covering Maven BOM usage, version compatibility, 
and best practices for enterprise applications.
+
+ShardingSphere provides multiple distribution methods to suit different 
integration scenarios. Understanding how to properly manage dependencies 
ensures version compatibility and simplifies project maintenance.
+
+The key topics covered in this chapter include:
+
+* **Bill of Materials (BOM)**: Centralized dependency version management for 
Maven projects
+* **Version Compatibility**: Understanding version relationships and 
compatibility matrices
+* **Build Tool Integration**: Configuration examples for Maven and Gradle
+
+Whether you are starting a new project or maintaining an existing enterprise 
application, proper dependency management helps avoid common pitfalls such as 
version conflicts, dependency hell, and deployment issues.
+
+For quick start scenarios, please refer to the [Quick 
Start](../../quick-start/) chapter. For detailed configuration examples, please 
consult the relevant sections in ShardingSphere-JDBC and ShardingSphere-Proxy.
diff --git a/docs/document/content/user-manual/dependencies/bom.cn.md 
b/docs/document/content/user-manual/dependencies/bom.cn.md
new file mode 100644
index 00000000000..225f3d93766
--- /dev/null
+++ b/docs/document/content/user-manual/dependencies/bom.cn.md
@@ -0,0 +1,83 @@
++++
+pre = "<b>4.5.1. </b>"
+title = "物料清单 (BOM)"
+weight = 1
++++
+
+物料清单 (Bill of Materials, BOM) 是 Maven 的标准功能,提供集中化的依赖版本管理。ShardingSphere BOM 
确保所有模块使用兼容的版本,消除版本冲突并简化依赖管理。
+
+## 什么是 ShardingSphere BOM?
+
+ShardingSphere BOM (`shardingsphere-bom`) 是一个包含所有 ShardingSphere 模块版本信息的 POM 
文件。通过在项目中导入 BOM,您不再需要为单个 ShardingSphere 依赖指定版本。
+
+## 使用 BOM 的优势
+
+* **版本一致性**:确保所有 ShardingSphere 模块使用兼容版本
+* **简化依赖管理**:无需为单个模块指定版本
+* **轻松升级**:只需更改 BOM 版本即可升级所有 ShardingSphere 依赖
+* **减少 POM 体积**:更清晰、更易读的依赖声明
+* **冲突预防**:避免传递依赖之间的版本冲突
+
+## Maven 配置
+
+要在 Maven 项目中使用 ShardingSphere BOM,请在您的 `pom.xml` 中添加以下配置:
+
+```xml
+<dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-bom</artifactId>
+            <version>${shardingsphere.version}</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+    </dependencies>
+</dependencyManagement>
+```
+
+导入 BOM 后,您可以声明 ShardingSphere 依赖而无需指定版本:
+
+```xml
+<dependencies>
+    <!-- ShardingSphere JDBC 驱动 -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-jdbc</artifactId>
+    </dependency>
+
+    <!-- MySQL SQL 解析器 -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-parser-sql-engine-mysql</artifactId>
+    </dependency>
+
+    <!-- 数据源池实现 -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
+    </dependency>
+</dependencies>
+```
+
+## Gradle 支持
+
+对于 Gradle 用户,您可以通过 `dependencyManagement` 插件使用 BOM:
+
+```gradle
+plugins {
+    id 'java'
+    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
+}
+
+dependencyManagement {
+    imports {
+        mavenBom 
"org.apache.shardingsphere:shardingsphere-bom:${shardingsphereVersion}"
+    }
+}
+
+dependencies {
+    implementation 'org.apache.shardingsphere:shardingsphere-jdbc'
+    implementation 
'org.apache.shardingsphere:shardingsphere-parser-sql-engine-mysql'
+}
+```
diff --git a/docs/document/content/user-manual/dependencies/bom.en.md 
b/docs/document/content/user-manual/dependencies/bom.en.md
new file mode 100644
index 00000000000..6a09f1ea1ed
--- /dev/null
+++ b/docs/document/content/user-manual/dependencies/bom.en.md
@@ -0,0 +1,83 @@
++++
+pre = "<b>4.5.1. </b>"
+title = "Bill of Materials (BOM)"
+weight = 1
++++
+
+A Bill of Materials (BOM) is a standard Maven feature that provides 
centralized dependency version management. ShardingSphere BOM ensures that all 
modules use compatible versions, eliminating version conflicts and simplifying 
dependency management.
+
+## What is ShardingSphere BOM?
+
+The ShardingSphere BOM (`shardingsphere-bom`) is a POM file that contains 
version information for all ShardingSphere modules. By importing the BOM in 
your project, you no longer need to specify versions for individual 
ShardingSphere dependencies.
+
+## Benefits of Using BOM
+
+* **Version Consistency**: Ensures all ShardingSphere modules use compatible 
versions
+* **Simplified Dependency Management**: No need to specify versions for 
individual modules
+* **Easy Upgrades**: Upgrade all ShardingSphere dependencies by changing only 
the BOM version
+* **Reduced POM Size**: Cleaner and more readable dependency declarations
+* **Conflict Prevention**: Avoids version conflicts between transitive 
dependencies
+
+## Maven Configuration
+
+To use ShardingSphere BOM in your Maven project, add the following to your 
`pom.xml`:
+
+```xml
+<dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-bom</artifactId>
+            <version>${shardingsphere.version}</version>
+            <type>pom</type>
+            <scope>import</scope>
+        </dependency>
+    </dependencies>
+</dependencyManagement>
+```
+
+After importing the BOM, you can declare ShardingSphere dependencies without 
versions:
+
+```xml
+<dependencies>
+    <!-- ShardingSphere JDBC Driver -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-jdbc</artifactId>
+    </dependency>
+
+    <!-- ShardingSphere Parser for MySQL -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-parser-sql-engine-mysql</artifactId>
+    </dependency>
+
+    <!-- Data Source Pool Implementation -->
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
+    </dependency>
+</dependencies>
+```
+
+## Gradle Support
+
+For Gradle users, you can use the BOM through the `dependencyManagement` 
plugin:
+
+```gradle
+plugins {
+    id 'java'
+    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
+}
+
+dependencyManagement {
+    imports {
+        mavenBom 
"org.apache.shardingsphere:shardingsphere-bom:${shardingsphereVersion}"
+    }
+}
+
+dependencies {
+    implementation 'org.apache.shardingsphere:shardingsphere-jdbc'
+    implementation 
'org.apache.shardingsphere:shardingsphere-parser-sql-engine-mysql'
+}
+```


Reply via email to