2.4 KiB
2.4 KiB
Module kotlin-gradle-plugin
kotlin-gradle-plugin artifact provides multiple plugins.
kotlin
How to apply:
apply plugin: 'kotlin'
Tasks:
| Name | Type | Description |
|---|---|---|
| compileKotlin | [KotlinJvmCompile] | A task is created for main source set |
| compileTestKotlin | [KotlinJvmCompile] | A task is created for test source set |
| compileSourceSetNameKotlin | [KotlinJvmCompile] | A task is created for each additional source set |
Each [KotlinJvmCompile] task provides kotlinOptions ([KotlinJvmOptions]) extension:
compileKotlin {
kotlinOptions {
noStdlib = true
}
// kotlinOptions.noStdlib = true
}
kotlin-android
A plugin that should be used for Android development.
How to apply:
apply plugin: 'kotlin-android'
Tasks:
| Name | Type | Description |
|---|---|---|
| compileVariantNameKotlin | [KotlinJvmCompile] | A task is created for each variant |
Note that tasks are created after evaluation, so all references to tasks should be done in afterEvaluate section:
afterEvaluate {
compileDebugKotlin {
kotlinOptions {
noStdlib = true
}
}
}
Android plugin also adds kotlinOptions extension to android section to set options for all kotlin tasks:
android {
kotlinOptions {
noStdlib = true
}
}
Task's kotlinOptions "override" ones in android section:
android {
kotlinOptions {
noStdlib = true
}
}
afterEvaluate {
compileDebugKotlin {
kotlinOptions {
noStdlib = false
}
}
}
// compileProductionKotlin.noStdlib == true
// compileDebugKotlin.noStdlib == false
kotlin2js
How to apply:
apply plugin: 'kotlin2js'
Tasks:
| Name | Type | Description |
|---|---|---|
| compileKotlin2Js | [KotlinJsCompile] | A task is created for main source set |
| compileTestKotlin2Js | [KotlinJsCompile] | A task is created for test source set |
| compileSourceSetNameKotlin2Js | [KotlinJsCompile] | A task is created for each additional source set |
Each [KotlinJsCompile] task provides kotlinOptions ([KotlinJsOptions]) extension:
compileKotlin2Js {
kotlinOptions {
noStdlib = true
}
// kotlinOptions.noStdlib = true
}