Hello Kotlin/Native с использованием Gradle
| Последнее обновление | 15 января 2020 |
Обзор того, как компилировать приложения Kotlin/Native с использованием Gradle.
Создание проекта Kotlin/Native с Gradle
Gradle — это система сборки, которая широко используется в экосистемах Java, Android и других. Это стандартный выбор для Kotlin/Native и Multiplatform в отношении систем сборки.
Хотя большинство IDE, включая IntelliJ IDEA, могут генерировать соответствующий файл Gradle, мы рассмотрим, как создать его вручную, чтобы лучше понять, как работают вещи под капотом. Если вы хотите использовать IDE, ознакомьтесь со статьей Использование IntelliJ IDEA.
Gradle поддерживает два языка для скриптов сборки:
- Скрипты Groovy в файлах
build.gradle - Скрипты Kotlin в файлах
build.gradle.kts
Язык Groovy — это первый поддерживаемый язык сценариев для Gradle, он использует возможности динамической типизации и функций выполнения языка. Также возможно использовать Kotlin в скриптах Gradle. Как язык со статической типизацией, он лучше взаимодействует с IDE в отношении компиляции и обнаружения ошибок.
Можно использовать любой из них, и примеры покажут синтаксис для обоих языков.
Первый шаг — создать папку проекта. Внутри нее создайте файл build.gradle build.gradle.kts файла сборки Gradle со следующим содержимым:
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.21'
}
repositories {
mavenCentral()
}
kotlin {
macosX64("native") {
binaries {
executable()
}
}
}
wrapper {
gradleVersion = "5.3.1"
distributionType = "ALL"
}
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.21'
}
repositories {
mavenCentral()
}
kotlin {
linuxX64("native") {
binaries {
executable()
}
}
}
wrapper {
gradleVersion = "5.3.1"
distributionType = "ALL"
}
plugins {
id 'org.jetbrains.kotlin.multiplatform' version '1.3.21'
}
repositories {
mavenCentral()
}
kotlin {
mingwX64("native") {
binaries {
executable()
}
}
}
wrapper {
gradleVersion = "5.3.1"
distributionType = "ALL"
}
plugins {
kotlin("multiplatform") version "1.3.21"
}
repositories {
mavenCentral()
}
kotlin {
macosX64("native") {
binaries {
executable()
}
}
}
tasks.withType<Wrapper> {
gradleVersion = "5.3.1"
distributionType = Wrapper.DistributionType.ALL
}
plugins {
kotlin("multiplatform") version "1.3.21"
}
repositories {
mavenCentral()
}
kotlin {
linuxX64("native") {
binaries {
executable()
}
}
}
tasks.withType<Wrapper> {
gradleVersion = "5.3.1"
distributionType = Wrapper.DistributionType.ALL
}
plugins {
kotlin("multiplatform") version "1.3.21"
}
repositories {
mavenCentral()
}
kotlin {
mingwX64("native") {
binaries {
executable()
}
}
}
tasks.withType<Wrapper> {
gradleVersion = "5.3.1"
distributionType = Wrapper.DistributionType.ALL
}
Подготовленные исходные файлы проекта можно загрузить напрямую с GitHub. GitHub. GitHub. GitHub. GitHub. GitHub.
Далее создайте пустой файл settings.gradle.kts settings.gradle в папке проекта.
В зависимости от целевой платформы используются разные функции, например, macosX64, mingwX64, linuxX64, iosX64, для создания целевого Kotlin. Имя функции соответствует платформе, для которой компилируется код. Эти функции необязательно принимают имя целевой платформы в качестве параметра, которое в нашем случае равно "native". Указанное *имя целевой платформы* используется для генерации путей к исходным файлам и имен задач в проекте.
По соглашению все исходные файлы находятся в папках src/<target name>[Main|Test]/kotlin, где main для исходного кода и test для тестов. <target name> соответствует целевой платформе (в данном случае native), как указано в файле сборки.
Создайте папку src/nativeMain/kotlin и внутри нее поместите файл hello.kt со следующим содержимым:
fun main() {
println("Hello Kotlin/Native!")
}
Сборка проекта
Из корневой папки проекта выполните сборку, выполнив
gradle nativeBinaries
Это должно создать папку build/native/bin с двумя подпапками debugExecutable и releaseExecutable с соответствующим бинарником. По умолчанию бинарник имеет то же имя, что и папка проекта.
Открытие проекта в IDE
Любая IDE, поддерживающая Gradle, должна позволить открыть проект в IDE. В случае IntelliJ IDEA просто откройте папку проекта, и она автоматически распознает ее как проект Kotlin/Native.
Что дальше?
Узнайте о проектах multiplatform.
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/tutorials/native/using-gradle.html