-
Notifications
You must be signed in to change notification settings - Fork 34
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
Official Google Support for GraalVM compilation #41
Comments
Hi dzou , If I understand, you seek for support for all users, it's wonderful, but in this case you cannot rely on Quarkus specific libraries like As soon as you have native support for some service, we can test it with the Maybe we can have a chat, we can get in touch in Quarkus Zulip chat or you can contact me by email so we can arrange something next week. I can already think of multiple enhancements, not necessarily via specific GraalVM support, for example DefaultHttpTransportFactorySubstitution could be refactored to not have a hard dependencies on AppEngine code so the substitution will no longuer be needed. This is the kind of work that can only be done upstream. Some info you need to know:
|
Hi Loic, Thank you for the response. I see, we would be happy to see if we can make some of these upstream changes happen. From how we observed best practices from the Spring team it looked like contributing back code to be native image compatible is often the best practice! We had some success making some code changes to the Netty libraries which went through so I think we can do the same if there are changes needed by some Google Cloud libraries as well. Sure, we would be happy to chat! I'll reach out to you on Zulip. Many thanks. Dan |
Going to close this after our discussions. Thanks for your time; we'll be in touch! |
Hello!
My name is Dan and I'm one of the engineers looking into getting GraalVM compilation working for Java Google Client Libraries, across different frameworks like Quarkus, Spring, Micronaut, etc. I was excited to see that you were pursuing an effort here for Quarkus and wanted to give you a heads-up on our work. Perhaps the work we've done so far can help you or vice versa.
We started a project very recently here: https://github.com/GoogleCloudPlatform/google-cloud-graalvm-support
We recently were able to get a Quarkus app working here for the Pub/Sub libraries; you might find this interesting: https://github.com/GoogleCloudPlatform/google-cloud-graalvm-support/tree/master/google-cloud-graalvm-samples/quarkus-pubsub-sample
Our goal for Quarkus is to allow the user to enable compilation just by adding these deps:
I saw we actually had the same approach for some things so far; one example is in the Storage APIs where we saw that you registered the subclasses of some parent classes for reflection recursively; we did the same thing! We are slowly in the process of building reflection configs for different libraries (I think you are ahead of us). However, if you are interested, we would be willing to explore if it's possible to combine our work so we do not duplicate our efforts.
One difference between our work I saw is that we're currently targeting support towards users using the
grpc-netty-shaded
dependency. I noticed it seemed like you are excludinggrpc-netty-shaded
and relying ongrpc-netty
. Indeed we also had some trouble gettinggrpc-netty-shaded
to work for us. However we ended up trying to targetgrpc-netty-shaded
because we thought it would allow users to avoid the dependency exclusion.Just wanted to say hello and give a heads up!
cc/ @meltsufin
The text was updated successfully, but these errors were encountered: