You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.9 KiB

import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile
group "com.example"
version "1.0-SNAPSHOT"
allprojects {
repositories {
google()
mavenCentral()
maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
// mavenLocal()
}
afterEvaluate {
val project = this
val compilerPluginVersion = project.properties["compose.kotlinCompilerPluginVersion"] as? String
val kotlinVersion = project.properties["kotlin.version"] as? String
project.extensions.findByType<org.jetbrains.compose.ComposeExtension>()?.also {
if (!compilerPluginVersion.isNullOrEmpty()) {
println("${project.name} is using compilerPluginVersion = $compilerPluginVersion")
it.kotlinCompilerPlugin.set(compilerPluginVersion)
it.kotlinCompilerPluginArgs.add("suppressKotlinVersionCompatibilityCheck=$kotlinVersion")
}
}
tasks.withType<KotlinJsCompile>().configureEach {
kotlinOptions.freeCompilerArgs += listOf(
"-Xklib-enable-signature-clash-checks=false",
)
}
// disable partial-linkage to test that k/native and k/js don't produce unused unbound symbols
tasks.withType<KotlinCompile<*>>().configureEach {
kotlinOptions.freeCompilerArgs += "-Xpartial-linkage=disable"
}
}
disableYarnLockMismatchReport()
}
plugins {
kotlin("multiplatform") apply false
id("org.jetbrains.compose") apply false
}
fun Project.disableYarnLockMismatchReport() {
plugins.withType<org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin> {
the<org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension>().apply {
yarnLockMismatchReport = org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockMismatchReport.NONE
}
}
}