Зависимости мультиплатформенного проекта Kotlin

#kotlin #dependencies #repository #kotlin-multiplatform

Вопрос:

Что я делаю не так, я просто хочу добавить зависимости в свой мультиплатформенный проект (на данный момент только windows): я просто добавил несколько примеров репозитория и зависимостей.

 plugins {
kotlin("multiplatform") version "1.5.0"
kotlin("plugin.serialization") version "1.5.0"
}

kotlin {
    allprojects {
        repositories {
            mavenCentral()
            google()
            jcenter()
            maven { setUrl("https://jitpack.io") }
        }
    }
    sourceSets {
        commonMain {
            dependencies {
                implementation("com.squareup.okhttp3:okhttp:4.9.1")
                implementation("io.ktor:ktor-server-netty:1.5.4")
                implementation("io.ktor:ktor-server-core:1.5.4")
            }
        }
    }
}

kotlin {
    mingwX64("native") {
        binaries {
            executable()
        }
    }
}

tasks.withType<Wrapper> {
    gradleVersion = "7.0.1"
    distributionType = Wrapper.DistributionType.ALL
}
 

Исход:
Выход

Ответ №1:

Я бы предположил, что ни одна из этих зависимостей на самом деле не доступна для Windows. Вам понадобятся зависимости ktor, совместимые с Windows (и я бы пока придерживался Kotlin 1.4.32 против 1.5 из-за kotlinx.сопрограммы).

Конфигурация Ktor для Windows, вероятно, похожа на эту, но я никогда не делал этого для Windows.

 sourceSets {
    commonMain {
        dependencies {
            implementation "io.ktor:ktor-client-core:$ktor_version"
        }
    }
    mingwX64Main {
        dependencies {
            implementation "io.ktor:ktor-client-curl:$ktor_version"
        }
    }
}