Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.5.1 backports 3 #21829

Merged
merged 8 commits into from
Dec 1, 2021
Merged

2.5.1 backports 3 #21829

merged 8 commits into from
Dec 1, 2021

Conversation

gsmet
Copy link
Member

@gsmet gsmet commented Nov 30, 2021

Please don't merge, I will merge it myself.

Sgitario and others added 8 commits November 30, 2021 20:51
The method `ClassInfo.annotations` only returns the annotations at the current class level.
This PR makes the parser method to also find the inherited annotations.
Fix quarkusio#21759

(cherry picked from commit b44601a)
The regexp group "distro" was greedy and was capturing the java version
as well.

(cherry picked from commit 2cfbd4f)
Bumps [gizmo](https://github.com/quarkusio/gizmo) from 1.0.9.Final to 1.0.10.Final.
- [Release notes](https://github.com/quarkusio/gizmo/releases)
- [Commits](quarkusio/gizmo@1.0.9.Final...1.0.10.Final)

---
updated-dependencies:
- dependency-name: io.quarkus.gizmo:gizmo
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
(cherry picked from commit 0797cb5)
Signed-off-by: Phillip Kruger <[email protected]>
(cherry picked from commit bc0b811)
…ted class

RestClient Reactive generates a `...$$CDIWrapper` class for each
RestClient interface, and creates an implementation of each
RestClient method. This leaves non-RestClient methods (`default`
methods) on the interface, which means that if they are annotated
with an interceptor binding, the interceptor is not invoked.
This is because interceptor bindings are not inherited from
superinterfaces, only from superclasses (and while ArC has some
support for intercepting `default` methods from superinterfaces,
it doesn't extends that far).

This PR doesn't attempt to support intercepting `default` methods
in general, because that's a gray area. Instead, it fixes how
RestClient Reactive generates the class for a RestClient interface
(because RestClient interfaces are special in that they may define
class-based beans if annotated `@RegisterRestClient`). In addition
to RestClient methods, `default` methods from the RestClient
interface are also copied to the generated class. (The "copy"
delegates to the `default` method inherited from the superinterface,
which had to be added to Gizmo, hence the Gizmo update.) That itself
is enough for interceptors to start working.

(cherry picked from commit 6b19e71)
@gsmet gsmet added the area/infra internal and infrastructure related issues label Nov 30, 2021
@gsmet gsmet self-assigned this Nov 30, 2021
@quarkus-bot quarkus-bot bot added area/amazon-lambda area/arc Issue related to ARC (dependency injection) area/core area/dependencies Pull requests that update a dependency file area/oidc area/qute The template engine area/rest labels Nov 30, 2021
@gsmet gsmet merged commit f7747a4 into quarkusio:2.5 Dec 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/amazon-lambda area/arc Issue related to ARC (dependency injection) area/core area/dependencies Pull requests that update a dependency file area/infra internal and infrastructure related issues area/oidc area/qute The template engine area/rest
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants