ArnauAregall / graalvm-reachability-metadata

Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GraalVM Reachability Metadata Repository

When you use GraalVM Native Image to build a native executable it only includes the elements reachable from your application entry point, its dependent libraries, and the JDK classes discovered through static analysis. However, the reachability of some elements (such as classes, methods, or fields) may not be discoverable due to Java’s dynamic features including reflection, resource access, dynamic proxies, and serialization. If an element is not reachable, it is not included in the generated executable and this can lead to run time failures. To include elements whose reachability is undiscoverable, the Native Image builder requires externally provided reachability metadata.

The GraalVM Reachability Metadata Repository enables Native Image users to share and reuse metadata for libraries and frameworks in the Java ecosystem, and thus simplify maintaining third-party dependencies. The repository is integrated with GraalVM Native Build Tools beginning with version 0.9.13: you can enable automatic use of the metadata repository for Gradle projects or for Maven projects.

Contributing

We welcome contributions from the community. Before submitting a pull request, please review our contribution guide.

Tested Libraries and Frameworks

We track the libraries and frameworks that are tested with GraalVM Native Image. If you would like to see your library/framework in the list too, please open a pull request and extend this JSON file. Before submitting a pull request, please read this guide.

About

Repository which contains community-driven collection of GraalVM reachability metadata for open-source libraries.

License:Creative Commons Zero v1.0 Universal


Languages

Language:Java 97.8%Language:Groovy 1.5%Language:Kotlin 0.4%Language:Shell 0.3%