Sean Keane
03/06/2020, 11:32 AMimport org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.*
group = "org.example"
version = "1.0-SNAPSHOT"
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.multiplatform")
id("org.jetbrains.kotlin.native.cocoapods")
}
kotlin {
/* Targets configuration omitted.
* To find out how to configure the targets, please follow the link:
* <https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html#setting-up-targets> */
js() {
browser {
dceTask {
keep("ktor-ktor-io.\$\$importsForInline\$\$.<http://ktor-ktor-io.io.ktor.utils.io|ktor-ktor-io.io.ktor.utils.io>")
keep("multiplatform-lib")
}
webpackTask {
mode = Mode.PRODUCTION
sourceMaps = false
}
}
}
android()
sourceSets {
val commonMain by getting {
dependencies {
implementation(kotlin("stdlib-common"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-common:${Versions.coroutinesCore}")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:${Versions.serializationCommon}")
implementation("io.ktor:ktor-client-core:${Versions.ktor}")
implementation("io.ktor:ktor-client-json:${Versions.ktor}")
implementation("io.ktor:ktor-client-serialization:${Versions.ktor}")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jsMain by getting {
dependencies {
implementation(kotlin("stdlib-js"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-js:${Versions.coroutinesCore}")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:${Versions.serializationCommon}")
implementation("io.ktor:ktor-client-js:${Versions.ktor}")
implementation("io.ktor:ktor-client-json-js:${Versions.ktor}")
implementation("io.ktor:ktor-client-serialization-js:${Versions.ktor}")
api(npm("text-encoding"))
api(npm("bufferutil"))
api(npm("utf-8-validate"))
api(npm("abort-controller"))
api(npm("fs"))
}
}
val jsTest by getting {
}
}
}
android {
compileSdkVersion(App.compileSdk)
sourceSets {
getByName("main") {
manifest.srcFile("src/androidMain/AndroidManifest.xml")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
packagingOptions {
exclude("META-INF/*")
}
}
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:${Versions.coroutinesCore}")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-runtime:${Versions.serializationCommon}")
implementation("io.ktor:ktor-client-android:${Versions.ktor}")
implementation("io.ktor:ktor-client-json-jvm:${Versions.ktor}")
implementation("io.ktor:ktor-client-serialization-jvm:${Versions.ktor}")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {
kotlinOptions.freeCompilerArgs += "-Xopt-in=kotlin.RequiresOptIn"
kotlinOptions.jvmTarget = "1.8"
}
Kris Wong
03/06/2020, 1:55 PMSean Keane
03/06/2020, 1:56 PMKris Wong
03/06/2020, 2:00 PMSean Keane
03/06/2020, 2:01 PMKris Wong
03/06/2020, 2:01 PMSean Keane
03/06/2020, 2:01 PMKris Wong
03/06/2020, 2:02 PMSean Keane
03/06/2020, 2:03 PMKris Wong
03/06/2020, 2:03 PMSean Keane
03/06/2020, 2:03 PMKris Wong
03/06/2020, 2:04 PMSean Keane
03/06/2020, 2:05 PMKris Wong
03/06/2020, 2:05 PMSean Keane
03/06/2020, 2:07 PMKris Wong
03/06/2020, 2:07 PMSean Keane
03/06/2020, 2:07 PMKris Wong
03/06/2020, 2:08 PMSean Keane
03/06/2020, 2:08 PMKris Wong
03/06/2020, 2:08 PMSean Keane
03/06/2020, 2:08 PMpublishToMavenLocal
currentlyKris Wong
03/06/2020, 2:08 PMpublishToMavenLocal
mavenLocal()
in the consumer reposSean Keane
03/06/2020, 2:09 PMKris Wong
03/06/2020, 2:09 PMSean Keane
03/06/2020, 2:09 PMKris Wong
03/06/2020, 2:09 PMSean Keane
03/06/2020, 2:17 PMKris Wong
03/06/2020, 2:30 PMSean Keane
03/06/2020, 2:34 PMpublishLibraryVariants("release", "debug")
java.lang.NoSuchFieldError: No field Companion of type Lkotlinx/serialization/json/Json$Companion; in class Lkotlinx/serialization/json/Json;
I've tried cleaning and reimporting everything to no avail.Kris Wong
03/06/2020, 5:02 PMSean Keane
03/06/2020, 5:03 PMKris Wong
03/06/2020, 5:04 PMSean Keane
03/06/2020, 5:07 PMobject Versions {
const val gradle = "3.6.0"
const val kotlin = "1.3.70"
const val ktor = "1.3.1"
const val coroutinesCore = "1.3.4"
const val serializationCommon = "0.20.0"
const val cocoapodVersion = "1.8.0"
const val lifecycleVersion = "2.2.0-rc03"
const val multiplatformSettingsVersion = "0.5"
/* TEST */
const val junit = "4.12"
}
Kris Wong
03/06/2020, 5:14 PMSean Keane
03/06/2020, 5:26 PMKris Wong
03/06/2020, 5:27 PMSean Keane
03/06/2020, 5:28 PMbuildscript {
ext.kotlin_version = '1.3.70'
repositories {
google()
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Kris Wong
03/06/2020, 5:31 PMSean Keane
03/06/2020, 5:32 PM