You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by "polarisGitHub (via GitHub)" <gi...@apache.org> on 2025/10/13 03:37:19 UTC

[I] need bom [shardingsphere]

polarisGitHub opened a new issue, #36866:
URL: https://github.com/apache/shardingsphere/issues/36866

   ## Feature Request
   
   ShardingSphere has too many dependencies, making dependency management difficult. Can you provide a BOM to facilitate dependency management?
   
   Please answer these questions before submitting your issue. Thanks!
   
   ### Is your feature request related to a problem?
   
   ### Describe the feature you would like.
   
   Provide BOM to facilitate dependency management
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] need bom [shardingsphere]

Posted by "terrymanu (via GitHub)" <gi...@apache.org>.
terrymanu commented on issue #36866:
URL: https://github.com/apache/shardingsphere/issues/36866#issuecomment-3395797182

   This is a good idea


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] need bom [shardingsphere]

Posted by "terrymanu (via GitHub)" <gi...@apache.org>.
terrymanu closed issue #36866: need bom
URL: https://github.com/apache/shardingsphere/issues/36866


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] need bom [shardingsphere]

Posted by "terrymanu (via GitHub)" <gi...@apache.org>.
terrymanu commented on issue #36866:
URL: https://github.com/apache/shardingsphere/issues/36866#issuecomment-3495406835

   Problem Analysis
   
     Thank you for raising this valuable feature request! After analysis, I completely understand your pain point:
   
     - ShardingSphere indeed has 408 modules, making dependency management complex
     - External users need to understand the specific internal module structure to use it correctly
     - Lack of user-friendly dependency management approach
   
     This is not a bug, but a reasonable request to improve user experience.
   
     Fix Suggestion
   
     I recommend creating a dedicated BOM module for ShardingSphere to solve this problem. The specific implementation plan is as follows:
   
     1. Create Core BOM Module
   
     Create a shardingsphere-bom module in the project root directory:
   
     <!-- shardingsphere-bom/pom.xml -->
     <project xmlns="http://maven.apache.org/POM/4.0.0">
         <modelVersion>4.0.0</modelVersion>
         <parent>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere</artifactId>
             <version>5.5.3-SNAPSHOT</version>
         </parent>
   
         <artifactId>shardingsphere-bom</artifactId>
         <packaging>pom</packaging>
         <name>ShardingSphere BOM</name>
         <description>Bill of Materials for Apache ShardingSphere</description>
   
         <dependencyManagement>
             <dependencies>
                 <!-- Core modules -->
                 <dependency>
                     <groupId>org.apache.shardingsphere</groupId>
                     <artifactId>shardingsphere-jdbc-core</artifactId>
                     <version>${project.version}</version>
                 </dependency>
   
                 <!-- Feature modules -->
                 <dependency>
                     <groupId>org.apache.shardingsphere</groupId>
                     <artifactId>shardingsphere-sharding-core</artifactId>
                     <version>${project.version}</version>
                 </dependency>
   
                 <!-- More modules organized by functional category... -->
             </dependencies>
         </dependencyManagement>
     </project>
   
     2. User Usage Pattern
   
     Users can greatly simplify dependency management through the following approach:
   
     <!-- User's project pom.xml -->
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.apache.shardingsphere</groupId>
                 <artifactId>shardingsphere-bom</artifactId>
                 <version>5.5.3-SNAPSHOT</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
         </dependencies>
     </dependencyManagement>
   
     <dependencies>
         <!-- Simplified dependency declarations, no version numbers needed -->
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-jdbc-core</artifactId>
         </dependency>
   
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-sharding-core</artifactId>
         </dependency>
     </dependencies>
   
     3. Implementation Steps
   
     1. Create BOM Module Basic Structure
       - Create shardingsphere-bom directory in project root
       - Configure BOM module's pom.xml
     2. Organize and Categorize Dependencies
       - Organize internal modules by function (Core, Features, Mode, Parser, Connector)
       - Add recommended external dependency version management
     3. Update Project Structure
       - Add BOM module to root pom.xml's modules list
       - Maintain backward compatibility with existing builds
     4. Create Usage Documentation
       - BOM usage guide
       - Dependency examples for different scenarios
   
     Enthusiastic Invitation
   
     This is a very valuable feature improvement that will greatly enhance the user experience of ShardingSphere!
   
     We sincerely invite you to submit a PR to implement this feature:
   
     1. Create the basic structure of the BOM module
     2. Organize ShardingSphere's internal module dependencies by functional category
     3. Add usage documentation and examples
     4. Ensure compatibility with existing build processes
   
     Such improvements will make ShardingSphere more user-friendly and lower the barrier to entry for new users. If you encounter any issues during implementation, we are happy to provide guidance and assistance!
   
     Looking forward to your contribution!
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@shardingsphere.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org