Redesign jextract-swift: plugins and avoid custom swift features
We now heavily rely on Swift thunk generation and call into those C
calling convention compatible APIs from Java. They translate into member
calls on classes -- this way we'll be able to also do structs and other
things.
This also introduces gradle to "drive" the swift package jextract
plugin. This allows us for samples to be a plain ./gradlew run,
and no more manual running of any make or other swift interface
generation steps etc.
This is a big milestone towards getting "just works" builds with the
jextract route.
Follow ups will handle more java library path handling and more types of
calls we can make, like variables, and importing structs etc.
Redesign jextract-swift: plugins and avoid custom swift features
We now heavily rely on Swift thunk generation and call into those C calling convention compatible APIs from Java. They translate into member calls on classes -- this way we'll be able to also do structs and other things.
This also introduces gradle to "drive" the
swift package jextract
plugin. This allows us for samples to be a plain./gradlew run
, and no more manual running of any make or other swift interface generation steps etc.This is a big milestone towards getting "just works" builds with the jextract route.
Follow ups will handle more java library path handling and more types of calls we can make, like variables, and importing structs etc.