-
Notifications
You must be signed in to change notification settings - Fork 14
Change how Generated Clients are registered. #218
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
Conversation
It does not look like this supports "partial compilation" yet? That is, avaje-jsonb has |
oh so that's what that does |
do we also need a metadata annotation to make this work as well? I never actually understood their purpose in Jsonb. |
Yes. If there was no such thing as "partial compile" then we would not need the meta data annotations that we use for json and inject. The main purpose of those "meta annotations" is to support partial compilation where (typically via IDE) a compilation occurs that say only includes a new http client and does not include some http clients that already exist. For this compile, the processing reads the "meta annotations" (looks up meta-inf services file, finds that element, if exists reads those meta annotations) ... that this tells it that when it generates the GeneratedComponent to include those http clients that already exist. For jsonb we previously didn't need this because in theory we generated a meta-inf services entry per http client [but it looks to me like we have a bug there in that technically we should APPEND an entry in there for each http client and it looks like it OVERRIDES instead ... so it looks like we have a similar'ish bug in there today] |
I no longer get the |
Yes, it looks all good as I see it - I'll merge it in. I should be able to manually test partial compile via IntelliJ (I'll likely manually bump up some logging while I do that etc). Opps, dinner first ... |
HttpApiProvider
a functional interfaceGeneratedComponent
class that addsHttpApiProvider
s toDHttpApi
HttpClient
as well asHttpClientContext
.fixes #217
this is how the generated component looks