Как использовать Kotlin в проектах AppEngine с помощью Gradle

Как говорится в названии, как я могу использовать Kotlin при разработке проектов AppEngine? Я использую IntelliJ/Android Studio с Gradle как инструмент сборки.

Ответ 1

Так как AppEngine выполняет скомпилированные файлы .class, все равно, какой язык JVM создал. Это означает, что мы можем использовать Kotlin.

Один из способов сделать это - использовать Gradle и Gradle плагин App Engine. Создайте проект с build.gradle, который выглядит как this. Затем добавьте зависимости Kotlin и примените плагин. Окончательный файл сборки выглядит примерно так:

buildscript {
    ext.kotlin_version = '1.0.6' //replace with latest Kotlin version
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.32' //Replace with latest GAE plugin version
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

repositories {
    mavenCentral();
}

apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.32' //Replace with latest GAE SDK version
    compile 'javax.servlet:servlet-api:2.5'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
}

Поскольку M11 вам не нужно иметь отдельный каталог для файлов Kotlin, вы можете просто добавить свои .kt файлы в src/main/java.