yangjj-iso opened a new pull request, #7605: URL: https://github.com/apache/shenyu/pull/7605
Refs #7602. This is the main-repository prerequisite stage; it deliberately does not close the migration issue. Admin currently imports business-client MCP code and a client-based discovery integration test. Bootstrap heartbeat and its starter also pull in the business HTTP/client-common modules. These reverse dependencies prevent moving the Java client to an independently released repository. This PR extracts a JDK-only `shenyu-register-protocol` artifact while preserving DTO/event/path package names, publishes eight v1 JSON fixtures in its JAR, and adds registration-version handling (absent header = v1, unsupported explicit versions = HTTP 400). Existing authentication, endpoint paths and the exact `success` response body are preserved; response headers advertise v1 and its capabilities. The protocol document records field types, defaults, lifecycle behavior and the support window. Shared MCP models/generation move to main-owned `shenyu-register-mcp`, retaining client adapters and testing their JSON compatibility. Shared HTTP utilities move to `shenyu-register-common`, removing the beat sender's business-client dependency. The beat starter no longer depends on `client-common`. Admin's ZooKeeper integration test uses main-owned registry APIs and raw authenticated HTTP JSON, still verifying upstream add/update/remove and WebSocket snapshots. A staged ownership inventory covers the business starters and nineteen client-facing example roots. Source/POM and resolved dependency checks prevent new reverse edges. Examples use the current reactor's client version instead of the independent `2.7.0.3` override. CI replays the wire contract and checks Admin/beat-starter dependencies, including test-scope dependencies. **Release boundary:** business-client sources and examples remain in main until the main foundation release, external Java 17/Spring Boot 3 migration, client publication and cross-repository compatibility matrix are ready. The migration guide documents ownership, release sequencing, rollback and the remaining client-side verification. No external client repository was modified and no released Admin/client E2E pair is certified here. Validation: - Java 17: 199 relevant tests passed (197 in the combined reactor run plus two new MCP compatibility tests), including 74 protocol compatibility cases, real Admin/ZooKeeper synchronization, client/starter regressions and heartbeat behavior. - Java 21: 109 protocol/controller/ZooKeeper/MCP/heartbeat-starter tests passed. - `./mvnw -pl shenyu-admin,shenyu-bootstrap -am install -DskipTests -Dmaven.javadoc.skip=true -Djacoco.skip=true` passed, with Checkstyle and RAT enabled. - All 33 example modules packaged using `./mvnw -f shenyu-examples/pom.xml package -DskipTests -Ddocker.skip=true -Dmaven.javadoc.skip=true`. - Ten Python dependency-boundary regression checks passed. Resolved Admin and beat-starter test-scope trees and the bootstrap runtime tree contain no business-client artifacts. The protocol compile dependency tree contains only the protocol project itself. - Packaged fixtures were inspected; `shenyu-register-common` no longer contains duplicate wire DTO classes. `git diff --check` passed. Make sure that: - [x] You have read the [contribution guidelines](https://shenyu.apache.org/community/contributor-guide). - [x] You submit test cases (unit or integration tests) that back your changes. - [ ] Your local test passed `./mvnw clean install -Dmaven.javadoc.skip=true` (the entire repository test suite was not run; scoped validation is listed above). -- 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]
