This repository was archived by the owner on Dec 4, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 133
Cannot extend Kotlin DSL #374
Copy link
Copy link
Open
Description
With reference to #275 and #253
I am trying to create a simple extension to enable using r2bdc-migrate, my starting point it
class R2dbcMigrationDsl(private val init: R2dbcMigrationDsl.() -> Unit) : AbstractDsl() {
override fun initialize(context: GenericApplicationContext) {
super.initialize(context)
init()
val properties = r2dbcMigrationProperties()
R2dbcMigrationInitialiser(properties).initialize(context)
}
fun r2dbcMigrationProperties(): R2dbcMigrateProperties =
let { self ->
R2dbcMigrateProperties().apply {
}
}
}
fun R2dbcDsl.migrate(dsl: R2dbcMigrationDsl.() -> Unit = {}) {
R2dbcMigrationDsl(dsl).initialize(context)
}I have a compilation error at .initialize(context) because context is internal.
snip/migrate/R2dbcMigrationDsl.kt:29:39
Kotlin: Cannot access 'context': it is internal in 'R2dbcDsl'
I think the context needs to become more visible to allow for DSLs to extend and use the idiom that Kofu uses.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels