Spec-Zone.ru › Kotlin 1.7

Начало работы с Kotlin/Native с помощью Gradle

Gradle — это система сборки, которая широко используется в экосистемах Java, Android и других. Она является стандартным выбором для Kotlin/Native и Multiplatform в качестве системы сборки.

Хотя большинство IDE, включая IntelliJ IDEA, могут генерировать необходимые файлы Gradle, этот учебник описывает, как создавать их вручную, чтобы лучше понять, как всё работает внутри.

Для начала установите последнюю версию Gradle.

Если вы хотите использовать IDE, ознакомьтесь с учебником Использование IntelliJ IDEA.

Создание файлов проекта

  1. Создайте директорию проекта. Внутри неё создайте файл build.gradle или build.gradle.kts Gradle со следующим содержимым:

    // build.gradle.kts
    plugins {
        kotlin("multiplatform") version "1.7.20"
    }
    
    repositories {
        mavenCentral()
    }
    
    kotlin {
        macosX64("native") { // on macOS
        // linuxX64("native") // on Linux
        // mingwX64("native") // on Windows
            binaries {
                executable()
            }
        }
    }
    
    tasks.withType<Wrapper> {
        gradleVersion = "6.7.1"
        distributionType = Wrapper.DistributionType.BIN
    }
    
    // build.gradle
    plugins {
        id 'org.jetbrains.kotlin.multiplatform' version '1.7.20'
    }
    
    repositories {
        mavenCentral()
    }
    
    kotlin {
        macosX64('native') { // on macOS
        // linuxX64('native') // on Linux
        // mingwX64('native') // on Windows
            binaries {
                executable()
            }
        }
    }
    
    wrapper {
        gradleVersion = '6.7.1'
        distributionType = 'BIN'
    }
    

    Вы можете использовать различные пресеты целей, такие как macosX64, mingwX64, linuxX64, iosX64, для определения соответствующей целевой платформы. Название пресета описывает платформу, для которой вы компилируете свой код. Эти пресеты целей необязательно принимают имя цели в качестве параметра, которое в данном случае является native. Имя цели используется для генерации путей к исходным файлам и имён задач в проекте.

  2. Создайте пустой файл settings.gradle или settings.gradle.kts в директории проекта.

  3. Создайте директорию src/nativeMain/kotlin и поместите в неё файл hello.kt со следующим содержимым:

    fun main() {
        println("Hello, Kotlin/Native!")
    }
    

    По соглашению, все исходные файлы находятся в директориях src/<target name>[Main|Test]/kotlin, где main для исходного кода и test для тестов. <target name> соответствует целевой платформе (в данном случае native), как указано в файле сборки.

Теперь вы готовы собрать свой проект и запустить приложение.

Сборка и запуск приложения

  1. Из корневой директории проекта запустите команду сборки:

    gradle nativeBinaries
    

    Эта команда создаёт директорию build/bin/native с двумя директориями внутри: debugExecutable и releaseExecutable. Они содержат соответствующие двоичные файлы.

    По умолчанию имя двоичного файла совпадает с именем директории проекта.

  2. Для запуска проекта выполните следующую команду:

    build/bin/native/debugExecutable/<project_name>.kexe
    

    В терминале выводится «Hello, Kotlin/Native!».

Открытие проекта в IDE

Теперь вы можете открыть свой проект в любой IDE, которая поддерживает Gradle. Если вы используете IntelliJ IDEA:

  1. Выберите Файл | Открыть....

  2. Выберите директорию проекта и нажмите Открыть.
    IntelliJ IDEA автоматически распознает его как проект Kotlin/Native.

Если у вас возникнут проблемы с проектом, IntelliJ IDEA отобразит сообщение об ошибке на вкладке Сборка.

Что дальше?

Узнайте, как писать скрипты сборки Gradle для реальных проектов Kotlin/Native.

Последнее изменение: 07 апреля 2022
Начало работы с Kotlin/Native в IntelliJ IDEA Начало работы с Kotlin/Native с помощью компилятора командной строки

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/native-gradle.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API