Open bmorris591 opened 3 years ago
With reference to https://github.com/spring-projects-experimental/spring-fu/issues/275 and https://github.com/spring-projects-experimental/spring-fu/issues/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.
.initialize(context)
context
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.
there is a much larger issue to improve extensibility of Kofu/Jafu https://github.com/spring-projects-experimental/spring-fu/issues/360
With reference to https://github.com/spring-projects-experimental/spring-fu/issues/275 and https://github.com/spring-projects-experimental/spring-fu/issues/253
I am trying to create a simple extension to enable using r2bdc-migrate, my starting point it
I have a compilation error at
.initialize(context)
becausecontext
isinternal
.I think the
context
needs to become more visible to allow for DSLs to extend and use the idiom that Kofu uses.