Skip to content

Commit be428df

Browse files
committed
Make the README.md simple and clear
1 parent 7d692d3 commit be428df

File tree

3 files changed

+30
-23
lines changed

3 files changed

+30
-23
lines changed

.github/ISSUE_TEMPLATE/01_support_new_library.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ description: Submit a request to add support for a third-party library
33
title: "Support for {maven_coordinates}"
44
labels:
55
- library-new-request
6+
- priority
67
assignees:
78
- kimeta
89
body:

.github/ISSUE_TEMPLATE/02_update_existing_library.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ description: Report a problem or request improvements for a library that is alre
33
title: "Update existing library: {maven_coordinates}"
44
labels:
55
- library-update-request
6+
- priority
67
assignees:
78
- vjovanov
89
body:

README.md

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
11
# GraalVM Reachability Metadata Repository
22

3-
This repository enables users of [GraalVM Native Image](https://www.graalvm.org/latest/reference-manual/native-image/) to share and reuse metadata for libraries and frameworks in the Java ecosystem.
4-
The repository is integrated with [GraalVM Native Build Tools](https://github.com/graalvm/native-build-tools) beginning with version `0.9.13`:
5-
you can enable automatic use of the metadata repository for [Gradle projects](https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html#metadata-support) or [Maven projects](https://graalvm.github.io/native-build-tools/latest/maven-plugin.html#metadata-support).
3+
This repository provides [reachability metadata](https://www.graalvm.org/latest/reference-manual/native-image/metadata/) that lets Java libraries and frameworks work out of the box with [GraalVM Native Image](https://www.graalvm.org/latest/reference-manual/native-image/).
64

7-
[This web page](https://www.graalvm.org/native-image/libraries-and-frameworks/) provides an overview of libraries and frameworks that are tested and thus ready for GraalVM Native Image.
8-
If you would like to see your library or framework in the list too, please open a pull request and extend [this JSON file](https://github.com/oracle/graalvm-reachability-metadata/blob/master/library-and-framework-list.json).
5+
To get out-of-the-box support, use the [GraalVM Gradle Plugin](https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html) or the [GraalVM Maven Plugin](https://graalvm.github.io/native-build-tools/latest/maven-plugin.html); they automatically use the [reachability metadata](https://www.graalvm.org/latest/reference-manual/native-image/metadata/) from this repository.
6+
7+
---
8+
9+
### 🔎 Check if Your Library or Framework Is Supported
10+
11+
To see whether your library or framework is supported, visit [this page](https://www.graalvm.org/native-image/libraries-and-frameworks/). It lists libraries and frameworks that are tested and ready for GraalVM Native Image.
12+
13+
If you’d like yours to appear there as well, open a pull request updating [this JSON file](https://github.com/oracle/graalvm-reachability-metadata/blob/master/library-and-framework-list.json).
914
Before submitting a pull request, please read [this guide](docs/CONTRIBUTING.md#tested-libraries-and-frameworks).
1015

11-
## Rationale
16+
### 📚 Request Support for a New Library
17+
18+
Open a [library-request ticket](https://github.com/oracle/graalvm-reachability-metadata/issues/new?template=01_support_new_library.yml), include the Maven coordinates, and our automation will take it from there (🤖).
19+
20+
### 🛠️ Request an Update to an Existing Library
21+
22+
Open an [update ticket](https://github.com/oracle/graalvm-reachability-metadata/issues/new?template=02_update_existing_library.yml) and include the Maven coordinates of the library that needs changes.
23+
24+
---
1225

13-
When you use Native Image to build native executables it only includes the elements reachable from your application entry point, its dependent libraries, and JDK classes discovered through static analysis.
14-
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.
15-
If an element is not reachable, it is not included in the generated executable at build time, which can lead to failures at run time.
16-
Native Image has built-in metadata for JDK classes but user code and dependencies may use dynamic features of Java that are undiscoverable by the Native Image analysis.
17-
For this reason, Native Image accepts additional [reachability metadata](https://www.graalvm.org/reference-manual/native-image/metadata/) in the form of JSON files.
18-
Since this metadata is specific to a specific code base, the JSON files providing the corresponding metadata can be shared for libraries and frameworks.
19-
This repository is a centralized place for sharing such files for libraries and frameworks that do not provide built-in metadata yet.
20-
It is also used to retrofit metadata for older versions of libraries and frameworks.
26+
### Contributing
2127

22-
If you are a library or framework maintainer, the best way to make your code ready for GraalVM Native Image is to provide reachability metadata as part of your JARs.
23-
Please visit [this web page](https://www.graalvm.org/latest/reference-manual/native-image/metadata/) for more information.
28+
We welcome contributions from the community. Thank you!
2429

25-
## Contributing
30+
Before submitting a pull request, please [open a ticket](https://github.com/oracle/graalvm-reachability-metadata/issues/new?template=02_update_existing_library.yml), mark that you want to fix it yourself, and [review our contribution guide](docs/CONTRIBUTING.md).
2631

27-
We welcome contributions from the community.
28-
Before submitting a pull request, please [review our contribution guide](docs/CONTRIBUTING.md).
32+
### Further Information
2933

30-
## Further Information
34+
1. Continuous integration is described in [CI.md](docs/CI.md).
35+
2. Pull request review guidelines are in [REVIEWING.md](docs/REVIEWING.md).
36+
3. Development workflow is described in [DEVELOPING.md](docs/DEVELOPING.md).
3137

32-
1. Continuous integration is described in [CI.md](docs/CI.md).
33-
2. PR Reviewing guides are described in [REVIEWING.md](docs/REVIEWING.md).
34-
3. Development is described in [DEVELOPING.md](docs/DEVELOPING.md).
38+
---
39+
Built with love by the community and the [GraalVM](https://www.graalvm.org/), [Spring](https://spring.io/projects/spring-boot), and [Micronaut](https://micronaut.io/) teams.

0 commit comments

Comments
 (0)