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.
52 lines
1.9 KiB
52 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 |
|
} |
|
} |
|
}
|
|
|