Aias00 opened a new issue, #7294: URL: https://github.com/apache/shenyu/issues/7294
## Background `apache/shenyu-plugin-store` is the target repository for optional ShenYu plugins, but its current `master` branch is not yet a reliable migration target: - it has no Maven wrapper even though the PR template requires `./mvnw clean install`; - it has no GitHub Actions workflow; - a clean root build fails because nested aggregator POMs resolve `shenyu-plugin-store` through the wrong relative path; - `shenyu-plugin-tars` explicitly skips Surefire tests; - plugin code is coupled to classes that may be removed from `apache/shenyu` (Motan already references removed enum/DTO members); - artifact publication ownership and the supported ShenYu compatibility range are not documented. This issue is the blocking foundation for all plugin-by-plugin migrations. ## Scope ### Repository build contract - Add and commit Maven Wrapper files. - Fix aggregator parent resolution so a clean checkout builds from the repository root. - Separate the plugin-store release version from the consumed ShenYu core/API version. - Import or depend on a released ShenYu BOM/API contract without relying on an unpublished reactor. - Run Checkstyle, Apache RAT, compilation, unit tests, and packaging from one documented command. - Remove all module-level test skips unless a documented profile isolates an external integration test. ### CI and compatibility - Add GitHub Actions for JDK 17 build/test/RAT/checkstyle. - Add a compatibility matrix for the supported ShenYu minor line(s). - Add a reusable per-plugin E2E job contract: build the plugin and starter, launch a gateway with the external artifact, configure the plugin, exercise one success path and one failure/config-refresh path, and collect logs. - Define how external middleware containers/services are provisioned and cached. - Require unit tests for plugin code and starter auto-configuration. ### Release and governance - Document Maven coordinates, versioning, release cadence, and the cutover rule that prevents the same artifact from being published by both repositories. - Add dependency, LICENSE/NOTICE, source/javadoc, signing, and reproducible-release checks required by ASF releases. - Document the two-repository PR sequence and rollback procedure. - Add a plugin inventory/compatibility table to the README. ## Acceptance Criteria - [ ] A clean checkout passes `./mvnw clean verify` on JDK 17. - [ ] CI executes build, unit tests, Checkstyle, RAT, and packaging for every PR. - [ ] No migrated plugin silently skips unit tests. - [ ] A reusable E2E workflow is documented and proven with at least one existing plugin. - [ ] Plugin-store artifacts compile against the declared released ShenYu API/BOM. - [ ] Publication ownership and version compatibility rules are documented. - [ ] The contribution and PR templates reference commands that exist in this repository. ## References - Plugin store: https://github.com/apache/shenyu-plugin-store - Existing Motan migration: https://github.com/apache/shenyu-plugin-store/pull/1 - Existing TARS migrations: https://github.com/apache/shenyu-plugin-store/pull/2 and https://github.com/apache/shenyu-plugin-store/pull/3 -- 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]
