lizhimins opened a new pull request, #1287:
URL: https://github.com/apache/rocketmq-clients/pull/1287

   ## Summary
   
   Add a `proto` module to the Java Maven reactor that compiles `.proto` files 
from the `protos/` submodule (rocketmq-apis) into a `rocketmq-proto` JAR, 
replacing the dependency on a pre-published Maven Central artifact.
   
   Closes #1286
   
   ## Changes
   
   1. **Update `protos/` submodule** to latest `main` (`bc8e184`), which 
includes the `client_properties` field from 
[rocketmq-apis#108](https://github.com/apache/rocketmq-apis/issues/108).
   2. **Add `java/proto/pom.xml`** using `protobuf-maven-plugin` to compile the 
3 `.proto` files (`definition.proto`, `service.proto`, `admin.proto`) and 
generate gRPC stubs.
   3. **Add `proto` as the first module** in the parent POM reactor build 
order, so downstream modules (`client-apis`, `client`, `client-shade`) resolve 
`rocketmq-proto` from the reactor instead of Maven Central.
   4. **Update CI workflows** (`java_build.yml`, `java_coverage.yml`) to 
checkout submodules with `submodules: recursive`.
   
   ## Why
   
   - PR #1237 bumped `rocketmq-proto` to `2.2.0`, but that version is not yet 
published to Maven Central, causing all Java CI jobs to fail.
   - Other language clients (C++, Rust, C#, Node.js) already compile proto from 
the submodule. Java should follow the same pattern.
   - This decouples Java client development from proto release cycles.
   
   ## Build Order
   
   ```
   proto (compile .proto from protos/ submodule)
     → client-apis
       → client (noshade)
         → client-shade
           → test
   ```


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to