eclipse-platform / eclipse-platform/eclipse.platform

Leverage "Foreign Function & Memory API"

Offen
#301 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
future ideas
Vorherrschende Sprache
Java
Sterne
165
Forks
174
Ø Merge
2 T. 8 Std.
Gemergte PRs (30 T.)
22

Beschreibung

Currently especially the resource-api uses some specialized smaller JNI access e.g. for setting file-access (linux/mac) or watch directories (windows).

The upcoming [Project Panama](https://openjdk.java.net/projects/panama/) aims at a close integration of java and native code as an alternative for hand-crafted JNI code.

One very interesting part is the [jextract](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md) tool as part of JDK19.

This is based on the [JEP 412: Foreign Function & Memory API](https://openjdk.java.net/jeps/412) already part of Java-17.

Even though I don't know if Java 17 is yet an option (@akurtakov ?) and java 19 even a bit far away I'd like to bring the topic to platform right now so we can investigate and maybe improve and give feedback (e.g. can all relevant native APIs be parsed by jextract?), so hopefully in a glory future we no longer need to build native libraries and can use a pure java interface what will greatly improve the circle of people that could work in that area.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der Überprüfung der Bereiche von resource-api, die spezialisierten JNI-Zugriff für den Dateizugriff unter Linux/macOS und die Verzeichnisüberwachung unter Windows verwenden. Untersuche, ob die relevanten nativen APIs mit jextract und der Foreign Function & Memory API behandelt werden können, und dokumentiere die Ergebnisse sowie potenzielles Feedback; das Issue definiert kein konkretes Implementierungsziel.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
operating-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.