yangjj-iso opened a new pull request, #16: URL: https://github.com/apache/shenyu-client-java/pull/16
Refs apache/shenyu#7602. Depends on the main-owned protocol/foundation boundary in [apache/shenyu#7605](https://github.com/apache/shenyu/pull/7605). The independent repository still uses JDK8-adapted client/common/register copies, Spring Boot 2, a duplicated registry API and gateway beat modules. This preparation branch imports the current main implementation and makes the business-service SDK build and test on Java 17 / Spring Boot 3 before formal foundation publication is available. - Rebaseline client implementation, API/HTTP registration and eight business-service starters from main commit `6210d4cbab53ad6b2a44ae48382d80a13d89a99d`. Preserve all 71 imported Java test source files and their source/resource inventory. - Remove copied JDK8 common/register/timer/DTO implementations, local registry API ownership, gateway beat/beat-starter ownership and removed Motan support. Consume the main-owned implementations through a separate `shenyu.foundation.version`. - Import nineteen client-facing example roots. Client-only common/Dubbo API example helpers use new artifact names; retained server/SDK consumers are not imported. - Use the temporary client version `2.7.2-migration-SNAPSHOT`, separate from foundation `2.7.2-SNAPSHOT`. A pinned source preparation script builds only main-owned foundation artifacts locally, so this draft can be validated without formal release publication or moving-branch dependencies. - Preserve HTTP retry/lifecycle behavior and report protocol v1 plus the packaged business SDK's own client version. Capture real HTTP requests against eight protocol-JAR fixtures; accept old-style Admin responses without new response headers. - Add source/test inventory and ownership guards, Java 17 CI, main-policy push-only Java 21 verification and a Java 17 CodeQL build. Deployment remains skipped and the `release` profile rejects this preparation state. **Release boundary:** this is migration preparation, not a release-ready claim. Foundation release versions, coordinate ownership transfer and released Admin/bootstrap compatibility matrices remain required before enabling external publication or removing main client source. The migration guide records upgrade package mappings, runtime scenarios and rollback/contribution rules. No main source was deleted. Validation: - Java 17: `./mvnw -B -ntp clean verify -Pexamples -Dmaven.javadoc.skip=true -Djacoco.skip=true -Ddocker.skip=true` passed: **285 tests, 55 reactor modules**. - Java 21: the same complete client/starter/example verification passed: **285 tests, 55 reactor modules**. - Checkstyle and Apache RAT passed across the migrated reactor. - Ten Python migration-boundary regression checks and the imported source/test inventory check passed. - Default `python3 script/prepare-foundations.py` successfully fetched the pinned main commit and installed thirteen selected main-owned foundation modules and their dependencies. The existing-clean-checkout path was also verified. - `./mvnw -Prelease validate` was verified to fail at the intentional preparation release gate. - Workflow YAML syntax, packaged SDK implementation-version metadata and `git diff --check` passed. No released Admin/client image pair is certified by these source/contract tests. Runtime compatibility work remains client-owned follow-up before release. 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. - [x] The complete independent client/starter/example reactor passed clean verification on Java 17 and Java 21 (commands above; Javadoc generation was skipped). -- 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]
