refactor: split feign-core into feign-api and feign-core#3383
Merged
Conversation
- Created a new feign-api module and relocated all core interfaces, annotations, and builders (including Feign) there. - Retained vanilla Java SDK default implementations in feign-core under feign.core.* subpackages to avoid split packages and JPMS issues. - Integrated ServiceLoader and ServiceLoaderUtils in feign-api to dynamically resolve default implementations. - Ensured non-core SPI implementations are favored over feign-core defaults when multiple providers exist. - Updated all submodules to use corrected imports and test configurations. - Fixed Vertx connection leak tests and Http2 client tests to prevent flakiness and run smoothly in sandbox environments.
Signed-off-by: Marvin Froeder <velo.br@gmail.com>
… delete deprecated Default inner classes
Publish feign-bom as a real module so it auto-deploys to Central
Signed-off-by: Marvin Froeder <velo.br@gmail.com>
…test Fix flaky vertx http2NoConnectionLeak test by using h2c prior knowledge
Bumps `netty.version` from 4.2.14.Final to 4.2.15.Final. Updates `io.netty:netty-bom` from 4.2.14.Final to 4.2.15.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](netty/netty@netty-4.2.14.Final...netty-4.2.15.Final) Updates `io.netty:netty-handler` from 4.2.14.Final to 4.2.15.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](netty/netty@netty-4.2.14.Final...netty-4.2.15.Final) Updates `io.netty:netty-codec-http` from 4.2.14.Final to 4.2.15.Final - [Release notes](https://github.com/netty/netty/releases) - [Commits](netty/netty@netty-4.2.14.Final...netty-4.2.15.Final) --- updated-dependencies: - dependency-name: io.netty:netty-bom dependency-version: 4.2.15.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-version: 4.2.15.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-version: 4.2.15.Final dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps `vertx.version` from 5.1.0 to 5.1.1. Updates `io.vertx:vertx-junit5` from 5.1.0 to 5.1.1 - [Commits](eclipse-vertx/vertx-junit5@5.1.0...5.1.1) Updates `io.vertx:vertx-web-client` from 5.1.0 to 5.1.1 - [Commits](vert-x3/vertx-web@5.1.0...5.1.1) --- updated-dependencies: - dependency-name: io.vertx:vertx-junit5 dependency-version: 5.1.1 dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: io.vertx:vertx-web-client dependency-version: 5.1.1 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps `vertx.version` from 4.5.27 to 4.5.28. Updates `io.vertx:vertx-junit5` from 4.5.27 to 4.5.28 - [Commits](eclipse-vertx/vertx-junit5@4.5.27...4.5.28) Updates `io.vertx:vertx-web-client` from 4.5.27 to 4.5.28 - [Commits](vert-x3/vertx-web@4.5.27...4.5.28) --- updated-dependencies: - dependency-name: io.vertx:vertx-junit5 dependency-version: 4.5.28 dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: io.vertx:vertx-web-client dependency-version: 4.5.28 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps `kotlin.version` from 2.3.21 to 2.4.0. Updates `org.jetbrains.kotlin:kotlin-stdlib-jdk8` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-reflect` from 2.3.21 to 2.4.0 - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](JetBrains/kotlin@v2.3.21...v2.4.0) Updates `org.jetbrains.kotlin:kotlin-maven-plugin` from 2.3.21 to 2.4.0 --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk8 dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-reflect dependency-version: 2.4.0 dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: org.jetbrains.kotlin:kotlin-maven-plugin dependency-version: 2.4.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.openrewrite.recipe:rewrite-migrate-java](https://github.com/openrewrite/rewrite-migrate-java) from 3.35.0 to 3.36.0. - [Release notes](https://github.com/openrewrite/rewrite-migrate-java/releases) - [Commits](openrewrite/rewrite-migrate-java@v3.35.0...v3.36.0) --- updated-dependencies: - dependency-name: org.openrewrite.recipe:rewrite-migrate-java dependency-version: 3.36.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.openrewrite.maven:rewrite-maven-plugin](https://github.com/openrewrite/rewrite-maven-plugin) from 6.40.0 to 6.41.0. - [Release notes](https://github.com/openrewrite/rewrite-maven-plugin/releases) - [Commits](openrewrite/rewrite-maven-plugin@v6.40.0...v6.41.0) --- updated-dependencies: - dependency-name: org.openrewrite.maven:rewrite-maven-plugin dependency-version: 6.41.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…n-4.2.15.Final build(deps): Bump netty.version from 4.2.14.Final to 4.2.15.Final
…vertx5-test/vertx.version-5.1.1 build(deps-dev): Bump vertx.version from 5.1.0 to 5.1.1 in /vertx/feign-vertx5-test
…vertx4-test/vertx.version-4.5.28 build(deps-dev): Bump vertx.version from 4.5.27 to 4.5.28 in /vertx/feign-vertx4-test
…on-2.4.0 build(deps): Bump kotlin.version from 2.3.21 to 2.4.0
…ite.recipe-rewrite-migrate-java-3.36.0 build(deps): Bump org.openrewrite.recipe:rewrite-migrate-java from 3.35.0 to 3.36.0
…ite.maven-rewrite-maven-plugin-6.41.0 build(deps-dev): Bump org.openrewrite.maven:rewrite-maven-plugin from 6.40.0 to 6.41.0
Bumps [org.openrewrite.recipe:rewrite-testing-frameworks](https://github.com/openrewrite/rewrite-testing-frameworks) from 3.36.0 to 3.37.0. - [Release notes](https://github.com/openrewrite/rewrite-testing-frameworks/releases) - [Commits](openrewrite/rewrite-testing-frameworks@v3.36.0...v3.37.0) --- updated-dependencies: - dependency-name: org.openrewrite.recipe:rewrite-testing-frameworks dependency-version: 3.37.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…ite.recipe-rewrite-testing-frameworks-3.37.0 build(deps): Bump org.openrewrite.recipe:rewrite-testing-frameworks from 3.36.0 to 3.37.0
…cated test fixtures Signed-off-by: Marvin Froeder <velo.br@gmail.com>
…service loader pass Signed-off-by: Marvin Froeder <velo.br@gmail.com>
Signed-off-by: Marvin Froeder <velo.br@gmail.com>
…-core-api Signed-off-by: Marvin Froeder <velo.br@gmail.com> # Conflicts: # vertx/feign-vertx4-test/src/test/java/feign/vertx/ConnectionsLeakTests.java
…nd feign-core Signed-off-by: Marvin Froeder <velo.br@gmail.com>
…eader Signed-off-by: Marvin Froeder <velo.br@gmail.com>
…API conflicts Signed-off-by: Marvin Froeder <velo.br@gmail.com>
Signed-off-by: Marvin Froeder <velo.br@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR splits the feign-core module, moving core API interfaces, annotations, and builders (including Feign) to a new feign-api module, while retaining vanilla Java SDK implementations (DefaultClient, DefaultContract, etc.) in feign-core under a new subpackage structure to avoid JPMS split package issues. ServiceLoader is used to locate default implementations.