Skip to content

Commit a2995f8

Browse files
Beta5 - fix visibility generation for Application entry point
1 parent fc14808 commit a2995f8

File tree

6 files changed

+12
-7
lines changed

6 files changed

+12
-7
lines changed

example-cmp/gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ lifecycleCompose = "2.9.2"
1212
coil = "3.2.0"
1313

1414
koin = "4.1.0"
15-
koin-annotations = "2.2.0-Beta4"
15+
koin-annotations = "2.2.0-Beta5"
1616
ksp = "2.1.21-2.0.2"
1717

1818
[libraries]

examples/gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# Core
66
kotlin = "2.1.21"
77
koin = "4.1.0"
8-
koinAnnotations = "2.2.0-Beta4"
8+
koinAnnotations = "2.2.0-Beta5"
99
ksp = "2.1.21-2.0.2"
1010
junit = "4.13.2"
1111
# Android

projects/gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ org.gradle.parallel=true
77
#Kotlin
88
kotlin.code.style=official
99
#Koin
10-
koinAnnotationsVersion=2.2.0-Beta4
10+
koinAnnotationsVersion=2.2.0-Beta5
1111
#Android
1212
android.useAndroidX=true
1313
androidMinSDK=14

projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/generator/ApplicationClassWriter.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package org.koin.compiler.generator
22

33
import com.google.devtools.ksp.processing.CodeGenerator
44
import com.google.devtools.ksp.processing.Resolver
5+
import org.koin.compiler.generator.ext.toSourceString
56
import org.koin.compiler.metadata.KoinMetaData
67
import org.koin.compiler.metadata.tag.TagResolver
78

@@ -17,6 +18,7 @@ class ApplicationClassWriter(
1718
}
1819

1920
val extensionBase = application.packageName+"."+application.name
21+
val visibility = application.visibility.toSourceString()
2022

2123
fun writeApplication() {
2224
fileStream = createFileStream()
@@ -34,13 +36,13 @@ class ApplicationClassWriter(
3436

3537
private fun writeConfigurationMap() {
3638
val configurationListString = application.configurations?.flatMap { configuration -> configuration.modules }?.distinct()?.let { generateIncludes(it) }
37-
writeln("val $extensionBase.configurationModules : List<Module> get() = listOf($configurationListString)")
39+
writeln("$visibility val $extensionBase.configurationModules : List<Module> get() = listOf($configurationListString)")
3840
}
3941

4042
private fun writeKoinConfigurationField() {
4143
val moduleIncludes = application.moduleIncludes?.let { "+ listOf(${generateIncludes(it)})" } ?: ""
4244
val configString = """
43-
fun $extensionBase.koinConfiguration(config : KoinAppDeclaration?=null) : KoinAppDeclaration = {
45+
$visibility fun $extensionBase.koinConfiguration(config : KoinAppDeclaration?=null) : KoinAppDeclaration = {
4446
includes(config)
4547
modules(configurationModules$moduleIncludes)
4648
}
@@ -52,7 +54,7 @@ class ApplicationClassWriter(
5254
private fun writeStartKoinFunction() {
5355
writeln("""
5456
@KoinApplicationDslMarker
55-
fun $extensionBase.startKoin(config : KoinAppDeclaration?=null) : KoinApplication {
57+
$visibility fun $extensionBase.startKoin(config : KoinAppDeclaration?=null) : KoinApplication {
5658
return KoinPlatformTools.defaultContext().startKoin(koinConfiguration(config))
5759
}
5860
""".trimIndent())
@@ -61,7 +63,7 @@ class ApplicationClassWriter(
6163
private fun writeKoinApplicationFunction() {
6264
writeln("""
6365
@KoinApplicationDslMarker
64-
fun $extensionBase.koinApplication(config : KoinAppDeclaration?=null) : KoinApplication {
66+
$visibility fun $extensionBase.koinApplication(config : KoinAppDeclaration?=null) : KoinApplication {
6567
return org.koin.dsl.koinApplication(koinConfiguration(config))
6668
}
6769
""".trimIndent())

projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/metadata/KoinMetaData.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ sealed class KoinMetaData {
3737
val name: String,
3838
val configurationTags: Set<ConfigurationTag> = defaultConfiguration(),
3939
val type: ModuleType = ModuleType.FIELD,
40+
val visibility: Visibility = Visibility.PUBLIC,
4041
val configurations : List<Configuration>? = null,
4142
val moduleIncludes: List<ModuleInclude>? = null
4243
) {

projects/koin-ksp-compiler/src/jvmMain/kotlin/org/koin/compiler/scanner/ApplicationScanner.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.koin.compiler.scanner
1717

18+
import com.google.devtools.ksp.getVisibility
1819
import com.google.devtools.ksp.processing.KSPLogger
1920
import com.google.devtools.ksp.symbol.*
2021
import org.koin.compiler.metadata.*
@@ -45,6 +46,7 @@ class ApplicationScanner(
4546
name = name,
4647
type = type,
4748
configurationTags = configurations,
49+
visibility = declaration.getVisibility(),
4850
moduleIncludes = includes
4951
)
5052
return applicationMetadata

0 commit comments

Comments
 (0)