yangjj-iso opened a new pull request, #7578: URL: https://github.com/apache/shenyu/pull/7578
`shenyu-registry-core` currently brings every built-in registry client into Admin and SDK applications. This change limits core to API/SPI dependencies and loads the configured provider from the application's classpath. Fixes #7311. - Move the five original provider dependencies into the compatibility registry starter, retaining their compile scope and existing configuration keys. Admin explicitly declares its supported providers. SDK libraries use the API, SDK starters explicitly include core, and examples/integration gateways select their configured providers. - Add actionable missing-provider errors and an uncached loading entry point for Admin's independent discovery connections. Preserve the existing factory cache, initialization/reinitialization behavior, and all published SPI resources/keys. - Add real SPI tests for all six in-repository providers, isolated zero/one/multiple-provider factory tests (including external `consul`/`polaris` keys), and starter context/registration tests. Check 13 resolved runtime dependency trees in CI to prevent client or implementation leakage into core/SDK consumers. - Document direct dependency selection, the 2.7.2 compatibility path, external providers, rollback, and the actual distribution registry/client inventory in `shenyu-registry/README.md`. Both distributions retain clients supplied by their selected modules, so their existing LICENSE/NOTICE entries remain applicable. Validation: - Full reactor `./mvnw -B -ntp -T 4 clean install -DskipTests -Dmaven.javadoc.skip=true -DskipRemoteResources=true -Djacoco.skip=true` passed, including Checkstyle and RAT; standalone `apache-rat:check` also passed. - Complete registry, SDK and three starter module suites passed: 91 registry, 75 executed SDK and 11 starter tests. Six existing SDK tests are skipped by the suite. - Admin `DefaultDiscoveryProcessorTest` and `ZookeeperClientDiscoveryIntegrationTest` passed (8 tests), including real HTTP client registration, Admin and embedded ZooKeeper discovery/sync. - Dependency assertions passed for 13 runtime trees; all five SDK consumer examples and HTTP/Dubbo/upload integration modules packaged successfully. Their trees select ZooKeeper, Eureka, or no provider as configured. - Admin and Bootstrap release archives packaged successfully and contain LICENSE/NOTICE. Their packaged library inventories were inspected. External Consul/Polaris compatibility is exercised through SPI resource fixtures; the external plugin JARs and Docker-based full-stack suites were not run locally. - [x] Contribution guidelines reviewed. - [x] Regression tests included. - [x] Local build and relevant tests passed as detailed 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]
