-
Notifications
You must be signed in to change notification settings - Fork 19
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
Make cel-java work in Graal native images #23
Conversation
Note: includes a commit from #22 |
/cc @nastra |
Codecov Report
@@ Coverage Diff @@
## main #23 +/- ##
============================================
+ Coverage 79.73% 79.75% +0.01%
- Complexity 1665 1670 +5
============================================
Files 89 91 +2
Lines 7388 7394 +6
Branches 1085 1084 -1
============================================
+ Hits 5891 5897 +6
Misses 1001 1001
Partials 496 496
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
thanks for the ping. will test+review tomorrow |
Introduces a Gradle plugin to scan the compiled classes and configuration-dependencies for classes that require an entry in `reflection-config.json`. With the generated `reflection-config.json` + `native-image.properties` the Graal `native-image` tool has enough information to allow reflection for google-protobuf generated files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for fixing
|
||
package org.projectnessie.cel.tools.plugins | ||
|
||
import org.gradle.api.Project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
finally some Kotlin code, yay!
The approach to make cel-java work in Graal native image files is to generate Graal native image meta files.
Introduces a Gradle plugin to scan the compiled classes and configuration-dependencies for classes that require an entry in
reflection-config.json
.With the generated
reflection-config.json
+native-image.properties
the Graalnative-image
tool has enough information to allow reflection for google-protobuf generated files.Splits the
generated
project intogenerated-pb
, which contains only the generated Java files for protobuf, andgenerated-antlr
, which only contains the generated Java files for the CEL parser.