This is an automated email from the ASF dual-hosted git repository. Aias00 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/shenyu-plugin-store.git
commit 20aa6d3970806814e30d6ef8b3415b4f54cd1de0 Merge: 369bb70 735c646 Author: aias00 <[email protected]> AuthorDate: Thu Oct 8 18:39:07 2026 -0700 Merge pull request #6 from cloudbase-ai/cloudbase/migrate-sofa-tars-plugins [type:refactor] complete sofa and tars store migration assets .github/PULL_REQUEST_TEMPLATE.md | 2 +- .github/workflows/build.yml | 26 +- .mvn/wrapper/maven-wrapper.jar | Bin 59925 -> 0 bytes .mvn/wrapper/maven-wrapper.properties | 19 - README.md | 33 + db/plugins/sofa/PROVENANCE.md | 27 + db/plugins/sofa/README.md | 30 + .../sofa/archive/historical-upgrade-fragments.sql | 288 +++++++++ db/plugins/sofa/h2/install.sql | 62 ++ db/plugins/sofa/h2/preflight.sql | 226 +++++++ db/plugins/sofa/mysql/install.sql | 62 ++ db/plugins/sofa/mysql/preflight.sql | 235 +++++++ db/plugins/sofa/ob/install.sql | 62 ++ db/plugins/sofa/ob/preflight.sql | 235 +++++++ db/plugins/sofa/og/install.sql | 62 ++ db/plugins/sofa/og/preflight.sql | 226 +++++++ db/plugins/sofa/oracle/install.sql | 62 ++ db/plugins/sofa/oracle/preflight.sql | 226 +++++++ db/plugins/sofa/pg/install.sql | 62 ++ db/plugins/sofa/pg/preflight.sql | 226 +++++++ db/plugins/sofa/row-manifest.json | 337 ++++++++++ db/plugins/tars/PROVENANCE.md | 27 + db/plugins/tars/README.md | 30 + .../tars/archive/historical-upgrade-fragments.sql | 102 +++ db/plugins/tars/h2/install.sql | 70 +++ db/plugins/tars/h2/preflight.sql | 274 ++++++++ db/plugins/tars/mysql/install.sql | 70 +++ db/plugins/tars/mysql/preflight.sql | 283 +++++++++ db/plugins/tars/ob/install.sql | 70 +++ db/plugins/tars/ob/preflight.sql | 283 +++++++++ db/plugins/tars/og/install.sql | 70 +++ db/plugins/tars/og/preflight.sql | 274 ++++++++ db/plugins/tars/oracle/install.sql | 70 +++ db/plugins/tars/oracle/preflight.sql | 274 ++++++++ db/plugins/tars/pg/install.sql | 70 +++ db/plugins/tars/pg/preflight.sql | 274 ++++++++ db/plugins/tars/row-manifest.json | 385 ++++++++++++ mvnw | 287 --------- mvnw.cmd | 187 ------ pom.xml | 85 ++- script/plugin-store/assert-store-fixtures.sh | 64 ++ script/plugin-store/backend/hystrix-backend.pl | 103 +++ script/plugin-store/build-h2-store-sql-fixture.py | 559 +++++++++++++++++ script/plugin-store/build-slim-core-images.sh | 89 +++ script/plugin-store/build-store-plugin-jars.sh | 100 +++ .../plugin-store/docker-compose.original-suite.yml | 56 ++ script/plugin-store/h2-store-sql-fixture.md | 52 ++ script/plugin-store/plugin-sql-seed-manifest.json | 419 +++++++++++++ script/plugin-store/prepare-core-artifacts.sh | 36 ++ script/plugin-store/prepare-h2-store-db.sh | 134 ++++ script/plugin-store/probe-e2e-cache-endpoint.sh | 74 +++ script/plugin-store/probe/ClassOriginProbe.java | 39 ++ script/plugin-store/prove-class-origin.sh | 63 ++ script/plugin-store/run-core-compose.sh | 144 +++++ script/plugin-store/run-original-e2e.sh | 41 ++ script/plugin-store/run-original-it.sh | 61 ++ script/plugin-store/run-sofa-original-suites.sh | 558 +++++++++++++++++ script/plugin-store/seed-http-divide-route.sh | 54 ++ shenyu-e2e/pom.xml | 211 +++++++ .../shenyu-e2e-case}/pom.xml | 15 +- .../compose/script/e2e-sofa-sync-compose.sh | 65 ++ .../compose/shenyu-examples-sofa-compose.yml | 57 ++ .../k8s/script/e2e-sofa-sync.sh | 82 +++ .../k8s/shenyu-examples-sofa.yml | 66 ++ .../shenyu-e2e-case/shenyu-e2e-case-sofa}/pom.xml | 22 +- .../shenyu/e2e/testcase/sofa/DataSynTest.java | 59 ++ .../shenyu/e2e/testcase/sofa/SofaPluginCases.java | 363 +++++++++++ .../shenyu/e2e/testcase/sofa/SofaPluginTest.java | 129 ++++ .../shenyu-plugin-store-e2e-common}/pom.xml | 19 +- .../shenyu/e2e/annotation/ExternalService.java | 31 + .../shenyu/e2e/annotation/ShenYuAdminClient.java | 31 + .../e2e/annotation/ShenYuEnvironmentClient.java | 35 ++ .../shenyu/e2e/annotation/ShenYuGatewayClient.java | 31 + .../shenyu/e2e/annotation/ShenYuInjectable.java | 29 + .../org/apache/shenyu/e2e/client/BaseClient.java | 50 ++ .../shenyu/e2e/client/EnvironmentClient.java | 65 ++ .../shenyu/e2e/client/ExternalServiceClient.java | 55 ++ .../org/apache/shenyu/e2e/client/WaitDataSync.java | 113 ++++ .../shenyu/e2e/client/admin/AdminClient.java | 588 +++++++++++++++++ .../shenyu/e2e/client/gateway/GatewayClient.java | 244 ++++++++ .../org/apache/shenyu/e2e/common/IdGenerator.java | 42 ++ .../org/apache/shenyu/e2e/common/IdManagers.java | 138 ++++ .../org/apache/shenyu/e2e/common/NameUtils.java | 34 + .../shenyu/e2e/common/RequestLogConsumer.java | 67 ++ .../org/apache/shenyu/e2e/common/TableView.java | 112 ++++ .../apache/shenyu/e2e/config/ServiceConfigure.java | 165 +++++ .../org/apache/shenyu/e2e/constant/Constants.java | 26 + .../apache/shenyu/e2e/engine/ShenYuExtension.java | 162 +++++ .../shenyu/e2e/engine/ShenYuExtensionContext.java | 117 ++++ .../shenyu/e2e/engine/ShenYuLogExtension.java | 61 ++ .../e2e/engine/annotation/ShenYuScenario.java | 44 ++ .../engine/annotation/ShenYuScenarioParameter.java | 29 + .../shenyu/e2e/engine/annotation/ShenYuTest.java | 99 +++ .../shenyu/e2e/engine/annotation/ShenYuValue.java | 35 ++ .../e2e/engine/config/ShenYuEngineConfigure.java | 102 +++ .../ShenYuScenarioInvocationContextProvider.java | 88 +++ .../scenario/ShenYuScenarioParameterResolver.java | 46 ++ .../engine/scenario/ShenYuScenarioProvider.java | 32 + .../engine/scenario/ShenYuScenarioSupplier.java | 83 +++ .../e2e/engine/scenario/function/Checker.java | 35 ++ .../e2e/engine/scenario/function/Deleter.java | 36 ++ .../e2e/engine/scenario/function/HttpChecker.java | 52 ++ .../e2e/engine/scenario/function/HttpCheckers.java | 122 ++++ .../e2e/engine/scenario/function/HttpVerifier.java | 25 + .../e2e/engine/scenario/function/HttpWaiting.java | 45 ++ .../e2e/engine/scenario/function/Verifier.java | 33 + .../engine/scenario/function/WaitForHelper.java | 179 ++++++ .../e2e/engine/scenario/function/Waiting.java | 34 + .../engine/scenario/function/WebSocketChecker.java | 52 ++ .../scenario/function/WebSocketCheckers.java | 96 +++ .../scenario/function/WebSocketVerifier.java | 37 ++ .../scenario/specification/AfterEachSpec.java | 63 ++ .../scenario/specification/BeforeEachSpec.java | 63 ++ .../engine/scenario/specification/CaseSpec.java | 46 ++ .../scenario/specification/ScenarioSpec.java | 76 +++ .../specification/ScenarioSpecLogProxy.java | 117 ++++ .../specification/ShenYuAfterEachSpec.java | 117 ++++ .../specification/ShenYuBeforeEachSpec.java | 171 +++++ .../scenario/specification/ShenYuCaseSpec.java | 241 +++++++ .../scenario/specification/ShenYuScenarioSpec.java | 155 +++++ .../shenyu/e2e/engine/utils/SocketUtils.java | 70 +++ .../apache/shenyu/e2e/enums/ServiceTypeEnum.java | 27 + .../org/apache/shenyu/e2e/matcher/RuleMatcher.java | 82 +++ .../apache/shenyu/e2e/matcher/SelectorMatcher.java | 83 +++ .../org/apache/shenyu/e2e/model/MatchMode.java | 54 ++ .../java/org/apache/shenyu/e2e/model/Plugin.java | 140 +++++ .../org/apache/shenyu/e2e/model/ResourcesData.java | 169 +++++ .../org/apache/shenyu/e2e/model/SelectorType.java | 54 ++ .../org/apache/shenyu/e2e/model/ShenYuResult.java | 102 +++ .../apache/shenyu/e2e/model/data/BindingData.java | 463 ++++++++++++++ .../apache/shenyu/e2e/model/data/Condition.java | 566 +++++++++++++++++ .../shenyu/e2e/model/data/ConditionData.java | 156 +++++ .../org/apache/shenyu/e2e/model/data/MetaData.java | 608 ++++++++++++++++++ .../shenyu/e2e/model/data/NamespaceSyncData.java | 46 ++ .../apache/shenyu/e2e/model/data/PluginData.java | 53 ++ .../shenyu/e2e/model/data/QueryCondition.java | 42 ++ .../apache/shenyu/e2e/model/data/ResourceData.java | 58 ++ .../shenyu/e2e/model/data/RuleCacheData.java | 639 +++++++++++++++++++ .../org/apache/shenyu/e2e/model/data/RuleData.java | 480 ++++++++++++++ .../shenyu/e2e/model/data/RuleQueryCondition.java | 251 ++++++++ .../shenyu/e2e/model/data/SearchCondition.java | 197 ++++++ .../shenyu/e2e/model/data/SelectorCacheData.java | 693 +++++++++++++++++++++ .../apache/shenyu/e2e/model/data/SelectorData.java | 544 ++++++++++++++++ .../e2e/model/data/SelectorQueryCondition.java | 262 ++++++++ .../shenyu/e2e/model/handle/DivideRuleHandle.java | 284 +++++++++ .../shenyu/e2e/model/handle/DivideUpstream.java | 321 ++++++++++ .../shenyu/e2e/model/handle/DubboHandler.java | 338 ++++++++++ .../shenyu/e2e/model/handle/DubboRuleHandle.java | 163 +++++ .../e2e/model/handle/DubboSelectorHandle.java | 87 +++ .../e2e/model/handle/GrpcSelectorHandle.java | 219 +++++++ .../shenyu/e2e/model/handle/PluginHandle.java | 21 + .../apache/shenyu/e2e/model/handle/RuleHandle.java | 37 ++ .../e2e/model/handle/SpringCloudRuleHandle.java | 163 +++++ .../model/handle/SpringCloudSelectorHandle.java | 189 ++++++ .../apache/shenyu/e2e/model/handle/Upstreams.java | 174 ++++++ .../apache/shenyu/e2e/model/request/RequestVO.java | 21 + .../shenyu/e2e/model/response/FakeResourceDTO.java | 81 +++ .../shenyu/e2e/model/response/LoginInfo.java | 109 ++++ .../shenyu/e2e/model/response/MetaDataDTO.java | 476 ++++++++++++++ .../e2e/model/response/NamespacePluginDTO.java | 244 ++++++++ .../e2e/model/response/PaginatedResources.java | 68 ++ .../shenyu/e2e/model/response/Pagination.java | 111 ++++ .../shenyu/e2e/model/response/PluginDTO.java | 194 ++++++ .../shenyu/e2e/model/response/ResourceDTO.java | 51 ++ .../apache/shenyu/e2e/model/response/RuleDTO.java | 466 ++++++++++++++ .../e2e/model/response/SearchedResources.java | 131 ++++ .../shenyu/e2e/model/response/SelectorDTO.java | 568 +++++++++++++++++ .../shenyu/e2e/template/ResourceDataTemplate.java | 201 ++++++ .../src/main/resources/log4j2.xml | 32 +- .../shenyu/e2e/client/admin/AdminClientTest.java | 277 ++++++++ .../apache/shenyu/e2e/common/TableViewTest.java | 81 +++ .../apache/shenyu/e2e/engine/ShenYuEngineTest.java | 113 ++++ .../e2e/engine/function/WaitForHelperTest.java | 56 ++ .../e2e/k8s/engine/ShenYuE2eExtensionTest.java | 55 ++ .../src/test/resources/docker-compose.yml | 41 +- .../src/test/resources/log4j2.xml | 32 +- .../pom.xml | 51 +- .../shenyu-examples-common}/pom.xml | 41 +- .../common/aop/InterceptorConfiguration.java | 34 + .../org/apache/shenyu/examples/common/aop/Log.java | 30 + .../shenyu/examples/common/aop/LogInterceptor.java | 57 ++ .../shenyu/examples/common/aop/package-info.java | 21 + .../src/main/resources/1.txt | 1 + .../src/main/resources/2.txt | 1 + .../src/main/resources/META-INF/spring.factories | 18 + .../src/main/resources/META-INF/spring.provides | 16 + shenyu-examples/shenyu-examples-sofa/README.md | 41 ++ .../shenyu-examples-sofa}/pom.xml | 25 +- .../shenyu-examples-sofa-api}/pom.xml | 19 +- .../sofa/api/entity/SofaComplexTypeBean.java | 107 ++++ .../sofa/api/entity/SofaSimpleTypeBean.java | 83 +++ .../api/service/SofaClientMultiParamService.java | 122 ++++ .../api/service/SofaClientSingleParamService.java | 51 ++ .../sofa/api/service/SofaMultiParamService.java | 121 ++++ .../sofa/api/service/SofaSingleParamService.java | 52 ++ .../shenyu-examples-sofa-service/Dockerfile | 38 ++ .../shenyu-examples-sofa-service/k8s/ingress.yml | 87 +++ .../k8s/shenyu-examples-sofa.yml | 90 +++ .../k8s/shenyu-zookeeper.yml | 87 +++ .../shenyu-examples-sofa-service/pom.xml | 331 ++++++++++ .../src/main/http/sofa-test-api.http | 221 +++++++ .../examples/sofa/service/TestSofaApplication.java | 40 ++ .../impl/SofaClientMultiParamServiceImpl.java | 126 ++++ .../impl/SofaClientSingleParamServiceImpl.java | 52 ++ .../service/impl/SofaMultiParamServiceImpl.java | 125 ++++ .../service/impl/SofaSingleParamServiceImpl.java | 59 ++ .../src/main/resources/application.yml | 67 +- .../src/main/resources/invoke-server-example.xml | 32 +- shenyu-examples/shenyu-examples-tars/README.md | 10 + shenyu-examples/shenyu-examples-tars/pom.xml | 132 ++++ .../src/main/http/tars-test-api.http | 46 +- .../examples/tars/ShenyuTestTarsApplication.java | 40 ++ .../tars/servant/testapp/HelloServant.java | 46 ++ .../tars/servant/testapp/OrderServant.java | 46 ++ .../examples/tars/servant/testapp/UserServant.java | 46 ++ .../servant/testapp/impl/HelloServantImpl.java | 47 ++ .../servant/testapp/impl/OrderServantImpl.java | 46 ++ .../tars/servant/testapp/impl/UserServantImpl.java | 39 ++ ...henyuExampleServer.ShenyuExampleApp.config.conf | 97 +++ .../src/main/resources/application.yml | 56 +- .../src/main/resources/test.tars | 52 +- shenyu-integrated-test/pom.xml | 103 +++ .../Dockerfile | 37 ++ .../deploy/deploy-shenyu.yaml | 103 +++ .../deploy/kind-config.yaml | 39 ++ .../pom.xml | 201 ++++++ .../script/build_k8s_cluster.sh | 32 + .../script/healthcheck.sh | 47 +- .../script/services.list | 18 + .../SofaIngressControllerIntegratedBootstrap.java | 36 ++ .../test/k8s/ingress/sofa/dto/SofaTestData.java | 51 ++ .../src/main/resources/application-local.yml | 63 +- .../src/main/resources/application.yml | 35 +- .../sofa/SofaPluginShareThreadPoolTest.java | 47 ++ .../shenyu-integrated-test-sofa/Dockerfile | 37 ++ .../shenyu-integrated-test-sofa/docker-compose.yml | 100 +++ .../shenyu-integrated-test-sofa/pom.xml | 165 +++++ .../script/healthcheck.sh | 54 +- .../script/services.list | 19 + .../test/sofa/SofaIntegratedBootstrap.java | 34 + .../integrated/test/sofa/dto/SofaTestData.java | 51 ++ .../test/sofa/support/E2eCacheController.java | 93 +++ .../src/main/resources/application-local.yml | 59 ++ .../src/main/resources/application.yml | 35 +- .../test/sofa/SofaPluginShareThreadPoolTest.java | 48 ++ .../integrated/test/sofa/SofaPluginTest.java | 48 ++ .../shenyu-plugin-store-it-common}/pom.xml | 17 +- .../common/AbstractPluginDataInit.java | 191 ++++++ .../shenyu/integratedtest/common/AbstractTest.java | 39 ++ .../integratedtest/common/dto/AdminResponse.java | 85 +++ .../integratedtest/common/dto/BigObject.java | 64 ++ .../integratedtest/common/dto/ComplexBeanTest.java | 116 ++++ .../common/dto/ComplexBeanTestWithNameRequest.java | 79 +++ .../integratedtest/common/dto/ComplexObjects.java | 45 ++ .../integratedtest/common/dto/DubboTest.java | 83 +++ .../common/dto/DubboTestListRequest.java | 52 ++ .../dto/DubboTestListWithIdAndNameRequest.java | 96 +++ .../common/dto/IdArrayAndNameRequest.java | 72 +++ .../common/dto/IdStringArrayRequest.java | 50 ++ .../common/dto/IdStringListRequest.java | 52 ++ .../common/dto/IdsAndNameRequest.java | 74 +++ .../shenyu/integratedtest/common/dto/ListResp.java | 77 +++ .../common/dto/ModifyResponseDTO.java | 111 ++++ .../shenyu/integratedtest/common/dto/MotanDTO.java | 48 ++ .../integratedtest/common/dto/OAuth2DTO.java | 47 ++ .../shenyu/integratedtest/common/dto/OrderDTO.java | 69 ++ .../shenyu/integratedtest/common/dto/UserDTO.java | 72 +++ .../integratedtest/common/helper/HttpHelper.java | 352 +++++++++++ .../integratedtest/common/result/ResultBean.java | 99 +++ .../integratedtest/common/utils/ConfUtils.java | 121 ++++ shenyu-plugin/pom.xml | 3 +- shenyu-plugin/shenyu-plugin-proxy/pom.xml | 1 + .../shenyu-plugin-motan/pom.xml | 17 + .../apache/shenyu/plugin/motan/MotanPlugin.java | 20 +- .../plugin/motan/cache/ApplicationConfigCache.java | 27 +- .../plugin/motan/config/MotanRegisterConfig.java | 135 ++++ .../motan/constant/MotanPluginConstants.java | 52 ++ .../motan/context/MotanShenyuContextDecorator.java | 8 +- .../shenyu/plugin/motan/dto/MotanUpstream.java | 26 +- .../plugin/motan/handler/MotanMetaDataHandler.java | 14 +- .../motan/handler/MotanPluginDataHandler.java | 9 +- .../plugin/motan/proxy/MotanProxyService.java | 12 +- .../plugin/motan/response/MotanMessageWriter.java | 62 ++ .../plugin/motan/MotanGatewayIntegrationTest.java | 475 ++++++++++++++ .../motan/cache/ApplicationConfigCacheTest.java | 8 +- .../motan/handler/MotanPluginDataHandlerTest.java | 28 +- .../plugin/motan/proxy/MotanProxyServiceTest.java | 6 +- .../shenyu-plugin-sofa}/pom.xml | 22 +- .../org/apache/shenyu/plugin/sofa/SofaPlugin.java} | 44 +- .../plugin/sofa/cache/ApplicationConfigCache.java | 530 ++++++++++++++++ .../shenyu/plugin/sofa/cache/SofaUpstream.java | 170 +++++ .../sofa/context/SofaShenyuContextDecorator.java} | 12 +- .../plugin/sofa/handler/SofaMetaDataHandler.java} | 48 +- .../plugin/sofa/handler/SofaPluginDataHandler.java | 95 +++ .../plugin/sofa/param/SofaParamResolveService.java | 39 ++ .../sofa/param/SofaParamResolveServiceImpl.java | 155 +++++ .../shenyu/plugin/sofa/proxy/SofaProxyService.java | 137 ++++ .../apache/shenyu/plugin/sofa/SofaPluginTest.java | 148 +++++ .../sofa/cache/ApplicationConfigCacheTest.java | 146 +++++ .../context/SofaShenyuContextDecoratorTest.java} | 41 +- .../sofa/handler/SofaMetaDataHandlerTest.java | 104 ++++ .../sofa/handler/SofaPluginDataHandlerTest.java | 142 +++++ .../param/SofaBodyParamResolveServiceTest.java | 327 ++++++++++ .../plugin/sofa/proxy/SofaProxyServiceTest.java | 221 +++++++ .../org/apache/shenyu/plugin/tars/TarsPlugin.java | 8 + .../plugin/tars/cache/ApplicationConfigCache.java | 88 +-- .../apache/shenyu/plugin/tars/TarsPluginTest.java | 43 +- .../tars/cache/ApplicationConfigCacheTest.java | 156 +++++ .../shenyu-plugin-store-test-support}/pom.xml | 31 +- .../test/support/E2eCacheAutoConfiguration.java | 44 ++ .../store/test/support/E2eCacheController.java | 114 ++++ .../store/test/support/E2eCacheEndpoint.java | 118 ++++ .../plugin/store/test/support/GatewayFixtures.java | 236 +++++++ .../plugin/store/test/support/GatewayResponse.java | 65 ++ .../test/support/ShenyuGatewayTestServer.java | 201 ++++++ .../store/test/support/TerminalResponsePlugin.java | 93 +++ .../src/main/resources/META-INF/spring.factories | 34 +- ...rk.boot.autoconfigure.AutoConfiguration.imports | 16 + .../test/support/ShenyuGatewayTestServerTest.java | 132 ++++ shenyu-spring-boot-starter-plugin/pom.xml | 1 + .../pom.xml | 14 +- .../plugin/motan/MotanPluginConfiguration.java | 15 +- .../plugin/motan/MotanPluginConfigurationTest.java | 10 + .../pom.xml | 54 +- .../plugin/sofa/SofaPluginConfiguration.java | 98 +++ .../src/main/resources/META-INF/spring.factories | 36 +- .../src/main/resources/META-INF/spring.provides | 35 +- ...rk.boot.autoconfigure.AutoConfiguration.imports | 35 +- .../plugin/sofa/SofaPluginConfigurationTest.java} | 46 +- .../shenyu-spring-boot-starter-plugin-tars/pom.xml | 4 + .../plugin/tars/TarsPluginConfigurationTest.java | 6 + 331 files changed, 35537 insertions(+), 1314 deletions(-)
