fun renderKmpGradleBuild()

in smithy-kotlin-codegen/src/main/kotlin/software/amazon/smithy/kotlin/codegen/rendering/GradleGenerator.kt [84:128]


fun renderKmpGradleBuild(
    writer: CodeWriter,
    isRootModule: Boolean,
    dependencies: List<KotlinDependency>,
    pluginsRenderer: InlineCodeWriter,
    repositoryRenderer: InlineCodeWriter,
    annotationRenderer: InlineCodeWriter
) {
    writer.write(
        """
        plugins {
            #W
        }  
        #W
        
        kotlin {
            #W
            sourceSets {
                val commonMain by getting {
                    dependencies {
                        #W
                    }
                }
                val commonTest by getting {
                    dependencies {
                        #W
                    }
                }
            }
            val optInAnnotations = listOf(
                #W
            )
            kotlin.sourceSets.all {
                optInAnnotations.forEach { languageSettings.optIn(it) }
            }
        }
        """.trimIndent(),
        pluginsRenderer,
        { w: CodeWriter -> if (isRootModule) repositoryRenderer(w) },
        { w: CodeWriter -> if (isRootModule) renderRootJvmPluginConfig(w) else w.write("jvm()") },
        { w: CodeWriter -> renderDependencies(w, scope = Scope.SOURCE, isKmp = true, dependencies = dependencies) },
        { w: CodeWriter -> renderDependencies(w, scope = Scope.TEST, isKmp = true, dependencies = dependencies) },
        annotationRenderer
    )
}