buildscript { repositories { google() mavenCentral() mavenLocal() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath libs.android.tools.build classpath libs.android.dexcount classpath libs.kotlin.gradle.plugin classpath libs.kotlin.dokka.plugin classpath libs.github.release } } plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.kotlin.dokka) alias(libs.plugins.versions) alias(libs.plugins.nmcp.aggregation) } apply plugin: "com.android.library" apply from: "defaultAndroidSettings.gradle" apply from: "github_release.gradle" apply from: "publish.gradle" apply from: "dokka.gradle" if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != null) && (project.hasProperty('SONATYPE_PASSWORD') || System.getenv('SONATYPE_PASSWORD') != null)) { nmcpAggregation { centralPortal { username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER') password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD') validationTimeout = Duration.ofHours(4) publishingType = System.getenv('PUBLISHING_TYPE') != "" ? System.getenv('PUBLISHING_TYPE') : "USER_MANAGED" } publishAllProjectsProbablyBreakingProjectIsolation() } } project.version = "$version" project.group = "$group" repositories { mavenLocal() mavenCentral() google() } kotlin { jvm { compilations.main { kotlinOptions { jvmTarget = "1.8" } } } js(IR) { browser() nodejs() } androidTarget { publishAllLibraryVariants() compilations.all { kotlinOptions { jvmTarget = "17" } } } linuxArm64() linuxArm32Hfp() linuxX64() wasm { browser() nodejs() d8() } mingwX64() sourceSets { commonMain { dependencies { implementation libs.kotlin } } commonTest { dependencies { implementation libs.kotlin.test.common implementation libs.kotlin.test.annotations.common } } jvmTest { dependencies { implementation libs.kotlin.test.junit } } } } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 }