Skip to content

Latest commit

 

History

History
104 lines (87 loc) · 2.43 KB

File metadata and controls

104 lines (87 loc) · 2.43 KB

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
}