Harish G
09/23/2026, 7:23 AMInternalSerializationApi at the project level in a Kotlin Multiplatform project?
`This declaration is opt-in and its usage should be marked with @kotlinx.serialization.InternalSerializationApi or `@OptIn(markerClass = kotlinx.serialization.InternalSerializationApi.class)``
Currently, adding this at the file level works:
@file:OptIn(InternalSerializationApi::class)
But I don’t want to add it to every file.
Is there a way to apply this globally across all KMP source sets/project files? i tried it in project level but it not work for me.
kotlin {
sourceSets.all {
languageSettings.optIn("kotlin.experimental.ExperimentalObjCName")
languageSettings.optIn("kotlin.time.ExperimentalTime")
languageSettings.optIn("kotlinx.serialization.InternalSerializationApi")
languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi")
}
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
optIn.add("kotlinx.serialization.InternalSerializationApi")
optIn.add("kotlinx.serialization.ExperimentalSerializationApi")
}
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask<*>>().configureEach {
compilerOptions {
freeCompilerArgs.add("-opt-in=kotlinx.serialization.InternalSerializationApi")
freeCompilerArgs.add("-opt-in=kotlinx.serialization.ExperimentalSerializationApi")
}
}tapchicoma
09/23/2026, 7:48 AMkotlin.compilerOptions.optIn.add("") should work - what problem do you see?Harish G
09/23/2026, 8:53 AMtapchicoma
09/23/2026, 9:20 AM