Spec-Zone.ru › Kotlin 1.4

Ознакомьтесь со своим проектом

Ознакомьтесь с основными частями вашего многоплатформенного проекта:

  • Многоплатформенный плагин
  • Цели
  • Наборы исходных данных
  • Компиляции

Многоплатформенный плагин

При создании многоплатформенного проекта мастер проекта автоматически применяет плагин kotlin-multiplatform Gradle в файле build.gradle(.kts).

Вы также можете применить его вручную.

Плагин kotlin-multiplatform работает с Gradle 6.0 или более поздними версиями.

plugins {
    id 'org.jetbrains.kotlin.multiplatform' version '1.4.10'
}
plugins {
    kotlin("multiplatform") version "1.4.10"
}

Плагин kotlin-multiplatform настраивает проект для создания приложения или библиотеки, работающей на нескольких платформах, и подготавливает его для сборки на этих платформах.

В файле build.gradle(.kts) он создаёт расширение kotlin на верхнем уровне, которое включает конфигурацию для целей, наборов исходных данных и зависимостей.

Цели

Многоплатформенный проект нацелен на несколько платформ, которые представлены различными целями. Цель — это часть сборки, которая отвечает за сборку, тестирование и упаковку приложения для определённой платформы, например, macOS, iOS или Android. См. список поддерживаемых платформ.

При создании многоплатформенного проекта цели добавляются в блок kotlin в файле build.gradle (build.gradle.kts).

kotlin {
    jvm()    
    js {
        browser {}
    }
 }

Узнайте, как настроить цели вручную.

Наборы исходных данных

Проект включает директорию src с наборами исходных данных Kotlin, которые представляют собой коллекции файлов кода Kotlin, вместе с их ресурсами, зависимостями и настройками языка. Набор исходных данных может использоваться в компиляциях Kotlin для одной или нескольких целевых платформ.

Каждая директория набора исходных данных включает файлы кода Kotlin (директория kotlin) и resources. Мастер проекта создаёт стандартные наборы исходных данных для компиляций main и test общего кода и всех добавленных целей.

Source sets

Имена наборов исходных данных чувствительны к регистру.

Наборы исходных данных добавляются в блок sourceSets блока верхнего уровня kotlin.

kotlin {
    sourceSets {
        commonMain { /* ... */} 
        commonTest { /* ... */}
        jvmMain { /* ... */}
        jvmTest { /* ... */ }
        jsMain { /* ... */}
        jsTest { /* ... */}    
    }
}
kotlin {
    sourceSets {
        val commonMain by getting { /* ... */ }
        val commonTest by getting { /* ... */ }
        val jvmMain by getting { /* ... */ }
        val jvmTest by getting { /* ... */ } 
        val jsMain by getting { /* ... */ }
        val jsTest by getting { /* ... */ } 
    }
}

Наборы исходных данных образуют иерархию, используемую для совместного использования общего кода. В наборе исходных данных, используемом несколькими целями, можно использовать платформенно-специфические языковые возможности и зависимости, которые доступны для всех этих целей.

Например, все функции Kotlin/Native доступны в наборе исходных данных desktopMain, который нацелен на платформы Linux (linuxX64), Windows (mingwX64) и macOS (macosX64).

Hierarchical structure

Узнайте, как построить иерархию наборов исходных данных.

Компиляции

Каждая цель может иметь одну или несколько компиляций, например, для целей производства и тестирования.

Для каждой цели стандартные компиляции включают:

  • main и test компиляции для целей JVM, JS и Native.
  • Компиляция на каждый вариант сборки Android для целей Android.

Compilations

Каждая компиляция имеет стандартный набор исходных данных, содержащий исходные файлы и зависимости, специфичные для данной компиляции.

Узнайте, как настроить компиляции.

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/reference/mpp-discover-project.html

Spec-Zone.ru

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