- Removes the `ExtismContext` type from runtime and all SDKs - Removed SDK functions: `extism_context_new`, `extism_context_reset`, `extism_context_free` - All SDKs have been updated, but there are still some TODOs below - Removes `extism_plugin_update` - Plugins can no longer be updated - a new plugin should be created instead - Adds `extism_plugin_id` to uniquely identify plugins - Merges the `extism-runtime` and `extism` crates (there is no longer an `extism-runtime` crate) - Makes `extism::Manifest` an alias for `extism_manifest::Manifest` instead of a distinct type - Adds `MemoryHandle` type to SDKs to refer to blocks of Extism memory that can be accessed in host functions - Improves thread-safety of Plugins, adds C++ test to call a single plugin from multiple threads. - Expands wasmtime bounds to include 12.0
Extism Java-SDK
Java SDK for the extism WebAssembly Plugin-System.
Build
To build the extism java-sdk run the following command:
mvn clean verify
Usage
To use the extism java-sdk you need to add the org.extism.sdk dependency to your dependency management and ensure that
the native extism library is installed on your system. For installing the native library refer to the extism documentation.
Instead of installing the native library on your system, you can also download the appropriate library for your platform
yourself.
To do that simply download the extism release to a folder and run your java application with the system property -Djna.library.path=/path/to/folder.
Maven
To use the extism java-sdk with maven you need to add the following dependency to your pom.xml file:
<dependency>
<groupId>org.extism.sdk</groupId>
<artifactId>extism</artifactId>
<version>0.1.0</version>
</dependency>
Gradle
To use the extism java-sdk with maven you need to add the following dependency to your build.gradle file:
implementation 'org.extism.sdk:extism:0.1.0'