gpt4 book ai didi

kotlin - 为 Kotlin Multiplatform 项目设置 gradle 和项目结构

转载 作者:行者123 更新时间:2023-12-03 05:24:20 35 4
gpt4 key购买 nike

我想用 Kotlin Multiplatform 构建一个在 Linux、Macos 和 Windows 上运行的 CLI 工具。

但我正在努力设置我的build.gradle和我的项目结构。我正在使用 IntelliJ IDEA 2020.1并使用 File -> New -> Project -> Kotlin / Native | Gradle 创建了我的基本项目

目前我正在浏览 kotlinlang.org 的指南但我更跌倒然后取得了一些成就。

到目前为止我的build.gradle如下所示:

plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.72'
}
repositories {
mavenCentral()
}
kotlin {
// For ARM, should be changed to iosArm32 or iosArm64
// For Linux, should be changed to e.g. linuxX64
// For MacOS, should be changed to e.g. macosX64
// For Windows, should be changed to e.g. mingwX64

linuxX64("linux") {

}
mingwX64("mingw") {

}
macosX64("macos") {
binaries {
executable {
// Change to specify fully qualified name of your application's entry point:
entryPoint = 'sample.main'
// Specify command-line arguments, if necessary:
runTask?.args('')
}
}
}

sourceSets {
commonMain {
kotlin.srcDir('src/main')
resources.srcDir('src/res')
dependencies {
implementation kotlin('stdlib-common')
implementation "com.github.ajalt:clikt-multiplatform:2.7.0"
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}

macosX64().compilations.test.defaultSourceSet {
dependsOn commonMain
}
// Note: To enable common source sets please comment out
'kotlin.import.noCommonSourceSets' property
// in gradle.properties file and re-import your project in IDE.
macosMain {
}
macosTest {
}
}
}

wrapper {
gradleVersion = "6.4.1"
distributionType = "ALL"
}

而且我的项目结构还是基本的:

Project structure

以前我只使用 Kotlin 处理 Android 项目,我想我被 gradle 宠坏了,因为 Android 生成了最基本的东西,而且一切都在工作而没有做那么多。

我知道我需要创建像 linuxMain 这样的包和 mingwMain ,但是我在哪里放置常见的源代码集?我试图创建一个名为 commonMain 的包,但它甚至不允许我在该包中创建 Kotlin 文件。

完成后,我希望(在最好的情况下)拥有一个公共(public)源集和一个用于所有目标的入口点。这甚至可能吗?

最佳答案

据我所知,您将 commonMain 源集的源位置指定为 /src/main/ .默认情况下,它通常设置为 /src/commonMain/kotlin/ .因此,如果您将删除那些 srcDir设置并在您的 /src/commonMain/kotlin/ 中创建一个 .kt 文件文件夹,一切都应该正常。另外,我希望你已经从你的 gradle.properties 中删除了 'kotlin.import.noCommonSourceSets' 属性。正如您的脚本推荐的那样。

关于kotlin - 为 Kotlin Multiplatform 项目设置 gradle 和项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62067258/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com