Changes experimental_event_loop from a Cargo feature to a runtime config. This also introduces a javy_plugin_api::Config that wraps the javy::Config so we can add configuration options that only affect the javy_plugin_api crate behaviour and that don't inherently change how the javy::Runtime behave (that's why I didn't add it to javy::Config). Since we change the type that needs to be passed for initialize_runtime, I've bumped the javy-plugin-api version by a major version. We have minimal users of the plugin API crate so the impact should be limited.
Why am I making this change?
This should simplify the build and test infrastructure since we only need to build one artifact for the plugin and the CLI tests instead of two plugins. This should also help with cacheability of build artifacts. This will also make it easier to use the event loop functionality.
Checklist
[x] I've updated the relevant CHANGELOG files if necessary. Changes to javy-cli and javy-plugin do not require updating CHANGELOG files.
Description of the change
Changes
experimental_event_loop
from a Cargo feature to a runtime config. This also introduces ajavy_plugin_api::Config
that wraps thejavy::Config
so we can add configuration options that only affect thejavy_plugin_api
crate behaviour and that don't inherently change how thejavy::Runtime
behave (that's why I didn't add it tojavy::Config
). Since we change the type that needs to be passed forinitialize_runtime
, I've bumped thejavy-plugin-api
version by a major version. We have minimal users of the plugin API crate so the impact should be limited.Why am I making this change?
This should simplify the build and test infrastructure since we only need to build one artifact for the plugin and the CLI tests instead of two plugins. This should also help with cacheability of build artifacts. This will also make it easier to use the event loop functionality.
Checklist
javy-cli
andjavy-plugin
do not require updating CHANGELOG files.