pub struct KotlinAndroidConfig {Show 17 fields
pub capsule_types: HashMap<String, HostCapsuleTypeConfig>,
pub shares_native_runtime: bool,
pub package: Option<String>,
pub namespace: Option<String>,
pub artifact_id: Option<String>,
pub group_id: Option<String>,
pub compile_sdk: Option<u32>,
pub min_sdk: Option<u32>,
pub jvm_target: Option<String>,
pub abis: Option<Vec<String>>,
pub serde_rename_all: Option<String>,
pub rename_fields: HashMap<String, String>,
pub exclude_functions: Vec<String>,
pub exclude_types: Vec<String>,
pub run_wrapper: Option<String>,
pub extra_lint_paths: Vec<String>,
pub features: Option<Vec<String>>,
}Expand description
Configuration for the dedicated Kotlin/Android backend (alef-backend-kotlin-android).
Distinct from crate::core::config::languages::KotlinConfig (Kotlin/JVM). When a crate targets the
kotlin_android language slug, this struct controls the emitted
build.gradle.kts, AndroidManifest.xml, namespace, Maven publish
coordinates, ABI list, and the bundled Java facade emitted into
src/main/java/ so the AAR is self-contained.
Fields§
§capsule_types: HashMap<String, HostCapsuleTypeConfig>Map of Rust type name -> host-native capsule (Language-passthrough) config.
When set, functions returning the type construct the host runtime’s native
Language (e.g. ktreesitter’s io.github.treesitter.ktreesitter.Language from a
native long pointer) instead of an opaque handle.
See crate::core::config::HostCapsuleTypeConfig.
Affirms every configured capsule wrapper uses the exact native runtime instance ~keep and ownership contract that produced its pointer. ~keep
package: Option<String>JVM-style package for Kotlin bindings (e.g. dev.sample_core).
Defaults to the crate name.
namespace: Option<String>Android library manifest namespace. Defaults to package.
artifact_id: Option<String>Maven artifactId for the generated AAR. Defaults to {crate}-android.
group_id: Option<String>Maven groupId for the generated AAR. No default — when unset the
emitter falls back to package.
compile_sdk: Option<u32>Android compile SDK level. Defaults to template_versions::toolchain::ANDROID_COMPILE_SDK.
min_sdk: Option<u32>Android min SDK level. Defaults to template_versions::toolchain::ANDROID_MIN_SDK.
jvm_target: Option<String>JVM bytecode target for Kotlin and Java compilation
(e.g. "17"). Defaults to template_versions::toolchain::ANDROID_JVM_TARGET.
abis: Option<Vec<String>>ABIs to scaffold under src/main/jniLibs/<abi>/. Defaults to
["arm64-v8a", "x86_64"].
serde_rename_all: Option<String>Override the serde rename_all strategy for JSON field names.
rename_fields: HashMap<String, String>Per-field name remapping for this language. Key is TypeName.field_name.
exclude_functions: Vec<String>Functions to exclude from generation.
exclude_types: Vec<String>Types to exclude from generation.
run_wrapper: Option<String>Prefix wrapper for default tool invocations.
extra_lint_paths: Vec<String>Extra paths to append to default lint commands.
features: Option<Vec<String>>Per-language feature override. When set, these features are used instead of
[crate] features for this language’s binding crate.
Trait Implementations§
Source§impl Clone for KotlinAndroidConfig
impl Clone for KotlinAndroidConfig
Source§fn clone(&self) -> KotlinAndroidConfig
fn clone(&self) -> KotlinAndroidConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KotlinAndroidConfig
impl Debug for KotlinAndroidConfig
Source§impl Default for KotlinAndroidConfig
impl Default for KotlinAndroidConfig
Source§fn default() -> KotlinAndroidConfig
fn default() -> KotlinAndroidConfig
Source§impl<'de> Deserialize<'de> for KotlinAndroidConfig
impl<'de> Deserialize<'de> for KotlinAndroidConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for KotlinAndroidConfig
impl JsonSchema for KotlinAndroidConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for KotlinAndroidConfig
impl RefUnwindSafe for KotlinAndroidConfig
impl Send for KotlinAndroidConfig
impl Sync for KotlinAndroidConfig
impl Unpin for KotlinAndroidConfig
impl UnsafeUnpin for KotlinAndroidConfig
impl UnwindSafe for KotlinAndroidConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more