私はGradleとKotlin Nativeにかなり慣れていません。ネイティブを使用してコードをコンパイルできるように、build.gradle をセットアップしたいと考えています。これを行うには、Konan プラグインを使用しています。クラスを konanArtifacts.program.srcFiles にハードコーディングすると、うまくいきました。しかし、明らかにクラスを追加する場合は、srcFiles へのパスを追加する必要がありますが、その必要はありません (また、追加する必要もありません)。そこで、自動的に追加するクラスを追加する方法を見つけるためにあたりを見回し、sourceSets を試みました。しかし、compileKonanClientMingw タスクを実行しようとすると、gradle コンソールに次のように表示されます。
error: you have not specified any compilation arguments. No output has been produced.
sourceSets を正しく使用しているかどうかは完全にはわかりませんが、これは私が得た最も遠いもののようです。以下は私のbuild.gradleです
build.gradle:
buildscript {
ext.kotlin_version = '1.2.41'
ext.konan_version = '0.6'
repositories {
mavenCentral()
maven {
url "https://dl.bintray.com/jetbrains/kotlin-native-dependencies"
}
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:$konan_version"
}
}
plugins {
id 'java'
}
group 'net.dev909'
version '1.0'
apply plugin: 'kotlin'
apply plugin: 'konan'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
sourceSets.main.allSource.srcDir '/src/main/kotlin/'
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
konanArtifacts {
program('client-' + version) {
srcFiles sourceSets.main.runtimeClasspath
}
}