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]

Reply via email to