Gradle Kotlin Native - 您没有指定任何编译参数。没有产生输出
Gradle Kotlin Native - You have not specified any compilation arguments. No output has been produced
我对 Gradle 和 Kotlin Native 还很陌生。我想设置我的 build.gradle 以便我可以使用 Native 来编译我的代码。我正在使用 Konan 插件来执行此操作。当我在 konanArtifacts.program.srcFiles 中硬编码我的 class 时,它工作正常。但很明显,如果我添加更多 classes,我将不得不添加到 srcFiles 的路径,而我不需要(也不应该)这样做。所以我四处寻找一种方法来添加我自动添加的任何 classes,并且我尝试了 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
}
}
源集是 Java 世界和 Java 插件的一部分,因此 Kotlin/Native 插件避免使用它们来独立于 Java。但是你仍然可以编译一堆类,只需指定srcDir
参数:
konanArtifacts {
program('client-' + version) {
srcDir 'src/main/kotlin/'
}
}
另请注意,src/main/kotlin/
是默认源路径。所以如果你只使用这个路径,你不需要明确指定它。你可以只写:
konanArtifacts {
program('client-' + version)
}
我对 Gradle 和 Kotlin Native 还很陌生。我想设置我的 build.gradle 以便我可以使用 Native 来编译我的代码。我正在使用 Konan 插件来执行此操作。当我在 konanArtifacts.program.srcFiles 中硬编码我的 class 时,它工作正常。但很明显,如果我添加更多 classes,我将不得不添加到 srcFiles 的路径,而我不需要(也不应该)这样做。所以我四处寻找一种方法来添加我自动添加的任何 classes,并且我尝试了 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
}
}
源集是 Java 世界和 Java 插件的一部分,因此 Kotlin/Native 插件避免使用它们来独立于 Java。但是你仍然可以编译一堆类,只需指定srcDir
参数:
konanArtifacts {
program('client-' + version) {
srcDir 'src/main/kotlin/'
}
}
另请注意,src/main/kotlin/
是默认源路径。所以如果你只使用这个路径,你不需要明确指定它。你可以只写:
konanArtifacts {
program('client-' + version)
}